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