Added option to Simple Attribute Definition PlugIn to force values to lower case...
[java-idp.git] / src / schemas / xenc-schema.xsd
1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE schema  PUBLIC "-//W3C//DTD XMLSchema 200102//EN"
3  "http://www.w3.org/2001/XMLSchema.dtd"
4  [
5    <!ATTLIST schema
6      xmlns:xenc CDATA #FIXED 'http://www.w3.org/2001/04/xmlenc#'
7      xmlns:ds CDATA #FIXED 'http://www.w3.org/2000/09/xmldsig#'>
8    <!ENTITY xenc 'http://www.w3.org/2001/04/xmlenc#'>
9    <!ENTITY % p ''>
10    <!ENTITY % s ''>
11   ]>
12
13 <schema xmlns='http://www.w3.org/2001/XMLSchema' version='1.0'
14         xmlns:xenc='http://www.w3.org/2001/04/xmlenc#'
15         xmlns:ds='http://www.w3.org/2000/09/xmldsig#'
16         targetNamespace='http://www.w3.org/2001/04/xmlenc#'
17         elementFormDefault='qualified'>
18
19   <import namespace='http://www.w3.org/2000/09/xmldsig#'
20           schemaLocation='http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd'/>
21
22   <complexType name='EncryptedType' abstract='true'>
23     <sequence>
24       <element name='EncryptionMethod' type='xenc:EncryptionMethodType'
25        minOccurs='0'/>
26       <element ref='ds:KeyInfo' minOccurs='0'/>
27       <element ref='xenc:CipherData'/>
28       <element ref='xenc:EncryptionProperties' minOccurs='0'/>
29     </sequence>
30     <attribute name='Id' type='ID' use='optional'/>
31     <attribute name='Type' type='anyURI' use='optional'/>
32     <attribute name='MimeType' type='string' use='optional'/>
33     <attribute name='Encoding' type='anyURI' use='optional'/>
34   </complexType>
35   
36   <complexType name='EncryptionMethodType' mixed='true'>
37     <sequence>
38       <element name='KeySize' minOccurs='0' type='xenc:KeySizeType'/>
39       <element name='OAEPparams' minOccurs='0' type='base64Binary'/>
40       <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
41     </sequence>
42     <attribute name='Algorithm' type='anyURI' use='required'/>
43   </complexType>
44
45     <simpleType name='KeySizeType'>
46       <restriction base="integer"/>
47     </simpleType>
48
49   <element name='CipherData' type='xenc:CipherDataType'/>
50   <complexType name='CipherDataType'>
51      <choice>
52        <element name='CipherValue' type='base64Binary'/>
53        <element ref='xenc:CipherReference'/>
54      </choice>
55     </complexType>
56
57    <element name='CipherReference' type='xenc:CipherReferenceType'/>
58    <complexType name='CipherReferenceType'>
59        <choice>
60          <element name='Transforms' type='xenc:TransformsType' minOccurs='0'/>
61        </choice>
62        <attribute name='URI' type='anyURI' use='required'/>
63    </complexType>
64
65      <complexType name='TransformsType'>
66        <sequence>
67          <element ref='ds:Transform' maxOccurs='unbounded'/>
68        </sequence>
69      </complexType>
70
71
72   <element name='EncryptedData' type='xenc:EncryptedDataType'/>
73   <complexType name='EncryptedDataType'>
74     <complexContent>
75       <extension base='xenc:EncryptedType'>
76        </extension>
77     </complexContent>
78   </complexType>
79
80   <!-- Children of ds:KeyInfo -->
81
82   <element name='EncryptedKey' type='xenc:EncryptedKeyType'/>
83   <complexType name='EncryptedKeyType'>
84     <complexContent>
85       <extension base='xenc:EncryptedType'>
86         <sequence>
87           <element ref='xenc:ReferenceList' minOccurs='0'/>
88           <element name='CarriedKeyName' type='string' minOccurs='0'/>
89         </sequence>
90         <attribute name='Recipient' type='string'
91          use='optional'/>
92       </extension>
93     </complexContent>
94   </complexType>
95
96     <element name="AgreementMethod" type="xenc:AgreementMethodType"/>
97     <complexType name="AgreementMethodType" mixed="true">
98       <sequence>
99         <element name="KA-Nonce" minOccurs="0" type="base64Binary"/>
100         <!-- <element ref="ds:DigestMethod" minOccurs="0"/> -->
101         <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
102         <element name="OriginatorKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
103         <element name="RecipientKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
104       </sequence>
105       <attribute name="Algorithm" type="anyURI" use="required"/>
106     </complexType>
107
108   <!-- End Children of ds:KeyInfo -->
109
110   <element name='ReferenceList'>
111     <complexType>
112       <choice minOccurs='1' maxOccurs='unbounded'>
113         <element name='DataReference' type='xenc:ReferenceType'/>
114         <element name='KeyReference' type='xenc:ReferenceType'/>
115       </choice>
116     </complexType>
117   </element>
118
119   <complexType name='ReferenceType'>
120     <sequence>
121       <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
122     </sequence>
123     <attribute name='URI' type='anyURI' use='required'/>
124   </complexType>
125
126
127   <element name='EncryptionProperties' type='xenc:EncryptionPropertiesType'/>
128   <complexType name='EncryptionPropertiesType'>
129     <sequence>
130       <element ref='xenc:EncryptionProperty' maxOccurs='unbounded'/>
131     </sequence>
132     <attribute name='Id' type='ID' use='optional'/>
133   </complexType>
134
135     <element name='EncryptionProperty' type='xenc:EncryptionPropertyType'/>
136     <complexType name='EncryptionPropertyType' mixed='true'>
137       <choice maxOccurs='unbounded'>
138         <any namespace='##other' processContents='lax'/>
139       </choice>
140       <attribute name='Target' type='anyURI' use='optional'/>
141       <attribute name='Id' type='ID' use='optional'/>
142       <anyAttribute namespace="http://www.w3.org/XML/1998/namespace"/>
143     </complexType>
144
145 </schema>
146