blob: 969dbb18c21e32ae80080095121f3c4939e08710 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001<!-- DTD for XML Signatures
2 http://www.w3.org/2000/09/xmldsig#
3 Joseph Reagle $last changed 20001215$
4
5 http://www.w3.org/2000/09/xmldsig#
6 $Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $
7
8 Copyright 2001 The Internet Society and W3C (Massachusetts Institute
9 of Technology, Institut National de Recherche en Informatique et en
10 Automatique, Keio University). All Rights Reserved.
11 http://www.w3.org/Consortium/Legal/
12
13 This document is governed by the W3C Software License [1] as described
14 in the FAQ [2].
15
16 [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
17 [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
18-->
19
20
21<!--
22
23The following entity declarations enable external/flexible content in
24the Signature content model.
25
26#PCDATA emulates schema string; when combined with element types it
27emulates schema's mixed content type.
28
29%foo.ANY permits the user to include their own element types from
30other namespaces, for example:
31 <!ENTITY % KeyValue.ANY '| ecds:ECDSAKeyValue'>
32 ...
33 <!ELEMENT ecds:ECDSAKeyValue (#PCDATA) >
34
35-->
36
37<!ENTITY % Object.ANY ''>
38<!ENTITY % Method.ANY ''>
39<!ENTITY % Transform.ANY ''>
40<!ENTITY % SignatureProperty.ANY ''>
41<!ENTITY % KeyInfo.ANY ''>
42<!ENTITY % KeyValue.ANY ''>
43<!ENTITY % PGPData.ANY ''>
44<!ENTITY % X509Data.ANY ''>
45<!ENTITY % SPKIData.ANY ''>
46
47
48
49<!-- Start Core Signature declarations, these should NOT be altered -->
50
51<!ELEMENT Signature (SignedInfo, SignatureValue, KeyInfo?, Object*) >
52<!ATTLIST Signature
53 xmlns CDATA #FIXED 'http://www.w3.org/2000/09/xmldsig#'
54 Id ID #IMPLIED >
55
56<!ELEMENT SignatureValue (#PCDATA) >
57<!ATTLIST SignatureValue
58 Id ID #IMPLIED>
59
60<!ELEMENT SignedInfo (CanonicalizationMethod,
61 SignatureMethod, Reference+) >
62<!ATTLIST SignedInfo
63 Id ID #IMPLIED
64>
65
66<!ELEMENT CanonicalizationMethod (#PCDATA %Method.ANY;)* >
67<!ATTLIST CanonicalizationMethod
68 Algorithm CDATA #REQUIRED >
69
70<!ELEMENT SignatureMethod (#PCDATA|HMACOutputLength %Method.ANY;)* >
71<!ATTLIST SignatureMethod
72 Algorithm CDATA #REQUIRED >
73
74<!ELEMENT Reference (Transforms?, DigestMethod, DigestValue) >
75<!ATTLIST Reference
76 Id ID #IMPLIED
77 URI CDATA #IMPLIED
78 Type CDATA #IMPLIED>
79
80
81<!ELEMENT Transforms (Transform+)>
82
83<!ELEMENT Transform (#PCDATA|XPath %Transform.ANY;)* >
84<!ATTLIST Transform
85 Algorithm CDATA #REQUIRED >
86
87<!ELEMENT XPath (#PCDATA) >
88
89<!ELEMENT DigestMethod (#PCDATA %Method.ANY;)* >
90<!ATTLIST DigestMethod
91 Algorithm CDATA #REQUIRED >
92
93<!ELEMENT DigestValue (#PCDATA) >
94
95<!ELEMENT KeyInfo (#PCDATA|KeyName|KeyValue|RetrievalMethod|
96 X509Data|PGPData|SPKIData|MgmtData %KeyInfo.ANY;)* >
97<!ATTLIST KeyInfo
98 Id ID #IMPLIED >
99
100<!-- Key Information -->
101
102<!ELEMENT KeyName (#PCDATA) >
103<!ELEMENT KeyValue (#PCDATA|DSAKeyValue|RSAKeyValue %KeyValue.ANY;)* >
104<!ELEMENT MgmtData (#PCDATA) >
105
106<!ELEMENT RetrievalMethod (Transforms?) >
107<!ATTLIST RetrievalMethod
108 URI CDATA #REQUIRED
109 Type CDATA #IMPLIED >
110
111<!-- X.509 Data -->
112
113<!ELEMENT X509Data ((X509IssuerSerial | X509SKI | X509SubjectName |
114 X509Certificate | X509CRL )+ %X509Data.ANY;)>
115<!ELEMENT X509IssuerSerial (X509IssuerName, X509SerialNumber) >
116<!ELEMENT X509IssuerName (#PCDATA) >
117<!ELEMENT X509SubjectName (#PCDATA) >
118<!ELEMENT X509SerialNumber (#PCDATA) >
119<!ELEMENT X509SKI (#PCDATA) >
120<!ELEMENT X509Certificate (#PCDATA) >
121<!ELEMENT X509CRL (#PCDATA) >
122
123<!-- PGPData -->
124
125<!ELEMENT PGPData ((PGPKeyID, PGPKeyPacket?) | (PGPKeyPacket) %PGPData.ANY;) >
126<!ELEMENT PGPKeyPacket (#PCDATA) >
127<!ELEMENT PGPKeyID (#PCDATA) >
128
129<!-- SPKI Data -->
130
131<!ELEMENT SPKIData (SPKISexp %SPKIData.ANY;) >
132<!ELEMENT SPKISexp (#PCDATA) >
133
134<!-- Extensible Content -->
135
136<!ELEMENT Object (#PCDATA|Signature|SignatureProperties|Manifest %Object.ANY;)* >
137<!ATTLIST Object
138 Id ID #IMPLIED
139 MimeType CDATA #IMPLIED
140 Encoding CDATA #IMPLIED >
141
142<!ELEMENT Manifest (Reference+) >
143<!ATTLIST Manifest
144 Id ID #IMPLIED >
145
146<!ELEMENT SignatureProperties (SignatureProperty+) >
147<!ATTLIST SignatureProperties
148 Id ID #IMPLIED >
149
150<!ELEMENT SignatureProperty (#PCDATA %SignatureProperty.ANY;)* >
151<!ATTLIST SignatureProperty
152 Target CDATA #REQUIRED
153 Id ID #IMPLIED >
154
155<!-- Algorithm Parameters -->
156
157<!ELEMENT HMACOutputLength (#PCDATA) >
158
159<!ELEMENT DSAKeyValue ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) >
160<!ELEMENT P (#PCDATA) >
161<!ELEMENT Q (#PCDATA) >
162<!ELEMENT G (#PCDATA) >
163<!ELEMENT Y (#PCDATA) >
164<!ELEMENT J (#PCDATA) >
165<!ELEMENT Seed (#PCDATA) >
166<!ELEMENT PgenCounter (#PCDATA) >
167
168<!ELEMENT RSAKeyValue (Modulus, Exponent) >
169<!ELEMENT Modulus (#PCDATA) >
170<!ELEMENT Exponent (#PCDATA) >
171