|
| 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 | +<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN" |
| 18 | + "http://www.w3.org/2001/XMLSchema.dtd" |
| 19 | + [ |
| 20 | + <!ATTLIST schema |
| 21 | + xmlns:xenc CDATA #FIXED 'http://www.w3.org/2001/04/xmlenc#' |
| 22 | + xmlns:ds CDATA #FIXED 'http://www.w3.org/2000/09/xmldsig#'> |
| 23 | + <!ENTITY xenc 'http://www.w3.org/2001/04/xmlenc#'> |
| 24 | + <!ENTITY % p ''> |
| 25 | + <!ENTITY % s ''> |
| 26 | + ]> |
| 27 | + |
| 28 | +<schema xmlns='http://www.w3.org/2001/XMLSchema' version='1.0' |
| 29 | + xmlns:xenc='http://www.w3.org/2001/04/xmlenc#' |
| 30 | + xmlns:ds='http://www.w3.org/2000/09/xmldsig#' |
| 31 | + targetNamespace='http://www.w3.org/2001/04/xmlenc#' |
| 32 | + elementFormDefault='qualified'> |
| 33 | + |
| 34 | + <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation='xml.xsd' /> |
| 35 | + <import namespace='http://www.w3.org/2000/09/xmldsig#' |
| 36 | + schemaLocation='xmldsig-core-schema.xsd'/> |
| 37 | + |
| 38 | + <complexType name='EncryptedType' abstract='true'> |
| 39 | + <sequence> |
| 40 | + <element name='EncryptionMethod' type='xenc:EncryptionMethodType' |
| 41 | + minOccurs='0'/> |
| 42 | + <element ref='ds:KeyInfo' minOccurs='0'/> |
| 43 | + <element ref='xenc:CipherData'/> |
| 44 | + <element ref='xenc:EncryptionProperties' minOccurs='0'/> |
| 45 | + </sequence> |
| 46 | + <attribute name='Id' type='ID' use='optional'/> |
| 47 | + <attribute name='Type' type='anyURI' use='optional'/> |
| 48 | + <attribute name='MimeType' type='string' use='optional'/> |
| 49 | + <attribute name='Encoding' type='anyURI' use='optional'/> |
| 50 | + </complexType> |
| 51 | + |
| 52 | + <complexType name='EncryptionMethodType' mixed='true'> |
| 53 | + <sequence> |
| 54 | + <element name='KeySize' minOccurs='0' type='xenc:KeySizeType'/> |
| 55 | + <element name='OAEPparams' minOccurs='0' type='base64Binary'/> |
| 56 | + <!-- note that optional xenc11:MGF element may be used here for |
| 57 | + RSA-OAEP, when appropriate --> |
| 58 | + <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/> |
| 59 | + </sequence> |
| 60 | + <attribute name='Algorithm' type='anyURI' use='required'/> |
| 61 | + </complexType> |
| 62 | + |
| 63 | + <simpleType name='KeySizeType'> |
| 64 | + <restriction base="integer"/> |
| 65 | + </simpleType> |
| 66 | + |
| 67 | + <element name='CipherData' type='xenc:CipherDataType'/> |
| 68 | + <complexType name='CipherDataType'> |
| 69 | + <choice> |
| 70 | + <element name='CipherValue' type='base64Binary'/> |
| 71 | + <element ref='xenc:CipherReference'/> |
| 72 | + </choice> |
| 73 | + </complexType> |
| 74 | + |
| 75 | + <element name='CipherReference' type='xenc:CipherReferenceType'/> |
| 76 | + <complexType name='CipherReferenceType'> |
| 77 | + <choice> |
| 78 | + <element name='Transforms' type='xenc:TransformsType' minOccurs='0'/> |
| 79 | + </choice> |
| 80 | + <attribute name='URI' type='anyURI' use='required'/> |
| 81 | + </complexType> |
| 82 | + |
| 83 | + <complexType name='TransformsType'> |
| 84 | + <sequence> |
| 85 | + <element ref='ds:Transform' maxOccurs='unbounded'/> |
| 86 | + </sequence> |
| 87 | + </complexType> |
| 88 | + |
| 89 | + |
| 90 | + <element name='EncryptedData' type='xenc:EncryptedDataType'/> |
| 91 | + <complexType name='EncryptedDataType'> |
| 92 | + <complexContent> |
| 93 | + <extension base='xenc:EncryptedType'> |
| 94 | + </extension> |
| 95 | + </complexContent> |
| 96 | + </complexType> |
| 97 | + |
| 98 | + <!-- Children of ds:KeyInfo --> |
| 99 | + |
| 100 | + <element name='EncryptedKey' type='xenc:EncryptedKeyType'/> |
| 101 | + <complexType name='EncryptedKeyType'> |
| 102 | + <complexContent> |
| 103 | + <extension base='xenc:EncryptedType'> |
| 104 | + <sequence> |
| 105 | + <element ref='xenc:ReferenceList' minOccurs='0'/> |
| 106 | + <element name='CarriedKeyName' type='string' minOccurs='0'/> |
| 107 | + </sequence> |
| 108 | + <attribute name='Recipient' type='string' |
| 109 | + use='optional'/> |
| 110 | + </extension> |
| 111 | + </complexContent> |
| 112 | + </complexType> |
| 113 | + |
| 114 | + <element name="AgreementMethod" type="xenc:AgreementMethodType"/> |
| 115 | + <complexType name="AgreementMethodType" mixed="true"> |
| 116 | + <sequence> |
| 117 | + <element name="KA-Nonce" minOccurs="0" type="base64Binary"/> |
| 118 | + <!-- <element ref="ds:DigestMethod" minOccurs="0"/> --> |
| 119 | + <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> |
| 120 | + <element name="OriginatorKeyInfo" minOccurs="0" type="ds:KeyInfoType"/> |
| 121 | + <element name="RecipientKeyInfo" minOccurs="0" type="ds:KeyInfoType"/> |
| 122 | + </sequence> |
| 123 | + <attribute name="Algorithm" type="anyURI" use="required"/> |
| 124 | + </complexType> |
| 125 | + |
| 126 | + <!-- End Children of ds:KeyInfo --> |
| 127 | + |
| 128 | + <element name='ReferenceList'> |
| 129 | + <complexType> |
| 130 | + <choice minOccurs='1' maxOccurs='unbounded'> |
| 131 | + <element name='DataReference' type='xenc:ReferenceType'/> |
| 132 | + <element name='KeyReference' type='xenc:ReferenceType'/> |
| 133 | + </choice> |
| 134 | + </complexType> |
| 135 | + </element> |
| 136 | + |
| 137 | + <complexType name='ReferenceType'> |
| 138 | + <sequence> |
| 139 | + <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/> |
| 140 | + </sequence> |
| 141 | + <attribute name='URI' type='anyURI' use='required'/> |
| 142 | + </complexType> |
| 143 | + |
| 144 | + |
| 145 | + <element name='EncryptionProperties' type='xenc:EncryptionPropertiesType'/> |
| 146 | + <complexType name='EncryptionPropertiesType'> |
| 147 | + <sequence> |
| 148 | + <element ref='xenc:EncryptionProperty' maxOccurs='unbounded'/> |
| 149 | + </sequence> |
| 150 | + <attribute name='Id' type='ID' use='optional'/> |
| 151 | + </complexType> |
| 152 | + |
| 153 | + <element name='EncryptionProperty' type='xenc:EncryptionPropertyType'/> |
| 154 | + <complexType name='EncryptionPropertyType' mixed='true'> |
| 155 | + <choice maxOccurs='unbounded'> |
| 156 | + <any namespace='##other' processContents='lax'/> |
| 157 | + </choice> |
| 158 | + <attribute name='Target' type='anyURI' use='optional'/> |
| 159 | + <attribute name='Id' type='ID' use='optional'/> |
| 160 | + <anyAttribute namespace="http://www.w3.org/XML/1998/namespace"/> |
| 161 | + </complexType> |
| 162 | + |
| 163 | + <!-- Children of ds:KeyValue --> |
| 164 | + |
| 165 | + <element name="DHKeyValue" type="xenc:DHKeyValueType"/> |
| 166 | + <complexType name="DHKeyValueType"> |
| 167 | + <sequence> |
| 168 | + <sequence minOccurs="0"> |
| 169 | + <element name="P" type="ds:CryptoBinary"/> |
| 170 | + <element name="Q" type="ds:CryptoBinary"/> |
| 171 | + <element name="Generator" type="ds:CryptoBinary"/> |
| 172 | + </sequence> |
| 173 | + <element name="Public" type="ds:CryptoBinary"/> |
| 174 | + <sequence minOccurs="0"> |
| 175 | + <element name="seed" type="ds:CryptoBinary"/> |
| 176 | + <element name="pgenCounter" type="ds:CryptoBinary"/> |
| 177 | + </sequence> |
| 178 | + </sequence> |
| 179 | + </complexType> |
| 180 | + |
| 181 | + <!-- End Children of ds:KeyValue --> |
| 182 | + |
| 183 | +</schema> |
| 184 | + |
0 commit comments