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