xml-toolkit 1.0.4 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/XMLMarshaller.js
CHANGED
|
@@ -307,13 +307,15 @@ const XMLMarshaller = class {
|
|
|
307
307
|
|
|
308
308
|
_bSequence (buf, _sequence, content) {
|
|
309
309
|
|
|
310
|
-
const {element, sequence, choice, all} = _sequence,
|
|
310
|
+
const {element, sequence, choice, all, group} = _sequence, g = sequence || choice || all
|
|
311
311
|
|
|
312
|
-
if (
|
|
312
|
+
if (g) this._bSequence (buf, g, content)
|
|
313
313
|
|
|
314
314
|
if (element) {
|
|
315
315
|
|
|
316
|
-
for (
|
|
316
|
+
for (let e of Array.isArray (element) ? element : [element]) {
|
|
317
|
+
|
|
318
|
+
const {ref} = e; if (ref) e = this.xs.getByReference (ref)
|
|
317
319
|
|
|
318
320
|
const c = content [e.name]
|
|
319
321
|
|
|
@@ -322,6 +324,18 @@ const XMLMarshaller = class {
|
|
|
322
324
|
}
|
|
323
325
|
|
|
324
326
|
}
|
|
327
|
+
|
|
328
|
+
if (group) {
|
|
329
|
+
|
|
330
|
+
for (let e of Array.isArray (group) ? group : [group]) {
|
|
331
|
+
|
|
332
|
+
const {ref} = e; if (ref) e = this.xs.getByReference (ref)
|
|
333
|
+
|
|
334
|
+
this._bSequence (buf, e, content)
|
|
335
|
+
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
}
|
|
325
339
|
|
|
326
340
|
}
|
|
327
341
|
|
package/lib/XMLSchema.js
CHANGED
|
@@ -22,6 +22,7 @@ const XMLSchema = class extends Map {
|
|
|
22
22
|
'element',
|
|
23
23
|
'complexType',
|
|
24
24
|
'simpleType',
|
|
25
|
+
'group',
|
|
25
26
|
|
|
26
27
|
]) if (type in node) {
|
|
27
28
|
|
|
@@ -78,7 +79,7 @@ XMLSchema.adjustNode = node => {
|
|
|
78
79
|
|
|
79
80
|
const [local, prefix] = attributes.get (name).split (':').reverse ()
|
|
80
81
|
|
|
81
|
-
attributes.set (name, [local, namespacesMap.get (prefix)])
|
|
82
|
+
attributes.set (name, [local, namespacesMap.get (prefix || '')])
|
|
82
83
|
|
|
83
84
|
}
|
|
84
85
|
|
|
@@ -86,6 +87,8 @@ XMLSchema.adjustNode = node => {
|
|
|
86
87
|
|
|
87
88
|
case 'attribute':
|
|
88
89
|
case 'element':
|
|
90
|
+
case 'group':
|
|
91
|
+
splitNs ('ref')
|
|
89
92
|
splitNs ('type')
|
|
90
93
|
break
|
|
91
94
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://common.kvs.pfr.com/1.0.0" xmlns:smev="urn://x-artefacts-smev-gov-ru/supplementary/commons/1.0.1" targetNamespace="http://common.kvs.pfr.com/1.0.0" elementFormDefault="qualified">
|
|
3
|
+
<xs:import namespace="urn://x-artefacts-smev-gov-ru/supplementary/commons/1.0.1" schemaLocation="smev-supplementary-commons-1.0.1.xsd"/>
|
|
4
|
+
<xs:complexType name="BirthPlaceType">
|
|
5
|
+
<xs:sequence>
|
|
6
|
+
<xs:element name="PlaceType" type="smev:string-50" nillable="false"/>
|
|
7
|
+
<xs:element name="Settlement" type="smev:string-50" nillable="false"/>
|
|
8
|
+
<xs:element name="District" type="smev:string-50" minOccurs="0"/>
|
|
9
|
+
<xs:element name="Region" type="smev:string-50" minOccurs="0"/>
|
|
10
|
+
<xs:element name="Country" type="smev:string-50" minOccurs="0"/>
|
|
11
|
+
</xs:sequence>
|
|
12
|
+
</xs:complexType>
|
|
13
|
+
<xs:complexType name="IdentificationDocumentType">
|
|
14
|
+
<xs:sequence>
|
|
15
|
+
<xs:element name="Type" type="smev:string-200" nillable="false"/>
|
|
16
|
+
<xs:element name="Document" type="smev:NotRestrictedDocumentType" nillable="false"/>
|
|
17
|
+
</xs:sequence>
|
|
18
|
+
</xs:complexType>
|
|
19
|
+
<xs:group name="AllIdentityDocumentType-Group">
|
|
20
|
+
<xs:sequence>
|
|
21
|
+
<xs:choice>
|
|
22
|
+
<xs:group ref="smev:PrimaryIdentityDocument-ModelGroup"/>
|
|
23
|
+
<xs:group ref="smev:WeakIdentityDocument-ModelGroup"/>
|
|
24
|
+
<xs:group ref="smev:TemporaryIdentityDocument-ModelGroup"/>
|
|
25
|
+
<xs:element name="PfrIdentificationDocument" type="tns:IdentificationDocumentType"/>
|
|
26
|
+
</xs:choice>
|
|
27
|
+
</xs:sequence>
|
|
28
|
+
</xs:group>
|
|
29
|
+
</xs:schema>
|
|
@@ -0,0 +1,689 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema targetNamespace="urn://x-artefacts-smev-gov-ru/supplementary/commons/1.0.1" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn://x-artefacts-smev-gov-ru/supplementary/commons/1.0.1">
|
|
3
|
+
<!--========================================== ����������������� ���� ==========================================-->
|
|
4
|
+
<xs:element name="AttachmentRef" type="tns:AttachmentRefType"/>
|
|
5
|
+
<xs:complexType name="AttachmentRefType">
|
|
6
|
+
<xs:annotation>
|
|
7
|
+
<xs:documentation>������ �� �������������� ����� ������� (������, ������) �� ��������, ����������� � ��� �� ����-���������.</xs:documentation>
|
|
8
|
+
</xs:annotation>
|
|
9
|
+
<xs:attribute name="attachmentId" type="xs:string">
|
|
10
|
+
<xs:annotation>
|
|
11
|
+
<xs:documentation>������������� ��������, �� ������� ���������. ������ ���� ����� ��������
|
|
12
|
+
//{urn://x-artefacts-smev-gov-ru/smev-core/client-interaction/basic/1.0:AttachedFile}[n]/Id/text()
|
|
13
|
+
���� ��������, �� ������� ����� ���������.</xs:documentation>
|
|
14
|
+
</xs:annotation>
|
|
15
|
+
</xs:attribute>
|
|
16
|
+
</xs:complexType>
|
|
17
|
+
<xs:element name="PrimaryIdentityDocument" type="tns:PrimaryIdentityDocumentType">
|
|
18
|
+
<xs:annotation>
|
|
19
|
+
<xs:documentation>�������� ��������, �������������� ��������.</xs:documentation>
|
|
20
|
+
</xs:annotation>
|
|
21
|
+
</xs:element>
|
|
22
|
+
<xs:element name="IdentityDocument" type="tns:AnyIdentityDocumentType">
|
|
23
|
+
<xs:annotation>
|
|
24
|
+
<xs:documentation>��������, �������������� ��������</xs:documentation>
|
|
25
|
+
</xs:annotation>
|
|
26
|
+
</xs:element>
|
|
27
|
+
<xs:element name="PassportRF" type="tns:PassportRFType">
|
|
28
|
+
<xs:annotation>
|
|
29
|
+
<xs:documentation>������� ��</xs:documentation>
|
|
30
|
+
</xs:annotation>
|
|
31
|
+
</xs:element>
|
|
32
|
+
<xs:element name="ForeignPassport" type="tns:NotRestrictedDocumentType">
|
|
33
|
+
<xs:annotation>
|
|
34
|
+
<xs:documentation>������� ������������ ����������</xs:documentation>
|
|
35
|
+
</xs:annotation>
|
|
36
|
+
</xs:element>
|
|
37
|
+
<xs:element name="ResidencePermitRF" type="tns:InternationalPassportRFType">
|
|
38
|
+
<xs:annotation>
|
|
39
|
+
<xs:documentation>��� �� ���������� � ��. ������ ����� � ������ ��������� � ���������������.</xs:documentation>
|
|
40
|
+
</xs:annotation>
|
|
41
|
+
</xs:element>
|
|
42
|
+
<xs:element name="InternationalPassportRF" type="tns:InternationalPassportRFType">
|
|
43
|
+
<xs:annotation>
|
|
44
|
+
<xs:documentation>�������������</xs:documentation>
|
|
45
|
+
</xs:annotation>
|
|
46
|
+
</xs:element>
|
|
47
|
+
<xs:element name="MilitaryPassport" type="tns:MilitaryPassportDocumentType">
|
|
48
|
+
<xs:annotation>
|
|
49
|
+
<xs:documentation>������� �����</xs:documentation>
|
|
50
|
+
</xs:annotation>
|
|
51
|
+
</xs:element>
|
|
52
|
+
<xs:element name="SailorPassport" type="tns:MilitaryPassportDocumentType">
|
|
53
|
+
<xs:annotation>
|
|
54
|
+
<xs:documentation>������� ������</xs:documentation>
|
|
55
|
+
</xs:annotation>
|
|
56
|
+
</xs:element>
|
|
57
|
+
<xs:element name="SovietPassport" type="tns:SovietPassportType">
|
|
58
|
+
<xs:annotation>
|
|
59
|
+
<xs:documentation>������� ����</xs:documentation>
|
|
60
|
+
</xs:annotation>
|
|
61
|
+
</xs:element>
|
|
62
|
+
<xs:element name="BirthCertificate" type="tns:SovietPassportType">
|
|
63
|
+
<xs:annotation>
|
|
64
|
+
<xs:documentation>������������� � ��������</xs:documentation>
|
|
65
|
+
</xs:annotation>
|
|
66
|
+
</xs:element>
|
|
67
|
+
<xs:element name="DrivingLicenseRF" type="tns:DrivingLicenseRFType">
|
|
68
|
+
<xs:annotation>
|
|
69
|
+
<xs:documentation>������������ ������������� ��</xs:documentation>
|
|
70
|
+
</xs:annotation>
|
|
71
|
+
</xs:element>
|
|
72
|
+
<xs:element name="ReleaseCertificate" type="tns:NotRestrictedDocumentType">
|
|
73
|
+
<xs:annotation>
|
|
74
|
+
<xs:documentation>������� �� ������������</xs:documentation>
|
|
75
|
+
</xs:annotation>
|
|
76
|
+
</xs:element>
|
|
77
|
+
<xs:element name="PassportLossCertificate" type="tns:NotRestrictedDocumentType">
|
|
78
|
+
<xs:annotation>
|
|
79
|
+
<xs:documentation>������� �� ����� ��������</xs:documentation>
|
|
80
|
+
</xs:annotation>
|
|
81
|
+
</xs:element>
|
|
82
|
+
<xs:element name="Form9Certificate" type="tns:NotRestrictedDocumentType">
|
|
83
|
+
<xs:annotation>
|
|
84
|
+
<xs:documentation>������� � ����������� �� ����� 9</xs:documentation>
|
|
85
|
+
</xs:annotation>
|
|
86
|
+
</xs:element>
|
|
87
|
+
<xs:element name="TemporaryIdentityCardRF" type="tns:NotRestrictedDocumentType">
|
|
88
|
+
<xs:annotation>
|
|
89
|
+
<xs:documentation>��������� ������������� �������� ���������� �� �� ����� 2�</xs:documentation>
|
|
90
|
+
</xs:annotation>
|
|
91
|
+
</xs:element>
|
|
92
|
+
<xs:complexType name="PrimaryIdentityDocumentType">
|
|
93
|
+
<xs:annotation>
|
|
94
|
+
<xs:documentation>�������� ��������, �������������� ��������</xs:documentation>
|
|
95
|
+
</xs:annotation>
|
|
96
|
+
<xs:group ref="tns:PrimaryIdentityDocument-ModelGroup"/>
|
|
97
|
+
</xs:complexType>
|
|
98
|
+
<xs:complexType name="AnyIdentityDocumentType">
|
|
99
|
+
<xs:annotation>
|
|
100
|
+
<xs:documentation>��������, �������������� ��������</xs:documentation>
|
|
101
|
+
</xs:annotation>
|
|
102
|
+
<xs:choice>
|
|
103
|
+
<xs:group ref="tns:PrimaryIdentityDocument-ModelGroup"/>
|
|
104
|
+
<xs:group ref="tns:WeakIdentityDocument-ModelGroup"/>
|
|
105
|
+
<xs:group ref="tns:TemporaryIdentityDocument-ModelGroup"/>
|
|
106
|
+
</xs:choice>
|
|
107
|
+
</xs:complexType>
|
|
108
|
+
<xs:group name="PrimaryIdentityDocument-ModelGroup">
|
|
109
|
+
<xs:annotation>
|
|
110
|
+
<xs:documentation>�������� ��������, �������������� ��������. �������� ��� ����� ��. ��������.</xs:documentation>
|
|
111
|
+
</xs:annotation>
|
|
112
|
+
<xs:choice>
|
|
113
|
+
<xs:element name="PassportRF" type="tns:PassportRFType">
|
|
114
|
+
<xs:annotation>
|
|
115
|
+
<xs:documentation>������� ��</xs:documentation>
|
|
116
|
+
</xs:annotation>
|
|
117
|
+
</xs:element>
|
|
118
|
+
<xs:element name="ForeignPassport" type="tns:NotRestrictedDocumentType">
|
|
119
|
+
<xs:annotation>
|
|
120
|
+
<xs:documentation>������� ������������ ����������</xs:documentation>
|
|
121
|
+
</xs:annotation>
|
|
122
|
+
</xs:element>
|
|
123
|
+
<xs:element name="ResidencePermitRF" type="tns:InternationalPassportRFType">
|
|
124
|
+
<xs:annotation>
|
|
125
|
+
<xs:documentation>��� �� ���������� � ��. ������ ����� � ������ ��������� � ���������������.</xs:documentation>
|
|
126
|
+
</xs:annotation>
|
|
127
|
+
</xs:element>
|
|
128
|
+
</xs:choice>
|
|
129
|
+
</xs:group>
|
|
130
|
+
<xs:group name="WeakIdentityDocument-ModelGroup">
|
|
131
|
+
<xs:annotation>
|
|
132
|
+
<xs:documentation>���������, �������������� ��������, ������������� ����������.</xs:documentation>
|
|
133
|
+
</xs:annotation>
|
|
134
|
+
<xs:choice>
|
|
135
|
+
<xs:element name="InternationalPassportRF" type="tns:InternationalPassportRFType">
|
|
136
|
+
<xs:annotation>
|
|
137
|
+
<xs:documentation>�������������</xs:documentation>
|
|
138
|
+
</xs:annotation>
|
|
139
|
+
</xs:element>
|
|
140
|
+
<xs:element name="MilitaryPassport" type="tns:MilitaryPassportDocumentType">
|
|
141
|
+
<xs:annotation>
|
|
142
|
+
<xs:documentation>������� �����</xs:documentation>
|
|
143
|
+
</xs:annotation>
|
|
144
|
+
</xs:element>
|
|
145
|
+
<xs:element name="SailorPassport" type="tns:MilitaryPassportDocumentType">
|
|
146
|
+
<xs:annotation>
|
|
147
|
+
<xs:documentation>������� ������</xs:documentation>
|
|
148
|
+
</xs:annotation>
|
|
149
|
+
</xs:element>
|
|
150
|
+
<xs:element name="SovietPassport" type="tns:SovietPassportType">
|
|
151
|
+
<xs:annotation>
|
|
152
|
+
<xs:documentation>������� ����</xs:documentation>
|
|
153
|
+
</xs:annotation>
|
|
154
|
+
</xs:element>
|
|
155
|
+
<xs:element name="BirthCertificate" type="tns:SovietPassportType">
|
|
156
|
+
<xs:annotation>
|
|
157
|
+
<xs:documentation>������������� � ��������</xs:documentation>
|
|
158
|
+
</xs:annotation>
|
|
159
|
+
</xs:element>
|
|
160
|
+
<xs:element name="DrivingLicenseRF" type="tns:DrivingLicenseRFType">
|
|
161
|
+
<xs:annotation>
|
|
162
|
+
<xs:documentation>������������ ������������� ��</xs:documentation>
|
|
163
|
+
</xs:annotation>
|
|
164
|
+
</xs:element>
|
|
165
|
+
</xs:choice>
|
|
166
|
+
</xs:group>
|
|
167
|
+
<xs:group name="TemporaryIdentityDocument-ModelGroup">
|
|
168
|
+
<xs:annotation>
|
|
169
|
+
<xs:documentation>���������, �������������� ��������, ���������.</xs:documentation>
|
|
170
|
+
</xs:annotation>
|
|
171
|
+
<xs:choice>
|
|
172
|
+
<xs:element name="ReleaseCertificate" type="tns:NotRestrictedDocumentType">
|
|
173
|
+
<xs:annotation>
|
|
174
|
+
<xs:documentation>������� �� ������������</xs:documentation>
|
|
175
|
+
</xs:annotation>
|
|
176
|
+
</xs:element>
|
|
177
|
+
<xs:element name="PassportLossCertificate" type="tns:NotRestrictedDocumentType">
|
|
178
|
+
<xs:annotation>
|
|
179
|
+
<xs:documentation>������� �� ����� ��������</xs:documentation>
|
|
180
|
+
</xs:annotation>
|
|
181
|
+
</xs:element>
|
|
182
|
+
<xs:element name="Form9Certificate" type="tns:NotRestrictedDocumentType">
|
|
183
|
+
<xs:annotation>
|
|
184
|
+
<xs:documentation>������� � ����������� �� ����� 9</xs:documentation>
|
|
185
|
+
</xs:annotation>
|
|
186
|
+
</xs:element>
|
|
187
|
+
<xs:element name="TemporaryIdentityCardRF" type="tns:NotRestrictedDocumentType">
|
|
188
|
+
<xs:annotation>
|
|
189
|
+
<xs:documentation>��������� ������������� �������� ���������� �� �� ����� 2�</xs:documentation>
|
|
190
|
+
</xs:annotation>
|
|
191
|
+
</xs:element>
|
|
192
|
+
</xs:choice>
|
|
193
|
+
</xs:group>
|
|
194
|
+
<xs:complexType name="NotRestrictedDocumentType">
|
|
195
|
+
<xs:annotation>
|
|
196
|
+
<xs:documentation>�������� � ��������������������� ������ � �������</xs:documentation>
|
|
197
|
+
</xs:annotation>
|
|
198
|
+
<xs:sequence>
|
|
199
|
+
<xs:element name="Series" type="tns:string-20" minOccurs="0">
|
|
200
|
+
<xs:annotation>
|
|
201
|
+
<xs:documentation>�����</xs:documentation>
|
|
202
|
+
</xs:annotation>
|
|
203
|
+
</xs:element>
|
|
204
|
+
<xs:element name="Number">
|
|
205
|
+
<xs:annotation>
|
|
206
|
+
<xs:documentation>�����</xs:documentation>
|
|
207
|
+
</xs:annotation>
|
|
208
|
+
<xs:simpleType>
|
|
209
|
+
<xs:restriction base="xs:string">
|
|
210
|
+
<xs:pattern value="[0-9�-��-�A-Za-z]{1,25}"/>
|
|
211
|
+
</xs:restriction>
|
|
212
|
+
</xs:simpleType>
|
|
213
|
+
</xs:element>
|
|
214
|
+
<xs:element name="IssueDate" type="xs:date">
|
|
215
|
+
<xs:annotation>
|
|
216
|
+
<xs:documentation>���� ������</xs:documentation>
|
|
217
|
+
</xs:annotation>
|
|
218
|
+
</xs:element>
|
|
219
|
+
<xs:element name="Issuer" type="tns:rus-and-num-200">
|
|
220
|
+
<xs:annotation>
|
|
221
|
+
<xs:documentation>��� �����</xs:documentation>
|
|
222
|
+
</xs:annotation>
|
|
223
|
+
</xs:element>
|
|
224
|
+
</xs:sequence>
|
|
225
|
+
</xs:complexType>
|
|
226
|
+
<xs:complexType name="PassportRFType">
|
|
227
|
+
<xs:annotation>
|
|
228
|
+
<xs:documentation>������� ��</xs:documentation>
|
|
229
|
+
</xs:annotation>
|
|
230
|
+
<xs:sequence>
|
|
231
|
+
<xs:element name="Series" type="tns:digits-4">
|
|
232
|
+
<xs:annotation>
|
|
233
|
+
<xs:documentation>�����</xs:documentation>
|
|
234
|
+
</xs:annotation>
|
|
235
|
+
</xs:element>
|
|
236
|
+
<xs:element name="Number" type="tns:digits-6">
|
|
237
|
+
<xs:annotation>
|
|
238
|
+
<xs:documentation>�����</xs:documentation>
|
|
239
|
+
</xs:annotation>
|
|
240
|
+
</xs:element>
|
|
241
|
+
<xs:element name="IssueDate" type="xs:date">
|
|
242
|
+
<xs:annotation>
|
|
243
|
+
<xs:documentation>���� ������</xs:documentation>
|
|
244
|
+
</xs:annotation>
|
|
245
|
+
</xs:element>
|
|
246
|
+
<xs:element name="Issuer" type="tns:rus-and-num-200">
|
|
247
|
+
<xs:annotation>
|
|
248
|
+
<xs:documentation>��� �����</xs:documentation>
|
|
249
|
+
</xs:annotation>
|
|
250
|
+
</xs:element>
|
|
251
|
+
</xs:sequence>
|
|
252
|
+
</xs:complexType>
|
|
253
|
+
<xs:complexType name="SovietPassportType">
|
|
254
|
+
<xs:annotation>
|
|
255
|
+
<xs:documentation>������� CCCP ��� ������������� � �������� ��.</xs:documentation>
|
|
256
|
+
</xs:annotation>
|
|
257
|
+
<xs:sequence>
|
|
258
|
+
<xs:element name="Series" type="tns:SovietStyleDocumentSeriesType">
|
|
259
|
+
<xs:annotation>
|
|
260
|
+
<xs:documentation>�����</xs:documentation>
|
|
261
|
+
</xs:annotation>
|
|
262
|
+
</xs:element>
|
|
263
|
+
<xs:element name="Number" type="tns:digits-6">
|
|
264
|
+
<xs:annotation>
|
|
265
|
+
<xs:documentation>�����</xs:documentation>
|
|
266
|
+
</xs:annotation>
|
|
267
|
+
</xs:element>
|
|
268
|
+
<xs:element name="IssueDate" type="xs:date">
|
|
269
|
+
<xs:annotation>
|
|
270
|
+
<xs:documentation>���� ������</xs:documentation>
|
|
271
|
+
</xs:annotation>
|
|
272
|
+
</xs:element>
|
|
273
|
+
<xs:element name="Issuer" type="tns:rus-and-num-200">
|
|
274
|
+
<xs:annotation>
|
|
275
|
+
<xs:documentation>��� �����</xs:documentation>
|
|
276
|
+
</xs:annotation>
|
|
277
|
+
</xs:element>
|
|
278
|
+
</xs:sequence>
|
|
279
|
+
</xs:complexType>
|
|
280
|
+
<xs:complexType name="InternationalPassportRFType">
|
|
281
|
+
<xs:annotation>
|
|
282
|
+
<xs:documentation>�������������, ���� ��� �� ���������� � ��.</xs:documentation>
|
|
283
|
+
</xs:annotation>
|
|
284
|
+
<xs:sequence>
|
|
285
|
+
<xs:element name="Series" type="tns:digits-2">
|
|
286
|
+
<xs:annotation>
|
|
287
|
+
<xs:documentation>�����</xs:documentation>
|
|
288
|
+
</xs:annotation>
|
|
289
|
+
</xs:element>
|
|
290
|
+
<xs:element name="Number" type="tns:digits-7">
|
|
291
|
+
<xs:annotation>
|
|
292
|
+
<xs:documentation>�����</xs:documentation>
|
|
293
|
+
</xs:annotation>
|
|
294
|
+
</xs:element>
|
|
295
|
+
<xs:element name="IssueDate" type="xs:date">
|
|
296
|
+
<xs:annotation>
|
|
297
|
+
<xs:documentation>���� ������</xs:documentation>
|
|
298
|
+
</xs:annotation>
|
|
299
|
+
</xs:element>
|
|
300
|
+
<xs:element name="Issuer" type="tns:rus-and-num-200">
|
|
301
|
+
<xs:annotation>
|
|
302
|
+
<xs:documentation>��� �����</xs:documentation>
|
|
303
|
+
</xs:annotation>
|
|
304
|
+
</xs:element>
|
|
305
|
+
</xs:sequence>
|
|
306
|
+
</xs:complexType>
|
|
307
|
+
<xs:complexType name="MilitaryPassportDocumentType">
|
|
308
|
+
<xs:annotation>
|
|
309
|
+
<xs:documentation>������� ����� ��� ������� ������</xs:documentation>
|
|
310
|
+
</xs:annotation>
|
|
311
|
+
<xs:sequence>
|
|
312
|
+
<xs:element name="Series">
|
|
313
|
+
<xs:annotation>
|
|
314
|
+
<xs:documentation>�����</xs:documentation>
|
|
315
|
+
</xs:annotation>
|
|
316
|
+
<xs:simpleType>
|
|
317
|
+
<xs:restriction base="xs:string">
|
|
318
|
+
<xs:length value="2"/>
|
|
319
|
+
<xs:pattern value="[�-�]{2}"/>
|
|
320
|
+
</xs:restriction>
|
|
321
|
+
</xs:simpleType>
|
|
322
|
+
</xs:element>
|
|
323
|
+
<xs:element name="Number" type="tns:digits-7">
|
|
324
|
+
<xs:annotation>
|
|
325
|
+
<xs:documentation>�����</xs:documentation>
|
|
326
|
+
</xs:annotation>
|
|
327
|
+
</xs:element>
|
|
328
|
+
<xs:element name="IssueDate" type="xs:date">
|
|
329
|
+
<xs:annotation>
|
|
330
|
+
<xs:documentation>���� ������</xs:documentation>
|
|
331
|
+
</xs:annotation>
|
|
332
|
+
</xs:element>
|
|
333
|
+
<xs:element name="Issuer" type="tns:rus-and-num-200">
|
|
334
|
+
<xs:annotation>
|
|
335
|
+
<xs:documentation>��� �����</xs:documentation>
|
|
336
|
+
</xs:annotation>
|
|
337
|
+
</xs:element>
|
|
338
|
+
</xs:sequence>
|
|
339
|
+
</xs:complexType>
|
|
340
|
+
<xs:complexType name="DrivingLicenseRFType">
|
|
341
|
+
<xs:annotation>
|
|
342
|
+
<xs:documentation>������������ �������������, �������� � ��</xs:documentation>
|
|
343
|
+
</xs:annotation>
|
|
344
|
+
<xs:sequence>
|
|
345
|
+
<xs:element name="Series">
|
|
346
|
+
<xs:annotation>
|
|
347
|
+
<xs:documentation>�����.
|
|
348
|
+
��� ����� � ��� ������� ��������� ����� ��� ������������� �������������, ����������� �� 1 ����� 2011 �.,
|
|
349
|
+
��� ������ ����� ��� ������������� �������������, ����������� ����� 1 ����� 2011 �. ������: 44�� ��� 4403</xs:documentation>
|
|
350
|
+
</xs:annotation>
|
|
351
|
+
<xs:simpleType>
|
|
352
|
+
<xs:restriction base="xs:string">
|
|
353
|
+
<xs:length value="4"/>
|
|
354
|
+
<xs:pattern value="[0-9]{2}([0-9]{2})|([�-�]{2})"/>
|
|
355
|
+
</xs:restriction>
|
|
356
|
+
</xs:simpleType>
|
|
357
|
+
</xs:element>
|
|
358
|
+
<xs:element name="Number" type="tns:digits-6">
|
|
359
|
+
<xs:annotation>
|
|
360
|
+
<xs:documentation>�����</xs:documentation>
|
|
361
|
+
</xs:annotation>
|
|
362
|
+
</xs:element>
|
|
363
|
+
<xs:element name="IssueDate" type="xs:date">
|
|
364
|
+
<xs:annotation>
|
|
365
|
+
<xs:documentation>���� ������</xs:documentation>
|
|
366
|
+
</xs:annotation>
|
|
367
|
+
</xs:element>
|
|
368
|
+
<xs:element name="Issuer" type="tns:rus-and-num-200">
|
|
369
|
+
<xs:annotation>
|
|
370
|
+
<xs:documentation>��� �����</xs:documentation>
|
|
371
|
+
</xs:annotation>
|
|
372
|
+
</xs:element>
|
|
373
|
+
</xs:sequence>
|
|
374
|
+
</xs:complexType>
|
|
375
|
+
<!--========================================== ��������� ��� ����������������� ����� ==========================================-->
|
|
376
|
+
<xs:group name="PhysicalPersonQualifiedName-ModelGroup">
|
|
377
|
+
<xs:annotation>
|
|
378
|
+
<xs:documentation>��� ����������� ����.</xs:documentation>
|
|
379
|
+
</xs:annotation>
|
|
380
|
+
<xs:sequence>
|
|
381
|
+
<xs:element name="FamilyName" type="tns:rus-100">
|
|
382
|
+
<xs:annotation>
|
|
383
|
+
<xs:documentation>�������</xs:documentation>
|
|
384
|
+
</xs:annotation>
|
|
385
|
+
</xs:element>
|
|
386
|
+
<xs:element name="FirstName" type="tns:rus-100">
|
|
387
|
+
<xs:annotation>
|
|
388
|
+
<xs:documentation>���</xs:documentation>
|
|
389
|
+
</xs:annotation>
|
|
390
|
+
</xs:element>
|
|
391
|
+
<xs:element name="Patronymic" type="tns:rus-100" minOccurs="0">
|
|
392
|
+
<xs:annotation>
|
|
393
|
+
<xs:documentation>��������</xs:documentation>
|
|
394
|
+
</xs:annotation>
|
|
395
|
+
</xs:element>
|
|
396
|
+
</xs:sequence>
|
|
397
|
+
</xs:group>
|
|
398
|
+
<xs:group name="PhysicalPersonIdentificationInformation-ModelGroup">
|
|
399
|
+
<xs:annotation>
|
|
400
|
+
<xs:documentation>������������ ������ ����������� ����: ��� + ���� � ����� ��������.</xs:documentation>
|
|
401
|
+
</xs:annotation>
|
|
402
|
+
<xs:sequence>
|
|
403
|
+
<xs:group ref="tns:PhysicalPersonQualifiedName-ModelGroup"/>
|
|
404
|
+
<xs:element name="BirthDate" type="xs:date">
|
|
405
|
+
<xs:annotation>
|
|
406
|
+
<xs:documentation>���� ��������</xs:documentation>
|
|
407
|
+
</xs:annotation>
|
|
408
|
+
</xs:element>
|
|
409
|
+
<xs:element name="BirthPlace" type="tns:rus-and-num-500">
|
|
410
|
+
<xs:annotation>
|
|
411
|
+
<xs:documentation>����� ��������</xs:documentation>
|
|
412
|
+
</xs:annotation>
|
|
413
|
+
</xs:element>
|
|
414
|
+
</xs:sequence>
|
|
415
|
+
</xs:group>
|
|
416
|
+
<!--========================================== ������� ���� ==========================================-->
|
|
417
|
+
<xs:simpleType name="RFC2046MimeTypesType">
|
|
418
|
+
<xs:annotation>
|
|
419
|
+
<xs:documentation>���� ��������, � ������� RFC-2046.</xs:documentation>
|
|
420
|
+
</xs:annotation>
|
|
421
|
+
<xs:restriction base="xs:string">
|
|
422
|
+
<xs:pattern value="(text|image|audio|video|application)/[a-zA-Z0-9\-+.]*"/>
|
|
423
|
+
</xs:restriction>
|
|
424
|
+
</xs:simpleType>
|
|
425
|
+
<xs:simpleType name="PostalCodeRFType">
|
|
426
|
+
<xs:annotation>
|
|
427
|
+
<xs:documentation>�������� ������, ��.
|
|
428
|
+
��������� ������� ������������ � length � pattern, ����� ��������� JavaScript ���� ��������� "�� ����".</xs:documentation>
|
|
429
|
+
</xs:annotation>
|
|
430
|
+
<xs:restriction base="xs:string">
|
|
431
|
+
<xs:length value="6"/>
|
|
432
|
+
<xs:pattern value="\d{6}"/>
|
|
433
|
+
</xs:restriction>
|
|
434
|
+
</xs:simpleType>
|
|
435
|
+
<xs:simpleType name="PhoneNumberRFType">
|
|
436
|
+
<xs:annotation>
|
|
437
|
+
<xs:documentation>����� �������� � ��, � ������������� �������</xs:documentation>
|
|
438
|
+
</xs:annotation>
|
|
439
|
+
<xs:restriction base="xs:string">
|
|
440
|
+
<xs:maxLength value="10"/>
|
|
441
|
+
<xs:pattern value="\d{10}"/>
|
|
442
|
+
</xs:restriction>
|
|
443
|
+
</xs:simpleType>
|
|
444
|
+
<xs:simpleType name="EmailAddressType">
|
|
445
|
+
<xs:annotation>
|
|
446
|
+
<xs:documentation>����� ����������� �����</xs:documentation>
|
|
447
|
+
</xs:annotation>
|
|
448
|
+
<xs:restriction base="xs:string">
|
|
449
|
+
<xs:maxLength value="100"/>
|
|
450
|
+
<xs:pattern value="[0-9a-zA-Z_.\-]{2,50}[@]{1}[0-9a-zA-Z_./-]{2,50}[.]{1}[a-zA-Z]{2,5}"/>
|
|
451
|
+
</xs:restriction>
|
|
452
|
+
</xs:simpleType>
|
|
453
|
+
<xs:simpleType name="LegalPersonINNType">
|
|
454
|
+
<xs:annotation>
|
|
455
|
+
<xs:documentation>��� ������������ ����</xs:documentation>
|
|
456
|
+
</xs:annotation>
|
|
457
|
+
<xs:restriction base="xs:string">
|
|
458
|
+
<xs:length value="10"/>
|
|
459
|
+
<xs:pattern value="\d{10}"/>
|
|
460
|
+
</xs:restriction>
|
|
461
|
+
</xs:simpleType>
|
|
462
|
+
<xs:simpleType name="PhysicalPersonINNType">
|
|
463
|
+
<xs:annotation>
|
|
464
|
+
<xs:documentation>��� ����������� ����</xs:documentation>
|
|
465
|
+
</xs:annotation>
|
|
466
|
+
<xs:restriction base="xs:string">
|
|
467
|
+
<xs:length value="12"/>
|
|
468
|
+
<xs:pattern value="\d{12}"/>
|
|
469
|
+
</xs:restriction>
|
|
470
|
+
</xs:simpleType>
|
|
471
|
+
<xs:simpleType name="SNILSType">
|
|
472
|
+
<xs:annotation>
|
|
473
|
+
<xs:documentation>�����</xs:documentation>
|
|
474
|
+
</xs:annotation>
|
|
475
|
+
<xs:restriction base="xs:string">
|
|
476
|
+
<xs:length value="11"/>
|
|
477
|
+
<xs:pattern value="\d{11}"/>
|
|
478
|
+
</xs:restriction>
|
|
479
|
+
</xs:simpleType>
|
|
480
|
+
<xs:simpleType name="KPPType">
|
|
481
|
+
<xs:annotation>
|
|
482
|
+
<xs:documentation>���</xs:documentation>
|
|
483
|
+
</xs:annotation>
|
|
484
|
+
<xs:restriction base="xs:string">
|
|
485
|
+
<xs:length value="9"/>
|
|
486
|
+
<xs:pattern value="\d{9}"/>
|
|
487
|
+
</xs:restriction>
|
|
488
|
+
</xs:simpleType>
|
|
489
|
+
<xs:simpleType name="OGRNCompanyType">
|
|
490
|
+
<xs:annotation>
|
|
491
|
+
<xs:documentation>���� ������������ ����</xs:documentation>
|
|
492
|
+
</xs:annotation>
|
|
493
|
+
<xs:restriction base="xs:string">
|
|
494
|
+
<xs:length value="13"/>
|
|
495
|
+
<xs:pattern value="[125]{1}\d{12}"/>
|
|
496
|
+
</xs:restriction>
|
|
497
|
+
</xs:simpleType>
|
|
498
|
+
<xs:simpleType name="OGRNSoleProprietorType">
|
|
499
|
+
<xs:annotation>
|
|
500
|
+
<xs:documentation>���� ��������������� ���������������</xs:documentation>
|
|
501
|
+
</xs:annotation>
|
|
502
|
+
<xs:restriction base="xs:string">
|
|
503
|
+
<xs:length value="15"/>
|
|
504
|
+
<xs:pattern value="[3]{1}\d{14}"/>
|
|
505
|
+
</xs:restriction>
|
|
506
|
+
</xs:simpleType>
|
|
507
|
+
<xs:simpleType name="CadastralNumberType">
|
|
508
|
+
<xs:annotation>
|
|
509
|
+
<xs:documentation>����������� ����� ������� ������������</xs:documentation>
|
|
510
|
+
</xs:annotation>
|
|
511
|
+
<xs:restriction base="xs:string">
|
|
512
|
+
<xs:maxLength value="40"/>
|
|
513
|
+
<xs:pattern value="\d{2}:\d{2}:\d{6,7}:\d{1,}"/>
|
|
514
|
+
</xs:restriction>
|
|
515
|
+
</xs:simpleType>
|
|
516
|
+
<xs:simpleType name="OKATOType">
|
|
517
|
+
<xs:annotation>
|
|
518
|
+
<xs:documentation>��� �����</xs:documentation>
|
|
519
|
+
</xs:annotation>
|
|
520
|
+
<xs:restriction base="xs:string">
|
|
521
|
+
<xs:maxLength value="11"/>
|
|
522
|
+
<xs:pattern value="\d{1,11}"/>
|
|
523
|
+
</xs:restriction>
|
|
524
|
+
</xs:simpleType>
|
|
525
|
+
<xs:simpleType name="GenderType">
|
|
526
|
+
<xs:annotation>
|
|
527
|
+
<xs:documentation>���.</xs:documentation>
|
|
528
|
+
</xs:annotation>
|
|
529
|
+
<xs:restriction base="xs:string">
|
|
530
|
+
<xs:enumeration value="Male"/>
|
|
531
|
+
<xs:enumeration value="Female"/>
|
|
532
|
+
</xs:restriction>
|
|
533
|
+
</xs:simpleType>
|
|
534
|
+
<xs:simpleType name="SovietStyleDocumentSeriesType">
|
|
535
|
+
<xs:annotation>
|
|
536
|
+
<xs:documentation>����� ����������, ����� ��� ������������� � ��������, ��������� ��������, � �.�: ������� �����, ����, ��� ��������� ����� ���������.</xs:documentation>
|
|
537
|
+
</xs:annotation>
|
|
538
|
+
<xs:restriction base="xs:string">
|
|
539
|
+
<xs:maxLength value="6"/>
|
|
540
|
+
<xs:pattern value="[IVXLCDM]{1,3}[\-][�-�]{2}"/>
|
|
541
|
+
</xs:restriction>
|
|
542
|
+
</xs:simpleType>
|
|
543
|
+
<xs:simpleType name="digits-7">
|
|
544
|
+
<xs:annotation>
|
|
545
|
+
<xs:documentation>������, ��������� �� ���� ����. �������� ����� ��������������.</xs:documentation>
|
|
546
|
+
</xs:annotation>
|
|
547
|
+
<xs:restriction base="xs:string">
|
|
548
|
+
<xs:length value="7"/>
|
|
549
|
+
<xs:pattern value="\d{7}"/>
|
|
550
|
+
</xs:restriction>
|
|
551
|
+
</xs:simpleType>
|
|
552
|
+
<xs:simpleType name="digits-6">
|
|
553
|
+
<xs:annotation>
|
|
554
|
+
<xs:documentation>������, ��������� �� ����� ����. �������� ����� �������� ��.</xs:documentation>
|
|
555
|
+
</xs:annotation>
|
|
556
|
+
<xs:restriction base="xs:string">
|
|
557
|
+
<xs:length value="6"/>
|
|
558
|
+
<xs:pattern value="\d{6}"/>
|
|
559
|
+
</xs:restriction>
|
|
560
|
+
</xs:simpleType>
|
|
561
|
+
<xs:simpleType name="digits-4">
|
|
562
|
+
<xs:annotation>
|
|
563
|
+
<xs:documentation>������, ��������� �� ������ ����. �������� ����� �������� ��.</xs:documentation>
|
|
564
|
+
</xs:annotation>
|
|
565
|
+
<xs:restriction base="xs:string">
|
|
566
|
+
<xs:length value="4"/>
|
|
567
|
+
<xs:pattern value="\d{4}"/>
|
|
568
|
+
</xs:restriction>
|
|
569
|
+
</xs:simpleType>
|
|
570
|
+
<xs:simpleType name="digits-2">
|
|
571
|
+
<xs:annotation>
|
|
572
|
+
<xs:documentation>������, ��������� �� ���� ����. �������� ����� ��������������.</xs:documentation>
|
|
573
|
+
</xs:annotation>
|
|
574
|
+
<xs:restriction base="xs:string">
|
|
575
|
+
<xs:length value="2"/>
|
|
576
|
+
<xs:pattern value="\d{2}"/>
|
|
577
|
+
</xs:restriction>
|
|
578
|
+
</xs:simpleType>
|
|
579
|
+
<xs:simpleType name="rus-and-num">
|
|
580
|
+
<xs:annotation>
|
|
581
|
+
<xs:documentation>������� �����. ����������� ����� �������, �����, �����, �������, ����, ���������.</xs:documentation>
|
|
582
|
+
</xs:annotation>
|
|
583
|
+
<xs:restriction base="xs:string">
|
|
584
|
+
<xs:pattern value="[�-��-߸�\-0-9][�-��-߸�\-\s'',.0-9]*"/>
|
|
585
|
+
</xs:restriction>
|
|
586
|
+
</xs:simpleType>
|
|
587
|
+
<xs:simpleType name="rus-and-num-500">
|
|
588
|
+
<xs:annotation>
|
|
589
|
+
<xs:documentation>������� �����, ������ �� 500 ��������.</xs:documentation>
|
|
590
|
+
</xs:annotation>
|
|
591
|
+
<xs:restriction base="tns:rus-and-num">
|
|
592
|
+
<xs:maxLength value="500"/>
|
|
593
|
+
</xs:restriction>
|
|
594
|
+
</xs:simpleType>
|
|
595
|
+
<xs:simpleType name="rus-and-num-200">
|
|
596
|
+
<xs:annotation>
|
|
597
|
+
<xs:documentation>������� �����, ������ �� 200 ��������.</xs:documentation>
|
|
598
|
+
</xs:annotation>
|
|
599
|
+
<xs:restriction base="tns:rus-and-num">
|
|
600
|
+
<xs:maxLength value="200"/>
|
|
601
|
+
</xs:restriction>
|
|
602
|
+
</xs:simpleType>
|
|
603
|
+
<xs:simpleType name="rus-and-num-100">
|
|
604
|
+
<xs:annotation>
|
|
605
|
+
<xs:documentation>������� �����, ������ �� 100 ��������.</xs:documentation>
|
|
606
|
+
</xs:annotation>
|
|
607
|
+
<xs:restriction base="tns:rus-and-num">
|
|
608
|
+
<xs:maxLength value="100"/>
|
|
609
|
+
</xs:restriction>
|
|
610
|
+
</xs:simpleType>
|
|
611
|
+
<xs:simpleType name="rus-and-num-50">
|
|
612
|
+
<xs:annotation>
|
|
613
|
+
<xs:documentation>������� �����, ������ �� 50 ��������.</xs:documentation>
|
|
614
|
+
</xs:annotation>
|
|
615
|
+
<xs:restriction base="tns:rus-and-num">
|
|
616
|
+
<xs:maxLength value="50"/>
|
|
617
|
+
</xs:restriction>
|
|
618
|
+
</xs:simpleType>
|
|
619
|
+
<xs:simpleType name="rus">
|
|
620
|
+
<xs:annotation>
|
|
621
|
+
<xs:documentation>������� �����. ����������� ����� �������, �����, �������, ����, ���������. ����� �� �����������.</xs:documentation>
|
|
622
|
+
</xs:annotation>
|
|
623
|
+
<xs:restriction base="xs:string">
|
|
624
|
+
<xs:pattern value="[�-��-߸�\-0-9][�-��-߸�\-\s'',.]*"/>
|
|
625
|
+
</xs:restriction>
|
|
626
|
+
</xs:simpleType>
|
|
627
|
+
<xs:simpleType name="rus-500">
|
|
628
|
+
<xs:annotation>
|
|
629
|
+
<xs:documentation>������� �����, ������ �� 500 ��������, ����� �� �����������.</xs:documentation>
|
|
630
|
+
</xs:annotation>
|
|
631
|
+
<xs:restriction base="tns:rus">
|
|
632
|
+
<xs:maxLength value="500"/>
|
|
633
|
+
</xs:restriction>
|
|
634
|
+
</xs:simpleType>
|
|
635
|
+
<xs:simpleType name="rus-200">
|
|
636
|
+
<xs:annotation>
|
|
637
|
+
<xs:documentation>������� �����, ������ �� 200 ��������, ����� �� �����������.</xs:documentation>
|
|
638
|
+
</xs:annotation>
|
|
639
|
+
<xs:restriction base="tns:rus">
|
|
640
|
+
<xs:maxLength value="200"/>
|
|
641
|
+
</xs:restriction>
|
|
642
|
+
</xs:simpleType>
|
|
643
|
+
<xs:simpleType name="rus-100">
|
|
644
|
+
<xs:annotation>
|
|
645
|
+
<xs:documentation>������� �����, ������ �� 100 ��������, ����� �� �����������.</xs:documentation>
|
|
646
|
+
</xs:annotation>
|
|
647
|
+
<xs:restriction base="tns:rus">
|
|
648
|
+
<xs:maxLength value="100"/>
|
|
649
|
+
</xs:restriction>
|
|
650
|
+
</xs:simpleType>
|
|
651
|
+
<xs:simpleType name="rus-50">
|
|
652
|
+
<xs:annotation>
|
|
653
|
+
<xs:documentation>������� �����, ������ �� 50 ��������, ����� �� �����������.</xs:documentation>
|
|
654
|
+
</xs:annotation>
|
|
655
|
+
<xs:restriction base="tns:rus">
|
|
656
|
+
<xs:maxLength value="50"/>
|
|
657
|
+
</xs:restriction>
|
|
658
|
+
</xs:simpleType>
|
|
659
|
+
<xs:simpleType name="string-500">
|
|
660
|
+
<xs:restriction base="xs:string">
|
|
661
|
+
<xs:maxLength value="500"/>
|
|
662
|
+
</xs:restriction>
|
|
663
|
+
</xs:simpleType>
|
|
664
|
+
<xs:simpleType name="string-200">
|
|
665
|
+
<xs:restriction base="xs:string">
|
|
666
|
+
<xs:maxLength value="200"/>
|
|
667
|
+
</xs:restriction>
|
|
668
|
+
</xs:simpleType>
|
|
669
|
+
<xs:simpleType name="string-100">
|
|
670
|
+
<xs:restriction base="xs:string">
|
|
671
|
+
<xs:maxLength value="100"/>
|
|
672
|
+
</xs:restriction>
|
|
673
|
+
</xs:simpleType>
|
|
674
|
+
<xs:simpleType name="string-50">
|
|
675
|
+
<xs:restriction base="xs:string">
|
|
676
|
+
<xs:maxLength value="50"/>
|
|
677
|
+
</xs:restriction>
|
|
678
|
+
</xs:simpleType>
|
|
679
|
+
<xs:simpleType name="string-20">
|
|
680
|
+
<xs:restriction base="xs:string">
|
|
681
|
+
<xs:maxLength value="20"/>
|
|
682
|
+
</xs:restriction>
|
|
683
|
+
</xs:simpleType>
|
|
684
|
+
<xs:simpleType name="string-10">
|
|
685
|
+
<xs:restriction base="xs:string">
|
|
686
|
+
<xs:maxLength value="10"/>
|
|
687
|
+
</xs:restriction>
|
|
688
|
+
</xs:simpleType>
|
|
689
|
+
</xs:schema>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://kvs.pfr.com/snils-by-additionalData/1.0.1" xmlns:smev="urn://x-artefacts-smev-gov-ru/supplementary/commons/1.0.1" xmlns:pfr="http://common.kvs.pfr.com/1.0.0" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" targetNamespace="http://kvs.pfr.com/snils-by-additionalData/1.0.1" elementFormDefault="qualified" jxb:version="2.0">
|
|
3
|
+
<import namespace="urn://x-artefacts-smev-gov-ru/supplementary/commons/1.0.1" schemaLocation="commons/smev-supplementary-commons-1.0.1.xsd"/>
|
|
4
|
+
<import namespace="http://common.kvs.pfr.com/1.0.0" schemaLocation="commons/pfr-common-types-1.0.0.xsd"/>
|
|
5
|
+
<element name="SnilsByAdditionalDataRequest">
|
|
6
|
+
<complexType>
|
|
7
|
+
<sequence>
|
|
8
|
+
<group ref="smev:PhysicalPersonQualifiedName-ModelGroup"/>
|
|
9
|
+
<element name="BirthDate" type="date" nillable="false"/>
|
|
10
|
+
<element name="Gender" type="smev:GenderType" nillable="false"/>
|
|
11
|
+
<element name="BirthPlace" type="pfr:BirthPlaceType" minOccurs="0"/>
|
|
12
|
+
<group ref="pfr:AllIdentityDocumentType-Group" minOccurs="0"/>
|
|
13
|
+
</sequence>
|
|
14
|
+
</complexType>
|
|
15
|
+
</element>
|
|
16
|
+
<element name="SnilsByAdditionalDataResponse">
|
|
17
|
+
<complexType>
|
|
18
|
+
<sequence>
|
|
19
|
+
<group ref="smev:PhysicalPersonQualifiedName-ModelGroup"/>
|
|
20
|
+
<element name="Snils" type="smev:SNILSType" nillable="false"/>
|
|
21
|
+
<element name="BirthDate" type="date" nillable="false"/>
|
|
22
|
+
<element name="Gender" type="smev:GenderType" nillable="false"/>
|
|
23
|
+
<element name="BirthPlace" type="pfr:BirthPlaceType" minOccurs="0"/>
|
|
24
|
+
<group ref="pfr:AllIdentityDocumentType-Group" minOccurs="0"/>
|
|
25
|
+
</sequence>
|
|
26
|
+
</complexType>
|
|
27
|
+
</element>
|
|
28
|
+
</schema>
|
|
29
|
+
|
package/test/test.js
CHANGED
|
@@ -255,7 +255,10 @@ async function test_005_schemata (fn) {
|
|
|
255
255
|
|
|
256
256
|
console.log (xs.stringify (
|
|
257
257
|
|
|
258
|
-
{childDotation2Request: {
|
|
258
|
+
{childDotation2Request: {
|
|
259
|
+
Message: {
|
|
260
|
+
TestMsg: "Тестовый запроc",
|
|
261
|
+
},
|
|
259
262
|
MessageData: {
|
|
260
263
|
AppData: {
|
|
261
264
|
info
|
|
@@ -267,6 +270,39 @@ async function test_005_schemata (fn) {
|
|
|
267
270
|
|
|
268
271
|
}
|
|
269
272
|
|
|
273
|
+
async function test_006_schemata (fn) {
|
|
274
|
+
|
|
275
|
+
const xs = await XMLSchemata.fromFile ('test/snils-by-additionalData-1.0.1.xsd')
|
|
276
|
+
|
|
277
|
+
const data = {
|
|
278
|
+
"SnilsByAdditionalDataRequest": {
|
|
279
|
+
"FamilyName": "ИВАНОВ",
|
|
280
|
+
"FirstName": "ИВАН",
|
|
281
|
+
"Patronymic": "ИВАНОВИЧ",
|
|
282
|
+
"BirthDate": "1967-05-21",
|
|
283
|
+
"Gender": "Male",
|
|
284
|
+
"BirthPlace": {
|
|
285
|
+
"PlaceType": "ОСОБОЕ",
|
|
286
|
+
"Settlement": "ЗАГОРСК",
|
|
287
|
+
"District": "ЛЕНИНСКИЙ",
|
|
288
|
+
"Region": "МОСКОВСКАЯ ОБЛАСТЬ",
|
|
289
|
+
"Country": "РФ"
|
|
290
|
+
},
|
|
291
|
+
"PassportRF": {
|
|
292
|
+
"Series": "0005",
|
|
293
|
+
"Number": "777777",
|
|
294
|
+
"IssueDate": "1986-06-13",
|
|
295
|
+
"Issuer": "ОВД"
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
// const m = xs.createMarshaller ('AppDataChildDotation', 'http://smev.gosuslugi.ru/rev111111')
|
|
301
|
+
|
|
302
|
+
console.log (xs.stringify (data))
|
|
303
|
+
|
|
304
|
+
}
|
|
305
|
+
|
|
270
306
|
async function main () {
|
|
271
307
|
|
|
272
308
|
// await test_001_lexer_sync ('E05a.xml')
|
|
@@ -281,8 +317,9 @@ async function main () {
|
|
|
281
317
|
// await test_003_emitter_sync ('not-sa01.xml')
|
|
282
318
|
// await test_003_emitter_sync ('ent.xml')
|
|
283
319
|
// await test_003_emitter_sync ('soap.xml')
|
|
284
|
-
|
|
320
|
+
await test_004_schemata ()
|
|
285
321
|
await test_005_schemata ()
|
|
322
|
+
await test_006_schemata ()
|
|
286
323
|
|
|
287
324
|
}
|
|
288
325
|
|