Set fourth file version digit to signify rebuild.
[shibboleth/cpp-xmltooling.git] / schemas / xmldsig11-schema.xsd
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!--
4 #
5 # Copyright ©[2011] World Wide Web Consortium 
6 # (Massachusetts Institute of Technology,  
7 #  European Research Consortium for Informatics and Mathematics, 
8 #  Keio University). All Rights Reserved.  
9 # This work is distributed under the W3C® Software License [1] in the
10 # hope that it will be useful, but WITHOUT ANY WARRANTY; without even
11 # the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 # PURPOSE. 
13 # [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
14 #
15 -->
16
17 <schema xmlns="http://www.w3.org/2001/XMLSchema"
18         xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
19         xmlns:dsig11="http://www.w3.org/2009/xmldsig11#"
20         targetNamespace="http://www.w3.org/2009/xmldsig11#"
21         version="0.1" elementFormDefault="qualified">
22
23   <import namespace="http://www.w3.org/2000/09/xmldsig#"/>
24
25   <element name="ECKeyValue" type="dsig11:ECKeyValueType"/>
26   <complexType name="ECKeyValueType">
27     <sequence>
28       <choice>
29         <element name="ECParameters" type="dsig11:ECParametersType"/>
30         <element name="NamedCurve" type="dsig11:NamedCurveType"/>
31       </choice>
32       <element name="PublicKey" type="dsig11:ECPointType"/>
33     </sequence>
34     <attribute name="Id" type="ID" use="optional"/>
35   </complexType>
36
37   <complexType name="NamedCurveType">
38     <attribute name="URI" type="anyURI" use="required"/>
39   </complexType>
40   
41   <simpleType name="ECPointType">
42     <restriction base="ds:CryptoBinary"/>
43   </simpleType>
44
45   <complexType name="ECParametersType">
46     <sequence>
47       <element name="FieldID" type="dsig11:FieldIDType"/>
48       <element name="Curve" type="dsig11:CurveType"/>
49       <element name="Base" type="dsig11:ECPointType"/>
50       <element name="Order" type="ds:CryptoBinary"/>
51       <element name="CoFactor" type="integer" minOccurs="0"/>
52       <element name="ValidationData"
53                type="dsig11:ECValidationDataType" minOccurs="0"/>
54     </sequence>
55   </complexType>
56   
57   <complexType name="FieldIDType">
58     <choice>
59       <element ref="dsig11:Prime"/>
60       <element ref="dsig11:TnB"/>
61       <element ref="dsig11:PnB"/>
62       <element ref="dsig11:GnB"/>
63       <any namespace="##other" processContents="lax"/>
64     </choice>
65   </complexType>
66
67   <complexType name="CurveType">
68     <sequence>
69       <element name="A" type="ds:CryptoBinary"/>
70       <element name="B" type="ds:CryptoBinary"/>
71     </sequence>
72   </complexType>
73
74   <complexType name="ECValidationDataType">
75     <sequence>
76       <element name="seed" type="ds:CryptoBinary"/>
77     </sequence>
78     <attribute name="hashAlgorithm" type="anyURI" use="required"/>
79   </complexType>
80
81   <element name="Prime" type="dsig11:PrimeFieldParamsType"/>
82   <complexType name="PrimeFieldParamsType">
83     <sequence>
84       <element name="P" type="ds:CryptoBinary"/>
85     </sequence>
86   </complexType>
87
88   <element name="GnB" type="dsig11:CharTwoFieldParamsType"/>
89   <complexType name="CharTwoFieldParamsType">
90     <sequence>
91       <element name="M" type="positiveInteger"/>
92     </sequence>
93   </complexType>
94   
95   <element name="TnB" type="dsig11:TnBFieldParamsType"/>
96   <complexType name="TnBFieldParamsType">
97     <complexContent>
98       <extension base="dsig11:CharTwoFieldParamsType">
99         <sequence>
100           <element name="K" type="positiveInteger"/>
101         </sequence>
102       </extension>
103     </complexContent>
104   </complexType>
105
106   <element name="PnB" type="dsig11:PnBFieldParamsType"/>
107   <complexType name="PnBFieldParamsType">
108     <complexContent>
109       <extension base="dsig11:CharTwoFieldParamsType">
110         <sequence>
111           <element name="K1" type="positiveInteger"/>
112           <element name="K2" type="positiveInteger"/>
113           <element name="K3" type="positiveInteger"/>
114         </sequence>
115       </extension>
116     </complexContent>
117   </complexType>
118
119   <element name="DEREncodedKeyValue" type="dsig11:DEREncodedKeyValueType"/>
120   <complexType name="DEREncodedKeyValueType">
121     <simpleContent>
122       <extension base="base64Binary">
123         <attribute name="Id" type="ID" use="optional"/>
124       </extension>
125     </simpleContent>
126   </complexType>
127
128   <element name="KeyInfoReference" type="dsig11:KeyInfoReferenceType"/> 
129   <complexType name="KeyInfoReferenceType">
130     <attribute name="URI" type="anyURI" use="required"/>
131     <attribute name="Id" type="ID" use="optional"/>
132   </complexType>
133
134   <element name="X509Digest" type="dsig11:X509DigestType"/>
135   <complexType name="X509DigestType">
136     <simpleContent>
137       <extension base="base64Binary">
138         <attribute name="Algorithm" type="anyURI" use="required"/>
139       </extension>
140     </simpleContent>
141   </complexType>
142
143 </schema>
144