1 |
|
<?xml version="1.0" encoding="UTF-8"?> |
2 |
|
<!-- DGMX Schema - Chris Smith (c) netFluid Technology Ltd 2003 --> |
3 |
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> |
4 |
|
<xs:element name="container"> |
5 |
|
<xs:complexType> |
6 |
|
<xs:sequence> |
7 |
|
<xs:element ref="digest"/> |
8 |
|
<xs:element ref="protocols" minOccurs="0"/> |
9 |
|
<xs:element ref="owner"/> |
10 |
|
<xs:element ref="certification" minOccurs="0"/> |
11 |
|
<xs:sequence maxOccurs="unbounded"> |
12 |
|
<xs:element ref="class"/> |
13 |
|
</xs:sequence> |
14 |
|
</xs:sequence> |
15 |
|
<xs:attribute name="name" type="xs:string" use="required"/> |
16 |
|
<xs:attribute name="language" type="xs:string" use="required"/> |
17 |
|
</xs:complexType> |
18 |
|
</xs:element> |
19 |
|
<xs:element name="digest"> |
20 |
|
<xs:annotation> |
21 |
|
<xs:documentation>Digest of webservice</xs:documentation> |
22 |
|
</xs:annotation> |
23 |
|
<xs:complexType> |
24 |
|
<xs:attribute name="type" use="required"> |
25 |
|
<xs:simpleType> |
26 |
|
<xs:restriction base="xs:string"> |
27 |
|
<xs:enumeration value="MD5"/> |
28 |
|
<xs:enumeration value="SHA1"/> |
29 |
|
</xs:restriction> |
30 |
|
</xs:simpleType> |
31 |
|
</xs:attribute> |
32 |
|
</xs:complexType> |
33 |
|
</xs:element> |
34 |
|
<xs:element name="userName" type="xs:string"> |
35 |
|
<xs:annotation> |
36 |
|
<xs:documentation>A username</xs:documentation> |
37 |
|
</xs:annotation> |
38 |
|
</xs:element> |
39 |
|
<xs:element name="publicKey"> |
40 |
|
<xs:annotation> |
41 |
|
<xs:documentation>A Public Key Block</xs:documentation> |
42 |
|
</xs:annotation> |
43 |
|
<xs:complexType> |
44 |
|
<xs:simpleContent> |
45 |
|
<xs:extension base="xs:string"/> |
46 |
|
</xs:simpleContent> |
47 |
|
</xs:complexType> |
48 |
|
</xs:element> |
49 |
|
<xs:element name="creationDate" type="xs:dateTime"> |
50 |
|
<xs:annotation> |
51 |
|
<xs:documentation>Date webservice was created</xs:documentation> |
52 |
|
</xs:annotation> |
53 |
|
</xs:element> |
54 |
|
<xs:element name="organisation" type="xs:string"> |
55 |
|
<xs:annotation> |
56 |
|
<xs:documentation>Defines and organisation</xs:documentation> |
57 |
|
</xs:annotation> |
58 |
|
</xs:element> |
59 |
|
<xs:element name="email" type="xs:string"> |
60 |
|
<xs:annotation> |
61 |
|
<xs:documentation>Defines an email address</xs:documentation> |
62 |
|
</xs:annotation> |
63 |
|
</xs:element> |
64 |
|
<xs:element name="country" type="xs:string"> |
65 |
|
<xs:annotation> |
66 |
|
<xs:documentation>A Country</xs:documentation> |
67 |
|
</xs:annotation> |
68 |
|
</xs:element> |
69 |
|
<xs:element name="region" type="xs:string"> |
70 |
|
<xs:annotation> |
71 |
|
<xs:documentation>A geographic region</xs:documentation> |
72 |
|
</xs:annotation> |
73 |
|
</xs:element> |
74 |
|
<xs:element name="from" type="xs:date"> |
75 |
|
<xs:annotation> |
76 |
|
<xs:documentation>A start date</xs:documentation> |
77 |
|
</xs:annotation> |
78 |
|
</xs:element> |
79 |
|
<xs:element name="until" type="xs:date"> |
80 |
|
<xs:annotation> |
81 |
|
<xs:documentation>An end date</xs:documentation> |
82 |
|
</xs:annotation> |
83 |
|
</xs:element> |
84 |
|
<xs:element name="signature" type="xs:string"> |
85 |
|
<xs:annotation> |
86 |
|
<xs:documentation>The dgmx GPG/OpenPGP signature (of the dgmx file without the signature element)</xs:documentation> |
87 |
|
</xs:annotation> |
88 |
|
</xs:element> |
89 |
|
<xs:complexType name="issuerType"> |
90 |
|
<xs:annotation> |
91 |
|
<xs:documentation>The certificate issuer</xs:documentation> |
92 |
|
</xs:annotation> |
93 |
|
<xs:sequence> |
94 |
|
<xs:element ref="organisation"/> |
95 |
|
<xs:element ref="userName"/> |
96 |
|
<xs:element ref="email"/> |
97 |
|
<xs:element ref="country"/> |
98 |
|
<xs:element ref="region"/> |
99 |
|
</xs:sequence> |
100 |
|
</xs:complexType> |
101 |
|
<xs:element name="Issuer" type="issuerType"> |
102 |
|
<xs:annotation> |
103 |
|
<xs:documentation>The issuer identifier</xs:documentation> |
104 |
|
</xs:annotation> |
105 |
|
</xs:element> |
106 |
|
<xs:element name="validity" type="validityType"> |
107 |
|
<xs:annotation> |
108 |
|
<xs:documentation>The validity period of the certificate</xs:documentation> |
109 |
|
</xs:annotation> |
110 |
|
</xs:element> |
111 |
|
<xs:complexType name="validityType"> |
112 |
|
<xs:annotation> |
113 |
|
<xs:documentation>The certificate validity</xs:documentation> |
114 |
|
</xs:annotation> |
115 |
|
<xs:sequence> |
116 |
|
<xs:element ref="from"/> |
117 |
|
<xs:element ref="until" minOccurs="0"/> |
118 |
|
</xs:sequence> |
119 |
|
</xs:complexType> |
120 |
|
<xs:element name="certification" type="certificationType"> |
121 |
|
<xs:annotation> |
122 |
|
<xs:documentation>Webservice Certificate</xs:documentation> |
123 |
|
</xs:annotation> |
124 |
|
</xs:element> |
125 |
|
<xs:element name="description"> |
126 |
|
<xs:annotation> |
127 |
|
<xs:documentation>Documentation</xs:documentation> |
128 |
|
</xs:annotation> |
129 |
|
</xs:element> |
130 |
|
<xs:element name="parameter"> |
131 |
|
<xs:annotation> |
132 |
|
<xs:documentation>Method Parameter</xs:documentation> |
133 |
|
</xs:annotation> |
134 |
|
<xs:complexType> |
135 |
|
<xs:attribute name="order" use="optional"> |
136 |
|
<xs:simpleType> |
137 |
|
<xs:restriction base="xs:unsignedInt"> |
138 |
|
<xs:minInclusive value="0"/> |
139 |
|
</xs:restriction> |
140 |
|
</xs:simpleType> |
141 |
|
</xs:attribute> |
142 |
|
<xs:attribute name="name" type="xs:string" use="required"/> |
143 |
|
<xs:attribute name="type" type="xs:string" use="required"/> |
144 |
|
</xs:complexType> |
145 |
|
</xs:element> |
146 |
|
<xs:element name="return"> |
147 |
|
<xs:annotation> |
148 |
|
<xs:documentation>Method Return Type</xs:documentation> |
149 |
|
</xs:annotation> |
150 |
|
<xs:complexType> |
151 |
|
<xs:attribute name="type" type="xs:string" use="required"/> |
152 |
|
</xs:complexType> |
153 |
|
</xs:element> |
154 |
|
<xs:element name="namespace"> |
155 |
|
<xs:annotation> |
156 |
|
<xs:documentation>Webservice Namespace</xs:documentation> |
157 |
|
</xs:annotation> |
158 |
|
</xs:element> |
159 |
|
<xs:complexType name="interfaceType"> |
160 |
|
<xs:annotation> |
161 |
|
<xs:documentation>Web Method Interface Type</xs:documentation> |
162 |
|
</xs:annotation> |
163 |
|
<xs:sequence> |
164 |
|
<xs:element ref="parameters"/> |
165 |
|
</xs:sequence> |
166 |
|
</xs:complexType> |
167 |
|
<xs:element name="parameters" type="parametersType"> |
168 |
|
<xs:annotation> |
169 |
|
<xs:documentation>The method parameters in and out</xs:documentation> |
170 |
|
</xs:annotation> |
171 |
|
</xs:element> |
172 |
|
<xs:element name="interface"> |
173 |
|
<xs:annotation> |
174 |
|
<xs:documentation>The method interface</xs:documentation> |
175 |
|
</xs:annotation> |
176 |
|
<xs:complexType> |
177 |
|
<xs:complexContent> |
178 |
|
<xs:extension base="interfaceType"> |
179 |
|
<xs:attribute name="name" type="xs:string" use="required"/> |
180 |
|
<xs:attribute name="common" type="xs:string" use="optional"/> |
181 |
|
</xs:extension> |
182 |
|
</xs:complexContent> |
183 |
|
</xs:complexType> |
184 |
|
</xs:element> |
185 |
|
<xs:element name="method"> |
186 |
|
<xs:annotation> |
187 |
|
<xs:documentation>Web method declaration</xs:documentation> |
188 |
|
</xs:annotation> |
189 |
|
<xs:complexType> |
190 |
|
<xs:sequence> |
191 |
|
<xs:element ref="description"/> |
192 |
|
<xs:element ref="interface"/> |
193 |
|
</xs:sequence> |
194 |
|
</xs:complexType> |
195 |
|
</xs:element> |
196 |
|
<xs:element name="class" type="classType"> |
197 |
|
<xs:annotation> |
198 |
|
<xs:documentation>Collection classes</xs:documentation> |
199 |
|
</xs:annotation> |
200 |
|
</xs:element> |
201 |
|
<xs:complexType name="classType"> |
202 |
|
<xs:annotation> |
203 |
|
<xs:documentation>Describes a class exporting methods</xs:documentation> |
204 |
|
</xs:annotation> |
205 |
|
<xs:sequence> |
206 |
|
<xs:element ref="description"/> |
207 |
|
<xs:element ref="namespace"/> |
208 |
|
<xs:sequence maxOccurs="unbounded"> |
209 |
|
<xs:element ref="method"/> |
210 |
|
</xs:sequence> |
211 |
|
</xs:sequence> |
212 |
|
</xs:complexType> |
213 |
|
<xs:complexType name="parametersType"> |
214 |
|
<xs:sequence> |
215 |
|
<xs:sequence maxOccurs="unbounded"> |
216 |
|
<xs:element ref="parameter"/> |
217 |
|
</xs:sequence> |
218 |
|
<xs:element ref="return"/> |
219 |
|
</xs:sequence> |
220 |
|
</xs:complexType> |
221 |
|
<xs:complexType name="certificationType"> |
222 |
|
<xs:annotation> |
223 |
|
<xs:documentation>A Certification entity</xs:documentation> |
224 |
|
</xs:annotation> |
225 |
|
<xs:sequence> |
226 |
|
<xs:element ref="Issuer"/> |
227 |
|
<xs:element ref="validity"/> |
228 |
|
<xs:element ref="signature"/> |
229 |
|
</xs:sequence> |
230 |
|
</xs:complexType> |
231 |
|
<xs:element name="owner" type="ownerType"> |
232 |
|
<xs:annotation> |
233 |
|
<xs:documentation>The owner of the webservice</xs:documentation> |
234 |
|
</xs:annotation> |
235 |
|
</xs:element> |
236 |
|
<xs:complexType name="ownerType"> |
237 |
|
<xs:annotation> |
238 |
|
<xs:documentation>Describes the owner of the webservice</xs:documentation> |
239 |
|
</xs:annotation> |
240 |
|
<xs:sequence> |
241 |
|
<xs:element ref="userName"/> |
242 |
|
<xs:element ref="publicKey"/> |
243 |
|
<xs:element ref="creationDate"/> |
244 |
|
</xs:sequence> |
245 |
|
</xs:complexType> |
246 |
|
<xs:element name="allow"> |
247 |
|
<xs:annotation> |
248 |
|
<xs:documentation>Allow a 'protocol' such as xmlrpc</xs:documentation> |
249 |
|
</xs:annotation> |
250 |
|
</xs:element> |
251 |
|
<xs:element name="reject"> |
252 |
|
<xs:annotation> |
253 |
|
<xs:documentation>Reject a protocol such as xmlrpc</xs:documentation> |
254 |
|
</xs:annotation> |
255 |
|
</xs:element> |
256 |
|
<xs:element name="protocols" type="protocolsType"> |
257 |
|
<xs:annotation> |
258 |
|
<xs:documentation>Define supported/unsupported encoding protocols</xs:documentation> |
259 |
|
</xs:annotation> |
260 |
|
</xs:element> |
261 |
|
<xs:complexType name="protocolsType"> |
262 |
|
<xs:sequence> |
263 |
|
<xs:sequence minOccurs="0" maxOccurs="unbounded"> |
264 |
|
<xs:element ref="allow"/> |
265 |
|
</xs:sequence> |
266 |
|
<xs:sequence minOccurs="0" maxOccurs="unbounded"> |
267 |
|
<xs:element ref="reject"/> |
268 |
|
</xs:sequence> |
269 |
|
</xs:sequence> |
270 |
|
</xs:complexType> |
271 |
|
</xs:schema> |