companies-house-gateway 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +3 -0
  3. data/CHANGELOG.md +20 -0
  4. data/Gemfile +3 -0
  5. data/LICENSE +22 -0
  6. data/README.md +28 -0
  7. data/companies_house_gateway.gemspec +22 -0
  8. data/lib/companies_house_gateway.rb +60 -0
  9. data/lib/companies_house_gateway/checks/check.rb +66 -0
  10. data/lib/companies_house_gateway/checks/company_appointments.rb +14 -0
  11. data/lib/companies_house_gateway/checks/company_details.rb +11 -0
  12. data/lib/companies_house_gateway/checks/document.rb +10 -0
  13. data/lib/companies_house_gateway/checks/document_info.rb +11 -0
  14. data/lib/companies_house_gateway/checks/filing_history.rb +12 -0
  15. data/lib/companies_house_gateway/checks/mortgages.rb +16 -0
  16. data/lib/companies_house_gateway/checks/name_search.rb +17 -0
  17. data/lib/companies_house_gateway/checks/number_search.rb +13 -0
  18. data/lib/companies_house_gateway/checks/officer_details.rb +12 -0
  19. data/lib/companies_house_gateway/checks/officer_search.rb +16 -0
  20. data/lib/companies_house_gateway/client.rb +45 -0
  21. data/lib/companies_house_gateway/config.rb +31 -0
  22. data/lib/companies_house_gateway/constants.rb +8 -0
  23. data/lib/companies_house_gateway/errors/companies_house_gateway_error.rb +18 -0
  24. data/lib/companies_house_gateway/request.rb +105 -0
  25. data/lib/companies_house_gateway/util.rb +20 -0
  26. data/lib/companies_house_gateway/version.rb +3 -0
  27. data/spec/checks/company_appointments_spec.rb +16 -0
  28. data/spec/checks/company_details_spec.rb +10 -0
  29. data/spec/checks/document_info_spec.rb +16 -0
  30. data/spec/checks/document_spec.rb +11 -0
  31. data/spec/checks/filing_history_spec.rb +10 -0
  32. data/spec/checks/mortgages_spec.rb +16 -0
  33. data/spec/checks/name_search_spec.rb +10 -0
  34. data/spec/checks/number_search_spec.rb +10 -0
  35. data/spec/checks/officer_details_spec.rb +11 -0
  36. data/spec/checks/officer_search_spec.rb +11 -0
  37. data/spec/client_spec.rb +58 -0
  38. data/spec/companies_house_gateway_spec.rb +49 -0
  39. data/spec/fixtures/checks/chbase.xsd +1037 -0
  40. data/spec/fixtures/checks/company_appointments.xsd +74 -0
  41. data/spec/fixtures/checks/company_details.xsd +108 -0
  42. data/spec/fixtures/checks/document.xsd +56 -0
  43. data/spec/fixtures/checks/document_info.xsd +56 -0
  44. data/spec/fixtures/checks/filing_history.xsd +77 -0
  45. data/spec/fixtures/checks/mortgages.xsd +58 -0
  46. data/spec/fixtures/checks/name_search.xsd +41 -0
  47. data/spec/fixtures/checks/number_search.xsd +29 -0
  48. data/spec/fixtures/checks/officer_details.xsd +99 -0
  49. data/spec/fixtures/checks/officer_search.xsd +37 -0
  50. data/spec/fixtures/request.xsd +290 -0
  51. data/spec/request_spec.rb +77 -0
  52. data/spec/shared_examples.rb +40 -0
  53. data/spec/spec_helper.rb +17 -0
  54. metadata +206 -0
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Companies House XML Gateway Schema -->
3
+ <!-- $Id: NumberSearch.xsd,v 1.8 2002-10-24 15:10:09 www Exp $ -->
4
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
5
+ <xs:include schemaLocation="chbase.xsd"/>
6
+ <xs:element name="NumberSearchRequest">
7
+ <xs:annotation>
8
+ <xs:documentation>Name Search Request</xs:documentation>
9
+ </xs:annotation>
10
+ <xs:complexType>
11
+ <xs:sequence>
12
+ <xs:element ref="PartialCompanyNumber"/>
13
+ <xs:element ref="DataSet" maxOccurs="4"/>
14
+ <xs:element ref="SearchRows" minOccurs="0"/>
15
+ </xs:sequence>
16
+ </xs:complexType>
17
+ </xs:element>
18
+ <xs:element name="NumberSearch">
19
+ <xs:annotation>
20
+ <xs:documentation>Name SearchResult</xs:documentation>
21
+ </xs:annotation>
22
+ <xs:complexType>
23
+ <xs:sequence>
24
+ <xs:element ref="SearchRows"/>
25
+ <xs:element ref="CoSearchItem" minOccurs="0" maxOccurs="unbounded"/>
26
+ </xs:sequence>
27
+ </xs:complexType>
28
+ </xs:element>
29
+ </xs:schema>
@@ -0,0 +1,99 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by Companies House (Companies House) -->
3
+ <!-- Companies House XML Gateway Schema -->
4
+ <!-- $Id: OfficerDetails.xsd,v 1.2 2005-01-11 13:51:21 www Exp $ -->
5
+ <!-- edited with XML Spy v4.3 (http://www.xmlspy.com) by Martin Wood (Orchid Telematics Ltd/Software Development) -->
6
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
7
+ <xs:include schemaLocation="chbase.xsd"/>
8
+ <xs:element name="OfficerDetails">
9
+ <xs:annotation>
10
+ <xs:documentation>Officer Appointments Search Result</xs:documentation>
11
+ </xs:annotation>
12
+ <xs:complexType>
13
+ <xs:sequence>
14
+ <xs:element ref="Person"/>
15
+ <xs:element name="ApptCount" minOccurs="0">
16
+ <xs:annotation>
17
+ <xs:documentation>Contains counts for the various types of appointments, only if the officer has current appointments</xs:documentation>
18
+ </xs:annotation>
19
+ <xs:complexType>
20
+ <xs:sequence>
21
+ <xs:element ref="NumCurrentAppt"/>
22
+ <xs:element ref="NumDissolvedAppt"/>
23
+ <xs:element ref="NumResignedAppt"/>
24
+ </xs:sequence>
25
+ </xs:complexType>
26
+ </xs:element>
27
+ <xs:element ref="NumDisqualOrders" minOccurs="0"/>
28
+ <xs:element ref="OfficerAppt" minOccurs="0" maxOccurs="unbounded"/>
29
+ <xs:element ref="OfficerDisq" minOccurs="0" maxOccurs="unbounded"/>
30
+ <xs:element ref="ContinuationKey" minOccurs="0"/>
31
+ </xs:sequence>
32
+ </xs:complexType>
33
+ </xs:element>
34
+ <xs:element name="OfficerDetailsRequest">
35
+ <xs:annotation>
36
+ <xs:documentation>Officer Appointments Request</xs:documentation>
37
+ </xs:annotation>
38
+ <xs:complexType>
39
+ <xs:sequence>
40
+ <xs:element ref="PersonID"/>
41
+ <xs:element ref="UserReference"/>
42
+ <xs:element ref="ContinuationKey" minOccurs="0"/>
43
+ </xs:sequence>
44
+ </xs:complexType>
45
+ </xs:element>
46
+ <xs:element name="OfficerAppt" type="OfficerApptCPLXType">
47
+ <xs:annotation>
48
+ <xs:documentation>A single officer appointment</xs:documentation>
49
+ </xs:annotation>
50
+ </xs:element>
51
+ <xs:complexType name="OfficerApptCPLXType">
52
+ <xs:annotation>
53
+ <xs:documentation>Officer Appointment Complex Type</xs:documentation>
54
+ </xs:annotation>
55
+ <xs:sequence>
56
+ <xs:element ref="CompanyName"/>
57
+ <xs:element ref="CompanyNumber"/>
58
+ <xs:element ref="CompanyStatus"/>
59
+ <xs:element ref="AppointmentStatus"/>
60
+ <xs:element ref="AppointmentType"/>
61
+ <xs:element ref="ApptDatePrefix" minOccurs="0"/>
62
+ <xs:element ref="AppointmentDate"/>
63
+ <xs:element ref="ResignationDate" minOccurs="0"/>
64
+ <xs:element ref="Occupation" minOccurs="0"/>
65
+ </xs:sequence>
66
+ </xs:complexType>
67
+ <xs:complexType name="OfficerDisqCPLXType">
68
+ <xs:sequence>
69
+ <xs:element ref="CompanyName"/>
70
+ <xs:element ref="CompanyNumber"/>
71
+ <xs:element name="DisqReason" type="xs:string">
72
+ <xs:annotation>
73
+ <xs:documentation>Reason for the disqualification</xs:documentation>
74
+ </xs:annotation>
75
+ </xs:element>
76
+ <xs:element ref="StartDate"/>
77
+ <xs:element ref="EndDate"/>
78
+ <xs:element name="Exemption" type="DisqExemptionCPLXType" minOccurs="0" maxOccurs="unbounded">
79
+ <xs:annotation>
80
+ <xs:documentation>An exemption from the disqualification order</xs:documentation>
81
+ </xs:annotation>
82
+ </xs:element>
83
+ </xs:sequence>
84
+ </xs:complexType>
85
+ <xs:element name="OfficerDisq" type="OfficerDisqCPLXType">
86
+ <xs:annotation>
87
+ <xs:documentation>An Officer Disqualification order</xs:documentation>
88
+ </xs:annotation>
89
+ </xs:element>
90
+ <xs:complexType name="DisqExemptionCPLXType">
91
+ <xs:sequence>
92
+ <xs:element ref="CompanyName"/>
93
+ <xs:element ref="CompanyNumber"/>
94
+ <xs:element ref="StartDate"/>
95
+ <xs:element ref="EndDate"/>
96
+ </xs:sequence>
97
+ </xs:complexType>
98
+ <xs:element name="DisqExemption"/>
99
+ </xs:schema>
@@ -0,0 +1,37 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Companies House XML Gateway Schema -->
3
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
4
+ <xs:include schemaLocation="chbase.xsd"/>
5
+ <xs:element name="OfficerSearchRequest">
6
+ <xs:annotation>
7
+ <xs:documentation>Officer Search Request</xs:documentation>
8
+ </xs:annotation>
9
+ <xs:complexType>
10
+ <xs:sequence>
11
+ <xs:element ref="Surname"/>
12
+ <xs:element ref="Forename" minOccurs="0" maxOccurs="2"/>
13
+ <xs:element ref="PostTown" minOccurs="0"/>
14
+ <xs:element ref="OfficerType"/>
15
+ <xs:element name="CountryOfResidence" type="xs:string" minOccurs="0">
16
+ <xs:annotation>
17
+ <xs:documentation>Normal country of residence for the officer</xs:documentation>
18
+ </xs:annotation>
19
+ </xs:element>
20
+ <xs:element ref="IncludeResignedInd" minOccurs="0"/>
21
+ <xs:element ref="ContinuationKey" minOccurs="0"/>
22
+ </xs:sequence>
23
+ </xs:complexType>
24
+ </xs:element>
25
+ <xs:element name="OfficerSearch">
26
+ <xs:annotation>
27
+ <xs:documentation>Officer Search Result</xs:documentation>
28
+ </xs:annotation>
29
+ <xs:complexType>
30
+ <xs:sequence>
31
+ <xs:element ref="ContinuationKey" minOccurs="0"/>
32
+ <xs:element ref="SearchRows"/>
33
+ <xs:element ref="OfficerSearchItem" minOccurs="0" maxOccurs="unbounded"/>
34
+ </xs:sequence>
35
+ </xs:complexType>
36
+ </xs:element>
37
+ </xs:schema>
@@ -0,0 +1,290 @@
1
+ <?xml version="1.0"?>
2
+ <!-- Developed by Office of the e-Envoy, www.e-envoy.gov.uk. Conforms to w3c http://www.w3.org/TR/XMLSchema-->
3
+ <xsd:schema targetNamespace="http://www.govtalk.gov.uk/CM/envelope" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:gt="http://www.govtalk.gov.uk/CM/core" xmlns="http://www.govtalk.gov.uk/CM/envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" id="GovTalk-Envelope">
4
+ <xsd:annotation>
5
+ <xsd:documentation>
6
+ This schema is used as the envelope for all GovTalk messages. It is
7
+ described in detail in a separate document on the GovTalk web site.
8
+ </xsd:documentation>
9
+ <xsd:appinfo>
10
+ <gt:KeyWords> GovTalk, header, envelope </gt:KeyWords>
11
+ </xsd:appinfo>
12
+ </xsd:annotation>
13
+ <!--<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>-->
14
+ <xsd:element name="GovTalkMessage">
15
+ <xsd:complexType>
16
+ <xsd:sequence>
17
+ <xsd:element name="EnvelopeVersion" type="xsd:string"/>
18
+ <xsd:element name="Header">
19
+ <xsd:complexType>
20
+ <xsd:sequence>
21
+ <xsd:element name="MessageDetails">
22
+ <xsd:complexType>
23
+ <xsd:sequence>
24
+ <xsd:element name="Class">
25
+ <xsd:simpleType>
26
+ <xsd:restriction base="UnicodeNameString">
27
+ <xsd:maxLength value="32"/>
28
+ <xsd:minLength value="4"/>
29
+ </xsd:restriction>
30
+ </xsd:simpleType>
31
+ </xsd:element>
32
+ <xsd:element name="Qualifier">
33
+ <xsd:simpleType>
34
+ <xsd:restriction base="xsd:string">
35
+ <xsd:enumeration value="request"/>
36
+ <xsd:enumeration value="acknowledgement"/>
37
+ <xsd:enumeration value="response"/>
38
+ <xsd:enumeration value="poll"/>
39
+ <xsd:enumeration value="error"/>
40
+ </xsd:restriction>
41
+ </xsd:simpleType>
42
+ </xsd:element>
43
+ <xsd:element name="Function" minOccurs="0">
44
+ <xsd:simpleType>
45
+ <xsd:restriction base="xsd:string">
46
+ <xsd:enumeration value="list"/>
47
+ <xsd:enumeration value="read"/>
48
+ <xsd:enumeration value="delete"/>
49
+ <xsd:enumeration value="add"/>
50
+ <xsd:enumeration value="submit"/>
51
+ </xsd:restriction>
52
+ </xsd:simpleType>
53
+ </xsd:element>
54
+ <xsd:element name="TransactionID" minOccurs="0">
55
+ <xsd:simpleType>
56
+ <xsd:restriction base="xsd:string">
57
+ <xsd:minLength value="0"/>
58
+ <xsd:maxLength value="32"/>
59
+ <xsd:pattern value="[0-9A-F]{0,32}"/>
60
+ </xsd:restriction>
61
+ </xsd:simpleType>
62
+ </xsd:element>
63
+ <xsd:element name="AuditID" minOccurs="0">
64
+ <xsd:simpleType>
65
+ <xsd:restriction base="xsd:string">
66
+ <xsd:minLength value="0"/>
67
+ <xsd:maxLength value="32"/>
68
+ <xsd:pattern value="[A-F0-9]{0,32}"/>
69
+ </xsd:restriction>
70
+ </xsd:simpleType>
71
+ </xsd:element>
72
+ <xsd:element name="CorrelationID" minOccurs="0">
73
+ <xsd:simpleType>
74
+ <xsd:restriction base="xsd:string">
75
+ <xsd:minLength value="0"/>
76
+ <xsd:maxLength value="32"/>
77
+ <xsd:pattern value="[0-9A-F]{0,32}"/>
78
+ </xsd:restriction>
79
+ </xsd:simpleType>
80
+ </xsd:element>
81
+ <xsd:element name="ResponseEndPoint" minOccurs="0">
82
+ <xsd:complexType>
83
+ <xsd:simpleContent>
84
+ <xsd:extension base="xsd:string">
85
+ <xsd:attribute name="PollInterval" type="xsd:integer" default="2"/>
86
+ </xsd:extension>
87
+ </xsd:simpleContent>
88
+ </xsd:complexType>
89
+ </xsd:element>
90
+ <xsd:element name="Transformation" minOccurs="0">
91
+ <xsd:simpleType>
92
+ <xsd:restriction base="xsd:string">
93
+ <xsd:enumeration value="XML"/>
94
+ <xsd:enumeration value="HTML"/>
95
+ <xsd:enumeration value="text"/>
96
+ </xsd:restriction>
97
+ </xsd:simpleType>
98
+ </xsd:element>
99
+ <xsd:element name="GatewayTest" type="xsd:integer" minOccurs="0"/>
100
+ <xsd:element name="GatewayTimestamp" type="xsd:dateTime" minOccurs="0"/>
101
+ </xsd:sequence>
102
+ </xsd:complexType>
103
+ </xsd:element>
104
+ <xsd:element name="SenderDetails" minOccurs="0">
105
+ <xsd:complexType>
106
+ <xsd:sequence>
107
+ <xsd:element ref="IDAuthentication" minOccurs="0"/>
108
+ <xsd:element name="X509Certificate" minOccurs="0">
109
+ <xsd:simpleType>
110
+ <xsd:restriction base="xsd:base64Binary"/>
111
+ </xsd:simpleType>
112
+ </xsd:element>
113
+ <xsd:element name="EmailAddress" minOccurs="0">
114
+ <xsd:simpleType>
115
+ <xsd:restriction base="xsd:string">
116
+ <xsd:maxLength value="129"/>
117
+ <xsd:minLength value="3"/>
118
+ <xsd:pattern value="[A-Za-z0-9\.\-_]{1,64}@[A-Za-z0-9\.\-_]{1,64}"/>
119
+ </xsd:restriction>
120
+ </xsd:simpleType>
121
+ </xsd:element>
122
+ </xsd:sequence>
123
+ </xsd:complexType>
124
+ </xsd:element>
125
+ </xsd:sequence>
126
+ </xsd:complexType>
127
+ </xsd:element>
128
+ <xsd:element name="GovTalkDetails">
129
+ <xsd:complexType>
130
+ <xsd:sequence>
131
+ <xsd:element name="Keys" minOccurs="0">
132
+ <xsd:complexType>
133
+ <xsd:sequence>
134
+ <xsd:element name="Key" minOccurs="0" maxOccurs="unbounded">
135
+ <xsd:complexType>
136
+ <xsd:simpleContent>
137
+ <xsd:extension base="UnicodeNameString">
138
+ <xsd:attribute name="Type" type="UnicodeNameString" use="required"/>
139
+ </xsd:extension>
140
+ </xsd:simpleContent>
141
+ </xsd:complexType>
142
+ </xsd:element>
143
+ </xsd:sequence>
144
+ </xsd:complexType>
145
+ </xsd:element>
146
+ <xsd:element name="TargetDetails" minOccurs="0">
147
+ <xsd:complexType>
148
+ <xsd:sequence>
149
+ <xsd:element name="Organisation" minOccurs="0" maxOccurs="unbounded">
150
+ <xsd:simpleType>
151
+ <xsd:restriction base="xsd:string">
152
+ <xsd:minLength value="1"/>
153
+ <xsd:maxLength value="64"/>
154
+ </xsd:restriction>
155
+ </xsd:simpleType>
156
+ </xsd:element>
157
+ </xsd:sequence>
158
+ </xsd:complexType>
159
+ </xsd:element>
160
+ <xsd:element name="GatewayValidation" minOccurs="0">
161
+ <xsd:complexType>
162
+ <xsd:sequence>
163
+ <xsd:element name="Processed">
164
+ <xsd:simpleType>
165
+ <xsd:restriction base="xsd:string">
166
+ <xsd:enumeration value="no"/>
167
+ <xsd:enumeration value="yes"/>
168
+ </xsd:restriction>
169
+ </xsd:simpleType>
170
+ </xsd:element>
171
+ <xsd:element name="Result">
172
+ <xsd:simpleType>
173
+ <xsd:restriction base="xsd:string">
174
+ <xsd:enumeration value="pass"/>
175
+ <xsd:enumeration value="fail"/>
176
+ </xsd:restriction>
177
+ </xsd:simpleType>
178
+ </xsd:element>
179
+ </xsd:sequence>
180
+ </xsd:complexType>
181
+ </xsd:element>
182
+ <xsd:element name="ChannelRouting" minOccurs="0" maxOccurs="unbounded">
183
+ <xsd:complexType>
184
+ <xsd:sequence>
185
+ <xsd:element name="Channel">
186
+ <xsd:complexType>
187
+ <xsd:sequence>
188
+ <xsd:choice>
189
+ <xsd:element name="URI" type="xsd:anyURI"/>
190
+ <xsd:element name="Name" type="xsd:string"/>
191
+ </xsd:choice>
192
+ <xsd:element name="Product" type="xsd:string" minOccurs="0"/>
193
+ <xsd:element name="Version" type="xsd:string" minOccurs="0"/>
194
+ </xsd:sequence>
195
+ </xsd:complexType>
196
+ </xsd:element>
197
+ <xsd:element name="ID" minOccurs="0" maxOccurs="unbounded">
198
+ <xsd:complexType>
199
+ <xsd:simpleContent>
200
+ <xsd:extension base="xsd:string">
201
+ <xsd:attribute name="Type" type="xsd:string" use="required"/>
202
+ </xsd:extension>
203
+ </xsd:simpleContent>
204
+ </xsd:complexType>
205
+ </xsd:element>
206
+ <xsd:element name="Timestamp" type="xsd:dateTime" minOccurs="0"/>
207
+ </xsd:sequence>
208
+ </xsd:complexType>
209
+ </xsd:element>
210
+ <xsd:element name="GovTalkErrors" minOccurs="0">
211
+ <xsd:complexType>
212
+ <xsd:sequence>
213
+ <xsd:element name="Error" maxOccurs="unbounded">
214
+ <xsd:complexType>
215
+ <xsd:sequence>
216
+ <xsd:element name="RaisedBy" type="xsd:string"/>
217
+ <xsd:element name="Number" type="xsd:integer" minOccurs="0"/>
218
+ <xsd:element name="Type">
219
+ <xsd:simpleType>
220
+ <xsd:restriction base="xsd:string">
221
+ <xsd:enumeration value="fatal"/>
222
+ <xsd:enumeration value="recoverable"/>
223
+ <xsd:enumeration value="business"/>
224
+ <xsd:enumeration value="warning"/>
225
+ </xsd:restriction>
226
+ </xsd:simpleType>
227
+ </xsd:element>
228
+ <xsd:element name="Text" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
229
+ <xsd:element name="Location" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
230
+ </xsd:sequence>
231
+ </xsd:complexType>
232
+ </xsd:element>
233
+ </xsd:sequence>
234
+ </xsd:complexType>
235
+ </xsd:element>
236
+ <xsd:element name="GatewayAdditions" minOccurs="0">
237
+ <xsd:complexType>
238
+ <xsd:sequence>
239
+ <xsd:any namespace="##local"/>
240
+ </xsd:sequence>
241
+ <xsd:anyAttribute namespace="##local"/>
242
+ </xsd:complexType>
243
+ </xsd:element>
244
+ </xsd:sequence>
245
+ </xsd:complexType>
246
+ </xsd:element>
247
+ <xsd:element name="Body" minOccurs="0">
248
+ <xsd:complexType>
249
+ <xsd:sequence>
250
+ <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
251
+ </xsd:sequence>
252
+ <xsd:anyAttribute namespace="##any"/>
253
+ </xsd:complexType>
254
+ </xsd:element>
255
+ </xsd:sequence>
256
+ </xsd:complexType>
257
+ </xsd:element>
258
+ <xsd:element name="IDAuthentication">
259
+ <xsd:complexType>
260
+ <xsd:sequence>
261
+ <xsd:element name="SenderID" type="xsd:string" minOccurs="0"/>
262
+ <xsd:element name="Authentication" maxOccurs="unbounded">
263
+ <xsd:complexType>
264
+ <xsd:sequence>
265
+ <xsd:element name="Method">
266
+ <xsd:simpleType>
267
+ <xsd:restriction base="xsd:string">
268
+ <xsd:enumeration value="clear"/>
269
+ <xsd:enumeration value="CHMD5"/>
270
+ <xsd:enumeration value="W3Csigned"/>
271
+ </xsd:restriction>
272
+ </xsd:simpleType>
273
+ </xsd:element>
274
+ <xsd:element name="Role" type="xsd:string" minOccurs="0"/>
275
+ <xsd:choice>
276
+ <xsd:element name="Value" type="xsd:string"/>
277
+ <!--<xsd:element ref="dsig:Signature"/>-->
278
+ </xsd:choice>
279
+ </xsd:sequence>
280
+ </xsd:complexType>
281
+ </xsd:element>
282
+ </xsd:sequence>
283
+ </xsd:complexType>
284
+ </xsd:element>
285
+ <xsd:simpleType name="UnicodeNameString">
286
+ <xsd:restriction base="xsd:string">
287
+ <xsd:pattern value="[\p{L}\p{Nd}_\-\(\)\{\}]*"/>
288
+ </xsd:restriction>
289
+ </xsd:simpleType>
290
+ </xsd:schema>