1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!DOCTYPE schema |
|
3 PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd" |
|
4 [ |
|
5 <!ATTLIST schema |
|
6 xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#"> |
|
7 <!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'> |
|
8 <!ENTITY % p ''> |
|
9 <!ENTITY % s ''> |
|
10 ]> |
|
11 |
|
12 <!-- Schema for XML Signatures |
|
13 http://www.w3.org/2000/09/xmldsig# |
|
14 $Revision: 1.6 $ on $Date: 2008/07/24 16:15:03 $ by $Author: mullan $ |
|
15 |
|
16 Copyright 2001 The Internet Society and W3C (Massachusetts Institute |
|
17 of Technology, Institut National de Recherche en Informatique et en |
|
18 Automatique, Keio University). All Rights Reserved. |
|
19 http://www.w3.org/Consortium/Legal/ |
|
20 |
|
21 This document is governed by the W3C Software License [1] as described |
|
22 in the FAQ [2]. |
|
23 |
|
24 [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720 |
|
25 [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD |
|
26 --> |
|
27 |
|
28 |
|
29 <schema xmlns="http://www.w3.org/2001/XMLSchema" |
|
30 xmlns:ds="http://www.w3.org/2000/09/xmldsig#" |
|
31 targetNamespace="http://www.w3.org/2000/09/xmldsig#" |
|
32 version="0.1" elementFormDefault="qualified"> |
|
33 |
|
34 <!-- Basic Types Defined for Signatures --> |
|
35 |
|
36 <simpleType name="CryptoBinary"> |
|
37 <restriction base="base64Binary"> |
|
38 </restriction> |
|
39 </simpleType> |
|
40 |
|
41 <!-- Start Signature --> |
|
42 |
|
43 <element name="Signature" type="ds:SignatureType"/> |
|
44 <complexType name="SignatureType"> |
|
45 <sequence> |
|
46 <element ref="ds:SignedInfo"/> |
|
47 <element ref="ds:SignatureValue"/> |
|
48 <element ref="ds:KeyInfo" minOccurs="0"/> |
|
49 <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/> |
|
50 </sequence> |
|
51 <attribute name="Id" type="ID" use="optional"/> |
|
52 </complexType> |
|
53 |
|
54 <element name="SignatureValue" type="ds:SignatureValueType"/> |
|
55 <complexType name="SignatureValueType"> |
|
56 <simpleContent> |
|
57 <extension base="base64Binary"> |
|
58 <attribute name="Id" type="ID" use="optional"/> |
|
59 </extension> |
|
60 </simpleContent> |
|
61 </complexType> |
|
62 |
|
63 <!-- Start SignedInfo --> |
|
64 |
|
65 <element name="SignedInfo" type="ds:SignedInfoType"/> |
|
66 <complexType name="SignedInfoType"> |
|
67 <sequence> |
|
68 <element ref="ds:CanonicalizationMethod"/> |
|
69 <element ref="ds:SignatureMethod"/> |
|
70 <element ref="ds:Reference" maxOccurs="unbounded"/> |
|
71 </sequence> |
|
72 <attribute name="Id" type="ID" use="optional"/> |
|
73 </complexType> |
|
74 |
|
75 <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/> |
|
76 <complexType name="CanonicalizationMethodType" mixed="true"> |
|
77 <sequence> |
|
78 <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/> |
|
79 <!-- (0,unbounded) elements from (1,1) namespace --> |
|
80 </sequence> |
|
81 <attribute name="Algorithm" type="anyURI" use="required"/> |
|
82 </complexType> |
|
83 |
|
84 <element name="SignatureMethod" type="ds:SignatureMethodType"/> |
|
85 <complexType name="SignatureMethodType" mixed="true"> |
|
86 <sequence> |
|
87 <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/> |
|
88 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> |
|
89 <!-- (0,unbounded) elements from (1,1) external namespace --> |
|
90 </sequence> |
|
91 <attribute name="Algorithm" type="anyURI" use="required"/> |
|
92 </complexType> |
|
93 |
|
94 <!-- Start Reference --> |
|
95 |
|
96 <element name="Reference" type="ds:ReferenceType"/> |
|
97 <complexType name="ReferenceType"> |
|
98 <sequence> |
|
99 <element ref="ds:Transforms" minOccurs="0"/> |
|
100 <element ref="ds:DigestMethod"/> |
|
101 <element ref="ds:DigestValue"/> |
|
102 </sequence> |
|
103 <attribute name="Id" type="ID" use="optional"/> |
|
104 <attribute name="URI" type="anyURI" use="optional"/> |
|
105 <attribute name="Type" type="anyURI" use="optional"/> |
|
106 </complexType> |
|
107 |
|
108 <element name="Transforms" type="ds:TransformsType"/> |
|
109 <complexType name="TransformsType"> |
|
110 <sequence> |
|
111 <element ref="ds:Transform" maxOccurs="unbounded"/> |
|
112 </sequence> |
|
113 </complexType> |
|
114 |
|
115 <element name="Transform" type="ds:TransformType"/> |
|
116 <complexType name="TransformType" mixed="true"> |
|
117 <choice minOccurs="0" maxOccurs="unbounded"> |
|
118 <any namespace="##other" processContents="lax"/> |
|
119 <!-- (1,1) elements from (0,unbounded) namespaces --> |
|
120 <element name="XPath" type="string"/> |
|
121 </choice> |
|
122 <attribute name="Algorithm" type="anyURI" use="required"/> |
|
123 </complexType> |
|
124 |
|
125 <!-- End Reference --> |
|
126 |
|
127 <element name="DigestMethod" type="ds:DigestMethodType"/> |
|
128 <complexType name="DigestMethodType" mixed="true"> |
|
129 <sequence> |
|
130 <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> |
|
131 </sequence> |
|
132 <attribute name="Algorithm" type="anyURI" use="required"/> |
|
133 </complexType> |
|
134 |
|
135 <element name="DigestValue" type="ds:DigestValueType"/> |
|
136 <simpleType name="DigestValueType"> |
|
137 <restriction base="base64Binary"/> |
|
138 </simpleType> |
|
139 |
|
140 <!-- End SignedInfo --> |
|
141 |
|
142 <!-- Start KeyInfo --> |
|
143 |
|
144 <element name="KeyInfo" type="ds:KeyInfoType"/> |
|
145 <complexType name="KeyInfoType" mixed="true"> |
|
146 <choice maxOccurs="unbounded"> |
|
147 <element ref="ds:KeyName"/> |
|
148 <element ref="ds:KeyValue"/> |
|
149 <element ref="ds:RetrievalMethod"/> |
|
150 <element ref="ds:X509Data"/> |
|
151 <element ref="ds:PGPData"/> |
|
152 <element ref="ds:SPKIData"/> |
|
153 <element ref="ds:MgmtData"/> |
|
154 <any processContents="lax" namespace="##other"/> |
|
155 <!-- (1,1) elements from (0,unbounded) namespaces --> |
|
156 </choice> |
|
157 <attribute name="Id" type="ID" use="optional"/> |
|
158 </complexType> |
|
159 |
|
160 <element name="KeyName" type="string"/> |
|
161 <element name="MgmtData" type="string"/> |
|
162 |
|
163 <element name="KeyValue" type="ds:KeyValueType"/> |
|
164 <complexType name="KeyValueType" mixed="true"> |
|
165 <choice> |
|
166 <element ref="ds:DSAKeyValue"/> |
|
167 <element ref="ds:RSAKeyValue"/> |
|
168 <any namespace="##other" processContents="lax"/> |
|
169 </choice> |
|
170 </complexType> |
|
171 |
|
172 <element name="RetrievalMethod" type="ds:RetrievalMethodType"/> |
|
173 <complexType name="RetrievalMethodType"> |
|
174 <sequence> |
|
175 <element ref="ds:Transforms" minOccurs="0"/> |
|
176 </sequence> |
|
177 <attribute name="URI" type="anyURI"/> |
|
178 <attribute name="Type" type="anyURI" use="optional"/> |
|
179 </complexType> |
|
180 |
|
181 <!-- Start X509Data --> |
|
182 |
|
183 <element name="X509Data" type="ds:X509DataType"/> |
|
184 <complexType name="X509DataType"> |
|
185 <sequence maxOccurs="unbounded"> |
|
186 <choice> |
|
187 <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/> |
|
188 <element name="X509SKI" type="base64Binary"/> |
|
189 <element name="X509SubjectName" type="string"/> |
|
190 <element name="X509Certificate" type="base64Binary"/> |
|
191 <element name="X509CRL" type="base64Binary"/> |
|
192 <any namespace="##other" processContents="lax"/> |
|
193 </choice> |
|
194 </sequence> |
|
195 </complexType> |
|
196 |
|
197 <complexType name="X509IssuerSerialType"> |
|
198 <sequence> |
|
199 <element name="X509IssuerName" type="string"/> |
|
200 <element name="X509SerialNumber" type="integer"/> |
|
201 </sequence> |
|
202 </complexType> |
|
203 |
|
204 <!-- End X509Data --> |
|
205 |
|
206 <!-- Begin PGPData --> |
|
207 |
|
208 <element name="PGPData" type="ds:PGPDataType"/> |
|
209 <complexType name="PGPDataType"> |
|
210 <choice> |
|
211 <sequence> |
|
212 <element name="PGPKeyID" type="base64Binary"/> |
|
213 <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/> |
|
214 <any namespace="##other" processContents="lax" minOccurs="0" |
|
215 maxOccurs="unbounded"/> |
|
216 </sequence> |
|
217 <sequence> |
|
218 <element name="PGPKeyPacket" type="base64Binary"/> |
|
219 <any namespace="##other" processContents="lax" minOccurs="0" |
|
220 maxOccurs="unbounded"/> |
|
221 </sequence> |
|
222 </choice> |
|
223 </complexType> |
|
224 |
|
225 <!-- End PGPData --> |
|
226 |
|
227 <!-- Begin SPKIData --> |
|
228 |
|
229 <element name="SPKIData" type="ds:SPKIDataType"/> |
|
230 <complexType name="SPKIDataType"> |
|
231 <sequence maxOccurs="unbounded"> |
|
232 <element name="SPKISexp" type="base64Binary"/> |
|
233 <any namespace="##other" processContents="lax" minOccurs="0"/> |
|
234 </sequence> |
|
235 </complexType> |
|
236 |
|
237 <!-- End SPKIData --> |
|
238 |
|
239 <!-- End KeyInfo --> |
|
240 |
|
241 <!-- Start Object (Manifest, SignatureProperty) --> |
|
242 |
|
243 <element name="Object" type="ds:ObjectType"/> |
|
244 <complexType name="ObjectType" mixed="true"> |
|
245 <sequence minOccurs="0" maxOccurs="unbounded"> |
|
246 <any namespace="##any" processContents="lax"/> |
|
247 </sequence> |
|
248 <attribute name="Id" type="ID" use="optional"/> |
|
249 <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet --> |
|
250 <attribute name="Encoding" type="anyURI" use="optional"/> |
|
251 </complexType> |
|
252 |
|
253 <element name="Manifest" type="ds:ManifestType"/> |
|
254 <complexType name="ManifestType"> |
|
255 <sequence> |
|
256 <element ref="ds:Reference" maxOccurs="unbounded"/> |
|
257 </sequence> |
|
258 <attribute name="Id" type="ID" use="optional"/> |
|
259 </complexType> |
|
260 |
|
261 <element name="SignatureProperties" type="ds:SignaturePropertiesType"/> |
|
262 <complexType name="SignaturePropertiesType"> |
|
263 <sequence> |
|
264 <element ref="ds:SignatureProperty" maxOccurs="unbounded"/> |
|
265 </sequence> |
|
266 <attribute name="Id" type="ID" use="optional"/> |
|
267 </complexType> |
|
268 |
|
269 <element name="SignatureProperty" type="ds:SignaturePropertyType"/> |
|
270 <complexType name="SignaturePropertyType" mixed="true"> |
|
271 <choice maxOccurs="unbounded"> |
|
272 <any namespace="##other" processContents="lax"/> |
|
273 <!-- (1,1) elements from (1,unbounded) namespaces --> |
|
274 </choice> |
|
275 <attribute name="Target" type="anyURI" use="required"/> |
|
276 <attribute name="Id" type="ID" use="optional"/> |
|
277 </complexType> |
|
278 |
|
279 <!-- End Object (Manifest, SignatureProperty) --> |
|
280 |
|
281 <!-- Start Algorithm Parameters --> |
|
282 |
|
283 <simpleType name="HMACOutputLengthType"> |
|
284 <restriction base="integer"/> |
|
285 </simpleType> |
|
286 |
|
287 <!-- Start KeyValue Element-types --> |
|
288 |
|
289 <element name="DSAKeyValue" type="ds:DSAKeyValueType"/> |
|
290 <complexType name="DSAKeyValueType"> |
|
291 <sequence> |
|
292 <sequence minOccurs="0"> |
|
293 <element name="P" type="ds:CryptoBinary"/> |
|
294 <element name="Q" type="ds:CryptoBinary"/> |
|
295 </sequence> |
|
296 <element name="G" type="ds:CryptoBinary" minOccurs="0"/> |
|
297 <element name="Y" type="ds:CryptoBinary"/> |
|
298 <element name="J" type="ds:CryptoBinary" minOccurs="0"/> |
|
299 <sequence minOccurs="0"> |
|
300 <element name="Seed" type="ds:CryptoBinary"/> |
|
301 <element name="PgenCounter" type="ds:CryptoBinary"/> |
|
302 </sequence> |
|
303 </sequence> |
|
304 </complexType> |
|
305 |
|
306 <element name="RSAKeyValue" type="ds:RSAKeyValueType"/> |
|
307 <complexType name="RSAKeyValueType"> |
|
308 <sequence> |
|
309 <element name="Modulus" type="ds:CryptoBinary"/> |
|
310 <element name="Exponent" type="ds:CryptoBinary"/> |
|
311 </sequence> |
|
312 </complexType> |
|
313 |
|
314 <!-- End KeyValue Element-types --> |
|
315 |
|
316 <!-- End Signature --> |
|
317 |
|
318 </schema> |
|