VirtualBox

source: vbox/trunk/src/VBox/Main/webservice/websrv-wsdl-service.xsl@ 59858

Last change on this file since 59858 was 45483, checked in by vboxsync, 12 years ago

Main/glue+idl+webservice: move the type mapping XSLT include file to a central place, it is not webservice specific, and extend it slightly

  • Property svn:eol-style set to native
File size: 5.6 KB
Line 
1<?xml version="1.0"?>
2
3<!--
4
5 websrv-wsdl.xsl:
6 XSLT stylesheet that generates vboxwebService.wsdl from
7 VirtualBox.xidl. That extra WSDL file includes the big
8 vboxweb.wsdl file and adds a "service" section.
9 See webservice/Makefile.kmk for an overview of all the things
10 generated for the webservice.
11
12 Copyright (C) 2006-2013 Oracle Corporation
13
14 This file is part of VirtualBox Open Source Edition (OSE), as
15 available from http://www.virtualbox.org. This file is free software;
16 you can redistribute it and/or modify it under the terms of the GNU
17 General Public License (GPL) as published by the Free Software
18 Foundation, in version 2 as it comes in the "COPYING" file of the
19 VirtualBox OSE distribution. VirtualBox OSE is distributed in the
20 hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
21-->
22
23<xsl:stylesheet
24 version="1.0"
25 targetNamespace="http://schemas.xmlsoap.org/wsdl/"
26 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
27 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
28
29<xsl:param name="G_argDebug" />
30
31<xsl:output
32 method="xml"
33 version="1.0"
34 encoding="utf-8"
35 indent="yes"/>
36
37<xsl:strip-space
38 elements="*" />
39
40<!--**********************************************************************
41 *
42 * global XSLT variables
43 *
44 **********************************************************************-->
45
46<xsl:variable name="G_xsltFilename" select="'websrv-wsdl-service.xsl'" />
47
48<xsl:include href="../idl/typemap-shared.inc.xsl" />
49
50<!-- collect all interfaces with "wsmap='suppress'" in a global variable for
51 quick lookup -->
52<xsl:variable name="G_setSuppressedInterfaces"
53 select="//interface[@wsmap='suppress']" />
54
55<!--**********************************************************************
56 *
57 * shared helpers
58 *
59 **********************************************************************-->
60
61
62<!--**********************************************************************
63 *
64 * matches
65 *
66 **********************************************************************-->
67
68<!--
69A WSDL document describes a web service using these major elements:
70Element Defines
71<portType> The operations performed by the web service. A portType can be thought
72 of as a class.
73<message> The messages used by the web service. A message is a function call
74 and with it come "parts", which are the parameters.
75<types> The data types used by the web service, described in XML Schema
76 syntax.
77<binding> The communication protocols used by the web service.
78
79The root tag is <definitions>.
80
81-->
82
83<xsl:template match="/idl">
84 <xsl:comment>
85 DO NOT EDIT! This is a generated file.
86 Generated from: src/VBox/Main/idl/VirtualBox.xidl (VirtualBox's generic pseudo-IDL file)
87 Generator: src/VBox/Main/webservice/websrv-wsdl-service.xsl
88</xsl:comment>
89 <xsl:apply-templates />
90</xsl:template>
91
92<!-- - - - - - - - - - - - - - - - - - - - - - -
93 if
94 - - - - - - - - - - - - - - - - - - - - - - -->
95
96<!--
97 * ignore all |if|s except those for WSDL target
98-->
99<xsl:template match="if">
100 <xsl:if test="@target='wsdl'">
101 <xsl:apply-templates/>
102 </xsl:if>
103</xsl:template>
104
105<!-- - - - - - - - - - - - - - - - - - - - - - -
106 cpp
107 - - - - - - - - - - - - - - - - - - - - - - -->
108
109<xsl:template match="cpp">
110<!-- ignore this -->
111</xsl:template>
112
113<!-- - - - - - - - - - - - - - - - - - - - - - -
114 library
115 - - - - - - - - - - - - - - - - - - - - - - -->
116
117<!--
118 "library" match: we use this to emit most of the WSDL <types> section.
119 With WSDL "document" style, this requires us to go through all interfaces
120 and emit complexTypes for all method arguments and return values.
121-->
122<xsl:template match="library">
123 <definitions xmlns:interface="urn:vbox"
124 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
125 xmlns:vbox="http://www.virtualbox.org/"
126 name="VirtualBox"
127 xmlns="http://schemas.xmlsoap.org/wsdl/">
128 <xsl:attribute name="targetNamespace"><xsl:value-of select="concat($G_targetNamespace, 'Service')" /></xsl:attribute>
129
130 <import location="vboxweb.wsdl" namespace="urn:vbox">
131 <xsl:attribute name="namespace"><xsl:value-of select="$G_targetNamespace" /></xsl:attribute>
132 </import>
133
134 <service name="vboxService">
135 <port>
136 <xsl:attribute name="binding"><xsl:value-of select="concat('vbox:vbox', $G_bindingSuffix)" /></xsl:attribute>
137 <xsl:attribute name="name"><xsl:value-of select="concat('vbox', 'ServicePort')" /></xsl:attribute>
138 <soap:address location="http://localhost:18083/"/>
139 </port>
140 </service>
141
142 </definitions>
143</xsl:template>
144
145<!-- - - - - - - - - - - - - - - - - - - - - - -
146 class
147 - - - - - - - - - - - - - - - - - - - - - - -->
148
149<xsl:template match="module/class">
150 <!-- swallow -->
151</xsl:template>
152
153<!-- - - - - - - - - - - - - - - - - - - - - - -
154 enum
155 - - - - - - - - - - - - - - - - - - - - - - -->
156
157<xsl:template match="enum">
158 <!-- swallow -->
159</xsl:template>
160
161<!-- - - - - - - - - - - - - - - - - - - - - - -
162 const
163 - - - - - - - - - - - - - - - - - - - - - - -->
164
165<!--
166<xsl:template match="const">
167 <xsl:apply-templates />
168</xsl:template>
169-->
170
171<!-- - - - - - - - - - - - - - - - - - - - - - -
172 desc
173 - - - - - - - - - - - - - - - - - - - - - - -->
174
175<xsl:template match="desc">
176 <!-- swallow -->
177</xsl:template>
178
179<!-- - - - - - - - - - - - - - - - - - - - - - -
180 note
181 - - - - - - - - - - - - - - - - - - - - - - -->
182
183<xsl:template match="note">
184 <!-- swallow -->
185</xsl:template>
186
187<!-- - - - - - - - - - - - - - - - - - - - - - -
188 interface
189 - - - - - - - - - - - - - - - - - - - - - - -->
190
191<xsl:template match="interface">
192</xsl:template>
193
194</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette