1# xmldsig-core.sg  --  Slightly edited after generation
2# $Id: xmldsig-core.sg,v 1.3 2007-09-24 02:34:34 sampo Exp $
3
4target(ds, http://www.w3.org/2000/09/xmldsig#)
5ns(xs, http://www.w3.org/2001/XMLSchema)
6ns(exca, http://www.w3.org/2001/10/xml-exc-c14n#)
7ns(xenc, http://www.w3.org/2001/04/xmlenc#)
8
9%CryptoBinary:	 base(xs:base64Binary) ;
10
11Signature	 -> %ds:SignatureType
12%SignatureType:
13  ds:SignedInfo
14  ds:SignatureValue
15  ds:KeyInfo?
16  ds:Object*
17  @Id?	 -> %xs:ID
18  ;
19
20SignatureValue	 -> %ds:SignatureValueType
21%SignatureValueType:	 base(xs:base64Binary)
22  @Id?	 -> %xs:ID
23  ;
24
25SignedInfo	 -> %ds:SignedInfoType
26%SignedInfoType:
27  ds:CanonicalizationMethod
28  ds:SignatureMethod
29  ds:Reference+
30  @Id?	 -> %xs:ID
31  ;
32
33CanonicalizationMethod	 -> %ds:CanonicalizationMethodType
34%CanonicalizationMethodType:
35  any*
36  @Algorithm	 -> %xs:anyURI
37  ;
38
39SignatureMethod	 -> %ds:SignatureMethodType
40%SignatureMethodType:
41  ds:HMACOutputLength?	 -> %ds:HMACOutputLengthType
42  any*
43  @Algorithm	 -> %xs:anyURI
44  ;
45
46Reference	 -> %ds:ReferenceType
47%ReferenceType:
48  ds:Transforms?
49  ds:DigestMethod
50  ds:DigestValue
51  @Id?	 -> %xs:ID
52  @URI?	 -> %xs:anyURI
53  @Type?	 -> %xs:anyURI
54  ;
55
56Transforms	 -> %ds:TransformsType
57%TransformsType:
58  ds:Transform+
59  ;
60
61Transform	 -> %ds:TransformType
62%TransformType:
63  ds:XPath*	 -> %xs:string
64  exca:InclusiveNamespaces?
65  any*
66  @Algorithm	 -> %xs:anyURI
67  ;
68
69DigestMethod	 -> %ds:DigestMethodType
70%DigestMethodType:
71  any*
72  @Algorithm	 -> %xs:anyURI
73  ;
74
75DigestValue	 -> %ds:DigestValueType
76%DigestValueType:	 base(xs:base64Binary) ;
77
78KeyInfo	 -> %ds:KeyInfoType
79%KeyInfoType:
80  ds:KeyName*
81  ds:KeyValue*
82  ds:RetrievalMethod*
83  ds:X509Data*
84  ds:PGPData*
85  ds:SPKIData*
86  ds:MgmtData*
87  xenc:EncryptedKey*
88  any*
89  @Id?	 -> %xs:ID
90  ;
91
92KeyName	 -> %xs:string
93
94MgmtData	 -> %xs:string
95
96KeyValue	 -> %ds:KeyValueType
97%KeyValueType:
98  ds:DSAKeyValue?
99  ds:RSAKeyValue?
100  any?
101  ;
102
103RetrievalMethod	 -> %ds:RetrievalMethodType
104%RetrievalMethodType:
105  ds:Transforms?
106  @URI?	 -> %xs:anyURI
107  @Type?	 -> %xs:anyURI
108  ;
109
110X509Data	 -> %ds:X509DataType
111%X509DataType:
112       ds:X509IssuerSerial*	 -> %ds:X509IssuerSerialType
113       ds:X509SKI*	 -> %xs:base64Binary
114       ds:X509SubjectName*	 -> %xs:string
115       ds:X509Certificate*	 -> %xs:base64Binary
116       ds:X509CRL*	 -> %xs:base64Binary
117       any*
118       ;
119
120%X509IssuerSerialType:
121  ds:X509IssuerName	 -> %xs:string
122  ds:X509SerialNumber	 -> %xs:integer
123  ;
124
125PGPData	 -> %ds:PGPDataType
126%PGPDataType:
127  ds:PGPKeyID?	 -> %xs:base64Binary
128  ds:PGPKeyPacket?	 -> %xs:base64Binary
129  any*
130  ;
131
132SPKIData	 -> %ds:SPKIDataType
133%SPKIDataType:
134  ds:SPKISexp	 -> %xs:base64Binary
135  any?
136  ;
137
138Object	 -> %ds:ObjectType
139%ObjectType:
140  any*  processContents(lax)
141  @Id?	 -> %xs:ID
142  @MimeType?	 -> %xs:string
143  @Encoding?	 -> %xs:anyURI
144  ;
145
146Manifest	 -> %ds:ManifestType
147%ManifestType:
148  ds:Reference+
149  @Id?	 -> %xs:ID
150  ;
151
152SignatureProperties	 -> %ds:SignaturePropertiesType
153%SignaturePropertiesType:
154  ds:SignatureProperty+
155  @Id?	 -> %xs:ID
156  ;
157
158SignatureProperty	 -> %ds:SignaturePropertyType
159%SignaturePropertyType:
160  any+
161  @Target	 -> %xs:anyURI
162  @Id?	 -> %xs:ID
163  ;
164
165%HMACOutputLengthType:	 base(xs:integer) ;
166
167DSAKeyValue	 -> %ds:DSAKeyValueType
168%DSAKeyValueType:
169  ds:P?	 -> %ds:CryptoBinary
170  ds:Q?	 -> %ds:CryptoBinary
171  ds:G?	 -> %ds:CryptoBinary
172  ds:Y	 -> %ds:CryptoBinary
173  ds:J?	 -> %ds:CryptoBinary
174  ds:Seed?	 -> %ds:CryptoBinary
175  ds:PgenCounter?	 -> %ds:CryptoBinary
176  ;
177
178RSAKeyValue	 -> %ds:RSAKeyValueType
179%RSAKeyValueType:
180  ds:Modulus	 -> %ds:CryptoBinary
181  ds:Exponent	 -> %ds:CryptoBinary
182  ;
183
184#EOF
185