rnfse 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +25 -0
  3. data/.rspec +1 -0
  4. data/.travis.yml +14 -0
  5. data/CHANGELOG.md +0 -0
  6. data/Gemfile +3 -0
  7. data/Guardfile +15 -0
  8. data/LICENSE.md +41 -0
  9. data/Procfile +1 -0
  10. data/README.md +59 -0
  11. data/Rakefile +12 -0
  12. data/lib/provedores.yml +11 -0
  13. data/lib/rnfse/api/abrasf_1_0/definitions.json +374 -0
  14. data/lib/rnfse/api/abrasf_1_0/recepcionar_lote_rps.json +46 -0
  15. data/lib/rnfse/api/abrasf_1_0.rb +55 -0
  16. data/lib/rnfse/api/iss_net_1_0.rb +6 -0
  17. data/lib/rnfse/api.rb +101 -0
  18. data/lib/rnfse/configuration.rb +18 -0
  19. data/lib/rnfse/core.rb +9 -0
  20. data/lib/rnfse/hash.rb +148 -0
  21. data/lib/rnfse/string.rb +36 -0
  22. data/lib/rnfse/version.rb +3 -0
  23. data/lib/rnfse/xml_builder/abrasf_1_0.rb +95 -0
  24. data/lib/rnfse/xml_builder/iss_net_1_0.rb +70 -0
  25. data/lib/rnfse/xml_builder.rb +10 -0
  26. data/lib/rnfse.rb +22 -0
  27. data/rnfse.gemspec +60 -0
  28. data/spec/api/abrasf_1_0/recepcionar_lote_rps_json_spec.rb +123 -0
  29. data/spec/api/abrasf_1_0_spec.rb +26 -0
  30. data/spec/api/iss_net_1_0_spec.rb +99 -0
  31. data/spec/api_spec.rb +65 -0
  32. data/spec/core_spec.rb +35 -0
  33. data/spec/fixtures/abrasf_1_0/enviar_lote_rps_envio.xml +47 -0
  34. data/spec/fixtures/abrasf_1_0/nfse.xsd +771 -0
  35. data/spec/fixtures/certificate.pem +18 -0
  36. data/spec/fixtures/iss_net_1_0/enviar_lote_rps_envio.xml +75 -0
  37. data/spec/fixtures/key.pem +15 -0
  38. data/spec/fixtures/vcr_cassettes/iss_net_1_0_recepcionar_lote_rps.yml +214 -0
  39. data/spec/hash_spec.rb +205 -0
  40. data/spec/spec_helper.rb +29 -0
  41. data/spec/string_spec.rb +38 -0
  42. data/spec/support/.keep +0 -0
  43. data/spec/version_spec.rb +5 -0
  44. data/spec/xml_builder/abrasf_1_0_spec.rb +63 -0
  45. data/spec/xml_builder/iss_net_1_0_spec.rb +86 -0
  46. data/spec/xml_builder_spec.rb +14 -0
  47. metadata +433 -0
@@ -0,0 +1,771 @@
1
+ <?xml version="1.0"?>
2
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
3
+ targetNamespace="http:/www.abrasf.org.br/nfse.xsd"
4
+ xmlns="http:/www.abrasf.org.br/nfse.xsd"
5
+ attributeFormDefault="unqualified"
6
+ elementFormDefault="qualified">
7
+
8
+ <!-- definition of simple elements -->
9
+ <xsd:simpleType name="tsNumeroNfse">
10
+ <xsd:restriction base="xsd:nonNegativeInteger">
11
+ <xsd:totalDigits value="15"/>
12
+ </xsd:restriction>
13
+ </xsd:simpleType>
14
+ <xsd:simpleType name="tsCodigoVerificacao">
15
+ <xsd:restriction base="xsd:string">
16
+ <xsd:maxLength value="9"/>
17
+ <xsd:minLength value="1"/>
18
+ <xsd:whiteSpace value="collapse"/>
19
+ </xsd:restriction>
20
+ </xsd:simpleType>
21
+ <xsd:simpleType name="tsStatusRps">
22
+ <xsd:restriction base="xsd:byte">
23
+ <xsd:pattern value="1|2"/>
24
+ </xsd:restriction>
25
+ </xsd:simpleType>
26
+ <xsd:simpleType name="tsStatusNfse">
27
+ <xsd:restriction base="xsd:byte">
28
+ <xsd:pattern value="1|2"/>
29
+ </xsd:restriction>
30
+ </xsd:simpleType>
31
+ <xsd:simpleType name="tsNaturezaOperacao">
32
+ <xsd:restriction base="xsd:byte">
33
+ <xsd:pattern value="1|2|3|4|5|6"/>
34
+ </xsd:restriction>
35
+ </xsd:simpleType>
36
+ <xsd:simpleType name="tsRegimeEspecialTributacao">
37
+ <xsd:restriction base="xsd:byte">
38
+ <xsd:pattern value="1|2|3|4|5|6"/>
39
+ </xsd:restriction>
40
+ </xsd:simpleType>
41
+ <xsd:simpleType name="tsSimNao">
42
+ <xsd:restriction base="xsd:byte">
43
+ <xsd:pattern value="1|2"/>
44
+ </xsd:restriction>
45
+ </xsd:simpleType>
46
+ <xsd:simpleType name="tsNumeroRps">
47
+ <xsd:restriction base="xsd:nonNegativeInteger">
48
+ <xsd:totalDigits value="15"/>
49
+ </xsd:restriction>
50
+ </xsd:simpleType>
51
+ <xsd:simpleType name="tsSerieRps">
52
+ <xsd:restriction base="xsd:string">
53
+ <xsd:maxLength value="5"/>
54
+ <xsd:minLength value="1"/>
55
+ <xsd:whiteSpace value="collapse"/>
56
+ </xsd:restriction>
57
+ </xsd:simpleType>
58
+ <xsd:simpleType name="tsTipoRps">
59
+ <xsd:restriction base="xsd:byte">
60
+ <xsd:pattern value="1|2|3"/>
61
+ </xsd:restriction>
62
+ </xsd:simpleType>
63
+ <xsd:simpleType name="tsOutrasInformacoes">
64
+ <xsd:restriction base="xsd:string">
65
+ <xsd:maxLength value="255"/>
66
+ <xsd:minLength value="1"/>
67
+ <xsd:whiteSpace value="collapse"/>
68
+ </xsd:restriction>
69
+ </xsd:simpleType>
70
+ <xsd:simpleType name="tsValor">
71
+ <xsd:restriction base="xsd:decimal">
72
+ <xsd:totalDigits value="15"/>
73
+ <xsd:fractionDigits value="2" fixed="true"/>
74
+ <xsd:minInclusive value="0"/>
75
+ </xsd:restriction>
76
+ </xsd:simpleType>
77
+ <xsd:simpleType name="tsItemListaServico">
78
+ <xsd:restriction base="xsd:string">
79
+ <xsd:maxLength value="5"/>
80
+ <xsd:minLength value="1"/>
81
+ <xsd:whiteSpace value="collapse"/>
82
+ </xsd:restriction>
83
+ </xsd:simpleType>
84
+ <xsd:simpleType name="tsCodigoCnae">
85
+ <xsd:restriction base="xsd:int">
86
+ <xsd:totalDigits value="7"/>
87
+ </xsd:restriction>
88
+ </xsd:simpleType>
89
+ <xsd:simpleType name="tsCodigoTributacao">
90
+ <xsd:restriction base="xsd:string">
91
+ <xsd:maxLength value="20"/>
92
+ <xsd:minLength value="1"/>
93
+ <xsd:whiteSpace value="collapse"/>
94
+ </xsd:restriction>
95
+ </xsd:simpleType>
96
+ <xsd:simpleType name="tsAliquota">
97
+ <xsd:restriction base="xsd:decimal">
98
+ <xsd:totalDigits value="5"/>
99
+ <xsd:fractionDigits value="4"/>
100
+ <xsd:minInclusive value="0"/>
101
+ </xsd:restriction>
102
+ </xsd:simpleType>
103
+ <xsd:simpleType name="tsDiscriminacao">
104
+ <xsd:restriction base="xsd:string">
105
+ <xsd:maxLength value="2000"/>
106
+ <xsd:minLength value="1"/>
107
+ <xsd:whiteSpace value="collapse"/>
108
+ </xsd:restriction>
109
+ </xsd:simpleType>
110
+ <xsd:simpleType name="tsCodigoMunicipioIbge">
111
+ <xsd:restriction base="xsd:int">
112
+ <xsd:totalDigits value="7"/>
113
+ </xsd:restriction>
114
+ </xsd:simpleType>
115
+ <xsd:simpleType name="tsInscricaoMunicipal">
116
+ <xsd:restriction base="xsd:string">
117
+ <xsd:maxLength value="15"/>
118
+ <xsd:minLength value="1"/>
119
+ <xsd:whiteSpace value="collapse"/>
120
+ </xsd:restriction>
121
+ </xsd:simpleType>
122
+ <xsd:simpleType name="tsRazaoSocial">
123
+ <xsd:restriction base="xsd:string">
124
+ <xsd:maxLength value="115"/>
125
+ <xsd:minLength value="1"/>
126
+ <xsd:whiteSpace value="collapse"/>
127
+ </xsd:restriction>
128
+ </xsd:simpleType>
129
+ <xsd:simpleType name="tsNomeFantasia">
130
+ <xsd:restriction base="xsd:string">
131
+ <xsd:maxLength value="60"/>
132
+ <xsd:minLength value="1"/>
133
+ <xsd:whiteSpace value="collapse"/>
134
+ </xsd:restriction>
135
+ </xsd:simpleType>
136
+ <xsd:simpleType name="tsCnpj">
137
+ <xsd:restriction base="xsd:string">
138
+ <xsd:length value="14" fixed="true"/>
139
+ <xsd:whiteSpace value="collapse"/>
140
+ </xsd:restriction>
141
+ </xsd:simpleType>
142
+ <xsd:simpleType name="tsEndereco">
143
+ <xsd:restriction base="xsd:string">
144
+ <xsd:maxLength value="125"/>
145
+ <xsd:minLength value="1"/>
146
+ <xsd:whiteSpace value="collapse"/>
147
+ </xsd:restriction>
148
+ </xsd:simpleType>
149
+ <xsd:simpleType name="tsNumeroEndereco">
150
+ <xsd:restriction base="xsd:string">
151
+ <xsd:maxLength value="10"/>
152
+ <xsd:minLength value="1"/>
153
+ <xsd:whiteSpace value="collapse"/>
154
+ </xsd:restriction>
155
+ </xsd:simpleType>
156
+ <xsd:simpleType name="tsComplementoEndereco">
157
+ <xsd:restriction base="xsd:string">
158
+ <xsd:maxLength value="60"/>
159
+ <xsd:minLength value="1"/>
160
+ <xsd:whiteSpace value="collapse"/>
161
+ </xsd:restriction>
162
+ </xsd:simpleType>
163
+ <xsd:simpleType name="tsBairro">
164
+ <xsd:restriction base="xsd:string">
165
+ <xsd:maxLength value="60"/>
166
+ <xsd:minLength value="1"/>
167
+ <xsd:whiteSpace value="collapse"/>
168
+ </xsd:restriction>
169
+ </xsd:simpleType>
170
+ <xsd:simpleType name="tsUf">
171
+ <xsd:restriction base="xsd:string">
172
+ <xsd:length value="2" fixed="true"/>
173
+ </xsd:restriction>
174
+ </xsd:simpleType>
175
+ <xsd:simpleType name="tsCep">
176
+ <xsd:restriction base="xsd:int">
177
+ <xsd:totalDigits value="8" fixed="true"/>
178
+ </xsd:restriction>
179
+ </xsd:simpleType>
180
+ <xsd:simpleType name="tsEmail">
181
+ <xsd:restriction base="xsd:string">
182
+ <xsd:maxLength value="80"/>
183
+ <xsd:minLength value="1"/>
184
+ <xsd:whiteSpace value="collapse"/>
185
+ </xsd:restriction>
186
+ </xsd:simpleType>
187
+ <xsd:simpleType name="tsTelefone">
188
+ <xsd:restriction base="xsd:string">
189
+ <xsd:maxLength value="11"/>
190
+ <xsd:minLength value="1"/>
191
+ <xsd:whiteSpace value="collapse"/>
192
+ </xsd:restriction>
193
+ </xsd:simpleType>
194
+ <xsd:simpleType name="tsCpf">
195
+ <xsd:restriction base="xsd:string">
196
+ <xsd:length value="11" fixed="true"/>
197
+ </xsd:restriction>
198
+ </xsd:simpleType>
199
+ <xsd:simpleType name="tsIndicacaoCpfCnpj">
200
+ <xsd:restriction base="xsd:byte">
201
+ <xsd:pattern value="1|2|3"/>
202
+ </xsd:restriction>
203
+ </xsd:simpleType>
204
+ <xsd:simpleType name="tsCodigoObra">
205
+ <xsd:restriction base="xsd:string">
206
+ <xsd:maxLength value="15"/>
207
+ <xsd:minLength value="1"/>
208
+ <xsd:whiteSpace value="collapse"/>
209
+ </xsd:restriction>
210
+ </xsd:simpleType>
211
+ <xsd:simpleType name="tsArt">
212
+ <xsd:restriction base="xsd:string">
213
+ <xsd:maxLength value="15"/>
214
+ <xsd:minLength value="1"/>
215
+ <xsd:whiteSpace value="collapse"/>
216
+ </xsd:restriction>
217
+ </xsd:simpleType>
218
+ <xsd:simpleType name="tsNumeroLote">
219
+ <xsd:restriction base="xsd:nonNegativeInteger">
220
+ <xsd:totalDigits value="15"/>
221
+ </xsd:restriction>
222
+ </xsd:simpleType>
223
+ <xsd:simpleType name="tsNumeroProtocolo">
224
+ <xsd:restriction base="xsd:string">
225
+ <xsd:maxLength value="50"/>
226
+ </xsd:restriction>
227
+ </xsd:simpleType>
228
+ <xsd:simpleType name="tsSituacaoLoteRps">
229
+ <xsd:restriction base="xsd:byte">
230
+ <xsd:pattern value="1|2|3|4"/>
231
+ </xsd:restriction>
232
+ </xsd:simpleType>
233
+ <xsd:simpleType name="tsQuantidadeRps">
234
+ <xsd:restriction base="xsd:int">
235
+ </xsd:restriction>
236
+ </xsd:simpleType>
237
+ <xsd:simpleType name="tsCodigoMensagemAlerta">
238
+ <xsd:restriction base="xsd:string">
239
+ <xsd:maxLength value="4"/>
240
+ <xsd:minLength value="1"/>
241
+ <xsd:whiteSpace value="collapse"/>
242
+ </xsd:restriction>
243
+ </xsd:simpleType>
244
+ <xsd:simpleType name="tsDescricaoMensagemAlerta">
245
+ <xsd:restriction base="xsd:string">
246
+ <xsd:maxLength value="200"/>
247
+ <xsd:minLength value="1"/>
248
+ <xsd:whiteSpace value="collapse"/>
249
+ </xsd:restriction>
250
+ </xsd:simpleType>
251
+ <xsd:simpleType name="tsCodigoCancelamentoNfse">
252
+ <xsd:restriction base="xsd:string">
253
+ <xsd:maxLength value="4"/>
254
+ <xsd:minLength value="1"/>
255
+ <xsd:whiteSpace value="collapse"/>
256
+ </xsd:restriction>
257
+ </xsd:simpleType>
258
+ <xsd:simpleType name="tsIdTag">
259
+ <xsd:restriction base="xsd:string">
260
+ <xsd:maxLength value="255"/>
261
+ </xsd:restriction>
262
+ </xsd:simpleType>
263
+
264
+ <xsd:simpleType name="tsVersao">
265
+ <xsd:restriction base="xsd:token">
266
+ <xsd:pattern value="[1-9]{1}[0-9]{0,1}\.[0-9]{2}"/>
267
+ </xsd:restriction>
268
+ </xsd:simpleType>
269
+
270
+ <!-- definition of complex elements -->
271
+
272
+ <xsd:complexType name="tcCpfCnpj">
273
+ <xsd:choice>
274
+ <xsd:element name="Cpf" type="tsCpf" minOccurs="1" maxOccurs="1"/>
275
+ <xsd:element name="Cnpj" type="tsCnpj" minOccurs="1" maxOccurs="1"/>
276
+ </xsd:choice>
277
+ </xsd:complexType>
278
+ <xsd:complexType name="tcEndereco">
279
+ <xsd:sequence>
280
+ <xsd:element name="Endereco" type="tsEndereco" minOccurs="0" maxOccurs="1"/>
281
+ <xsd:element name="Numero" type="tsNumeroEndereco" minOccurs="0" maxOccurs="1"/>
282
+ <xsd:element name="Complemento" type="tsComplementoEndereco" minOccurs="0" maxOccurs="1"/>
283
+ <xsd:element name="Bairro" type="tsBairro" minOccurs="0" maxOccurs="1"/>
284
+ <xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge" minOccurs="0" maxOccurs="1"/>
285
+ <xsd:element name="Uf" type="tsUf" minOccurs="0" maxOccurs="1"/>
286
+ <xsd:element name="Cep" type="tsCep" minOccurs="0" maxOccurs="1"/>
287
+ </xsd:sequence>
288
+ </xsd:complexType>
289
+ <xsd:complexType name="tcContato">
290
+ <xsd:sequence>
291
+ <xsd:element name="Telefone" type="tsTelefone" minOccurs="0" maxOccurs="1"/>
292
+ <xsd:element name="Email" type="tsEmail" minOccurs="0" maxOccurs="1"/>
293
+ </xsd:sequence>
294
+ </xsd:complexType>
295
+ <xsd:complexType name="tcIdentificacaoOrgaoGerador">
296
+ <xsd:sequence>
297
+ <xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge" minOccurs="1" maxOccurs="1"/>
298
+ <xsd:element name="Uf" type="tsUf" minOccurs="1" maxOccurs="1"/>
299
+ </xsd:sequence>
300
+ </xsd:complexType>
301
+ <xsd:complexType name="tcIdentificacaoRps">
302
+ <xsd:sequence>
303
+ <xsd:element name="Numero" type="tsNumeroRps" minOccurs="1" maxOccurs="1"/>
304
+ <xsd:element name="Serie" type="tsSerieRps" minOccurs="1" maxOccurs="1"/>
305
+ <xsd:element name="Tipo" type="tsTipoRps" minOccurs="1" maxOccurs="1"/>
306
+ </xsd:sequence>
307
+ </xsd:complexType>
308
+ <xsd:complexType name="tcIdentificacaoPrestador">
309
+ <xsd:sequence>
310
+ <xsd:element name="Cnpj" type="tsCnpj" minOccurs="1" maxOccurs="1"/>
311
+ <xsd:element name="InscricaoMunicipal" type="tsInscricaoMunicipal" minOccurs="0" maxOccurs="1"/>
312
+ </xsd:sequence>
313
+ </xsd:complexType>
314
+ <xsd:complexType name="tcIdentificacaoTomador">
315
+ <xsd:sequence>
316
+ <xsd:element name="CpfCnpj" type="tcCpfCnpj" minOccurs="0" maxOccurs="1"/>
317
+ <xsd:element name="InscricaoMunicipal" type="tsInscricaoMunicipal" minOccurs="0" maxOccurs="1"/>
318
+ </xsd:sequence>
319
+ </xsd:complexType>
320
+ <xsd:complexType name="tcDadosTomador">
321
+ <xsd:sequence>
322
+ <xsd:element name="IdentificacaoTomador" type="tcIdentificacaoTomador" minOccurs="0" maxOccurs="1"/>
323
+ <xsd:element name="RazaoSocial" type="tsRazaoSocial" minOccurs="0" maxOccurs="1"/>
324
+ <xsd:element name="Endereco" type="tcEndereco" minOccurs="0" maxOccurs="1"/>
325
+ <xsd:element name="Contato" type="tcContato" minOccurs="0" maxOccurs="1"/>
326
+ </xsd:sequence>
327
+ </xsd:complexType>
328
+ <xsd:complexType name="tcIdentificacaoIntermediarioServico">
329
+ <xsd:sequence>
330
+ <xsd:element name="RazaoSocial" type="tsRazaoSocial" minOccurs="1" maxOccurs="1"/>
331
+ <xsd:element name="CpfCnpj" type="tcCpfCnpj" minOccurs="1" maxOccurs="1"/>
332
+ <xsd:element name="InscricaoMunicipal" type="tsInscricaoMunicipal" minOccurs="0" maxOccurs="1"/>
333
+ </xsd:sequence>
334
+ </xsd:complexType>
335
+ <xsd:complexType name="tcValores">
336
+ <xsd:sequence>
337
+ <xsd:element name="ValorServicos" type="tsValor" minOccurs="1" maxOccurs="1"/>
338
+ <xsd:element name="ValorDeducoes" type="tsValor" minOccurs="0" maxOccurs="1"/>
339
+ <xsd:element name="ValorPis" type="tsValor" minOccurs="0" maxOccurs="1"/>
340
+ <xsd:element name="ValorCofins" type="tsValor" minOccurs="0" maxOccurs="1"/>
341
+ <xsd:element name="ValorInss" type="tsValor" minOccurs="0" maxOccurs="1"/>
342
+ <xsd:element name="ValorIr" type="tsValor" minOccurs="0" maxOccurs="1"/>
343
+ <xsd:element name="ValorCsll" type="tsValor" minOccurs="0" maxOccurs="1"/>
344
+ <xsd:element name="IssRetido" type="tsSimNao" minOccurs="1" maxOccurs="1"/>
345
+ <xsd:element name="ValorIss" type="tsValor" minOccurs="0" maxOccurs="1"/>
346
+ <xsd:element name="ValorIssRetido" type="tsValor" minOccurs="0" maxOccurs="1"/>
347
+ <xsd:element name="OutrasRetencoes" type="tsValor" minOccurs="0" maxOccurs="1"/>
348
+ <xsd:element name="BaseCalculo" type="tsValor" minOccurs="0" maxOccurs="1"/>
349
+ <xsd:element name="Aliquota" type="tsAliquota" minOccurs="0" maxOccurs="1"/>
350
+ <xsd:element name="ValorLiquidoNfse" type="tsValor" minOccurs="0" maxOccurs="1"/>
351
+ <xsd:element name="DescontoIncondicionado" type="tsValor" minOccurs="0" maxOccurs="1"/>
352
+ <xsd:element name="DescontoCondicionado" type="tsValor" minOccurs="0" maxOccurs="1"/>
353
+ </xsd:sequence>
354
+ </xsd:complexType>
355
+ <xsd:complexType name="tcDadosServico">
356
+ <xsd:sequence>
357
+ <xsd:element name="Valores" type="tcValores" minOccurs="1" maxOccurs="1"/>
358
+ <xsd:element name="ItemListaServico" type="tsItemListaServico" minOccurs="1" maxOccurs="1"/>
359
+ <xsd:element name="CodigoCnae" type="tsCodigoCnae" minOccurs="0" maxOccurs="1"/>
360
+ <xsd:element name="CodigoTributacaoMunicipio" type="tsCodigoTributacao" minOccurs="0" maxOccurs="1"/>
361
+ <xsd:element name="Discriminacao" type="tsDiscriminacao" minOccurs="1" maxOccurs="1"/>
362
+ <xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge" minOccurs="1" maxOccurs="1"/>
363
+ </xsd:sequence>
364
+ </xsd:complexType>
365
+ <xsd:complexType name="tcDadosConstrucaoCivil">
366
+ <xsd:sequence>
367
+ <xsd:element name="CodigoObra" type="tsCodigoObra" minOccurs="1" maxOccurs="1"/>
368
+ <xsd:element name="Art" type="tsArt" minOccurs="1" maxOccurs="1"/>
369
+ </xsd:sequence>
370
+ </xsd:complexType>
371
+ <xsd:complexType name="tcDadosPrestador">
372
+ <xsd:sequence>
373
+ <xsd:element name="IdentificacaoPrestador" type="tcIdentificacaoPrestador" minOccurs="1" maxOccurs="1"/>
374
+ <xsd:element name="RazaoSocial" type="tsRazaoSocial" minOccurs="1" maxOccurs="1"/>
375
+ <xsd:element name="NomeFantasia" type="tsNomeFantasia" minOccurs="0" maxOccurs="1"/>
376
+ <xsd:element name="Endereco" type="tcEndereco" minOccurs="1" maxOccurs="1"/>
377
+ <xsd:element name="Contato" type="tcContato" minOccurs="0" maxOccurs="1"/>
378
+ </xsd:sequence>
379
+ </xsd:complexType>
380
+ <xsd:complexType name="tcInfRps">
381
+ <xsd:sequence>
382
+ <xsd:element name="IdentificacaoRps" type="tcIdentificacaoRps" minOccurs="1" maxOccurs="1"/>
383
+ <xsd:element name="DataEmissao" type="xsd:dateTime" minOccurs="1" maxOccurs="1"/>
384
+ <xsd:element name="NaturezaOperacao" type="tsNaturezaOperacao" minOccurs="1" maxOccurs="1"/>
385
+ <xsd:element name="RegimeEspecialTributacao" type="tsRegimeEspecialTributacao" minOccurs="0" maxOccurs="1"/>
386
+ <xsd:element name="OptanteSimplesNacional" type="tsSimNao" minOccurs="1" maxOccurs="1"/>
387
+ <xsd:element name="IncentivadorCultural" type="tsSimNao" minOccurs="1" maxOccurs="1"/>
388
+ <xsd:element name="Status" type="tsStatusRps" minOccurs="1" maxOccurs="1"/>
389
+ <xsd:element name="RpsSubstituido" type="tcIdentificacaoRps" minOccurs="0" maxOccurs="1"/>
390
+ <xsd:element name="Servico" type="tcDadosServico" minOccurs="1" maxOccurs="1"/>
391
+ <xsd:element name="Prestador" type="tcIdentificacaoPrestador" minOccurs="1" maxOccurs="1"/>
392
+ <xsd:element name="Tomador" type="tcDadosTomador" minOccurs="0" maxOccurs="1"/>
393
+ <xsd:element name="IntermediarioServico" type="tcIdentificacaoIntermediarioServico" minOccurs="0" maxOccurs="1"/>
394
+ <xsd:element name="ContrucaoCivil" type="tcDadosConstrucaoCivil" minOccurs="0" maxOccurs="1"/>
395
+ </xsd:sequence>
396
+ <!--
397
+ ALTERADO POR BELO HORIZONTE
398
+ MOTIVO: Compatibilizar com o estado, em que o nome do atributo é Id, com I maiúsculo.
399
+ -->
400
+ <xsd:attribute name="Id" type="tsIdTag"/>
401
+ </xsd:complexType>
402
+ <xsd:complexType name="tcRps">
403
+ <xsd:sequence>
404
+ <xsd:element name="InfRps" type="tcInfRps" minOccurs="1" maxOccurs="1"/>
405
+ </xsd:sequence>
406
+ </xsd:complexType>
407
+ <xsd:complexType name="tcIdentificacaoNfse">
408
+ <xsd:sequence>
409
+ <xsd:element name="Numero" type="tsNumeroNfse" minOccurs="1" maxOccurs="1"/>
410
+ <xsd:element name="Cnpj" type="tsCnpj" minOccurs="1" maxOccurs="1"/>
411
+ <xsd:element name="InscricaoMunicipal" type="tsInscricaoMunicipal" minOccurs="0" maxOccurs="1"/>
412
+ <xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge" minOccurs="1" maxOccurs="1"/>
413
+ </xsd:sequence>
414
+ </xsd:complexType>
415
+ <xsd:complexType name="tcInfNfse">
416
+ <xsd:sequence>
417
+ <xsd:element name="Numero" type="tsNumeroNfse" minOccurs="1" maxOccurs="1"/>
418
+ <xsd:element name="CodigoVerificacao" type="tsCodigoVerificacao" minOccurs="1" maxOccurs="1"/>
419
+ <xsd:element name="DataEmissao" type="xsd:dateTime" minOccurs="1" maxOccurs="1"/>
420
+ <xsd:element name="IdentificacaoRps" minOccurs="0" type="tcIdentificacaoRps" maxOccurs="1"/>
421
+ <xsd:element name="DataEmissaoRps" type="xsd:date" minOccurs="0" maxOccurs="1"/>
422
+ <xsd:element name="NaturezaOperacao" type="tsNaturezaOperacao" minOccurs="1" maxOccurs="1"/>
423
+ <xsd:element name="RegimeEspecialTributacao" type="tsRegimeEspecialTributacao" minOccurs="0" maxOccurs="1"/>
424
+ <xsd:element name="OptanteSimplesNacional" type="tsSimNao" minOccurs="1" maxOccurs="1"/>
425
+ <xsd:element name="IncentivadorCultural" type="tsSimNao" minOccurs="1" maxOccurs="1"/>
426
+ <xsd:element name="Competencia" type="xsd:dateTime" minOccurs="1" maxOccurs="1"/>
427
+ <xsd:element name="NfseSubstituida" type="tsNumeroNfse" minOccurs="0" maxOccurs="1"/>
428
+ <xsd:element name="OutrasInformacoes" type="tsOutrasInformacoes" minOccurs="0" maxOccurs="1"/>
429
+ <xsd:element name="Servico" type="tcDadosServico" minOccurs="1" maxOccurs="1"/>
430
+ <xsd:element name="ValorCredito" type="tsValor" minOccurs="0" maxOccurs="1"/>
431
+ <xsd:element name="PrestadorServico" type="tcDadosPrestador" minOccurs="1" maxOccurs="1"/>
432
+ <xsd:element name="TomadorServico" type="tcDadosTomador" minOccurs="0" maxOccurs="1"/>
433
+ <xsd:element name="IntermediarioServico" type="tcIdentificacaoIntermediarioServico" minOccurs="0" maxOccurs="1"/>
434
+ <xsd:element name="OrgaoGerador" type="tcIdentificacaoOrgaoGerador" minOccurs="1" maxOccurs="1"/>
435
+ <xsd:element name="ContrucaoCivil" type="tcDadosConstrucaoCivil" minOccurs="0" maxOccurs="1"/>
436
+ </xsd:sequence>
437
+ <!--
438
+ ALTERADO POR BELO HORIZONTE
439
+ MOTIVO: Compatibilizar com o estado, em que o nome do atributo é Id, com I maiúsculo.
440
+ -->
441
+ <xsd:attribute name="Id" type="tsIdTag"/>
442
+ </xsd:complexType>
443
+ <xsd:complexType name="tcNfse">
444
+ <xsd:sequence>
445
+ <xsd:element name="InfNfse" type="tcInfNfse" minOccurs="1" maxOccurs="1"/>
446
+ </xsd:sequence>
447
+ <xsd:attribute name="versao" type="tsVersao" use="required" />
448
+ </xsd:complexType>
449
+
450
+ <xsd:complexType name="tcInfPedidoCancelamento">
451
+ <xsd:sequence>
452
+ <xsd:element name="IdentificacaoNfse" type="tcIdentificacaoNfse" minOccurs="1" maxOccurs="1"/>
453
+ <xsd:element name="CodigoCancelamento" type="tsCodigoCancelamentoNfse" minOccurs="1" maxOccurs="1"/>
454
+ </xsd:sequence>
455
+ <!--
456
+ ALTERADO POR BELO HORIZONTE
457
+ MOTIVO: Compatibilizar com o estado, em que o nome do atributo é Id, com I maiúsculo.
458
+ -->
459
+ <xsd:attribute name="Id" type="tsIdTag"/>
460
+ </xsd:complexType>
461
+ <xsd:complexType name="tcPedidoCancelamento">
462
+ <xsd:sequence>
463
+ <xsd:element name="InfPedidoCancelamento" type="tcInfPedidoCancelamento" minOccurs="1" maxOccurs="1"/>
464
+ </xsd:sequence>
465
+ </xsd:complexType>
466
+ <xsd:complexType name="tcConfirmacaoCancelamento">
467
+ <xsd:sequence>
468
+ <xsd:element name="Pedido" type="tcPedidoCancelamento" minOccurs="1" maxOccurs="1"/>
469
+ <xsd:element name="DataHoraCancelamento" type="xsd:dateTime" minOccurs="1" maxOccurs="1"/>
470
+ </xsd:sequence>
471
+ <!--
472
+ ALTERADO POR BELO HORIZONTE
473
+ MOTIVO: Compatibilizar com o estado, em que o nome do atributo é Id, com I maiúsculo.
474
+ -->
475
+ <xsd:attribute name="Id" type="tsIdTag"/>
476
+ </xsd:complexType>
477
+
478
+ <!--
479
+ ADICIONADO POR BELO HORIZONTE
480
+ MOTIVO: Evitar a redefinição de elementos já existentes e prover uma melhor estruturação para o retorno do cancelamento.
481
+ Melhor explicado no tipo de retorno do cancelamento.
482
+ -->
483
+ <xsd:element name="RetCancelamento">
484
+ <xsd:complexType>
485
+ <xsd:sequence>
486
+ <xsd:element name="NfseCancelamento" type="tcCancelamentoNfse" minOccurs="1" maxOccurs="unbounded"/>
487
+ </xsd:sequence>
488
+ </xsd:complexType>
489
+ </xsd:element>
490
+ <!-- FIM ALTERAÇÃO BELO HORIZONTE -->
491
+
492
+ <xsd:complexType name="tcCancelamentoNfse">
493
+ <xsd:sequence>
494
+ <xsd:element name="Confirmacao" type="tcConfirmacaoCancelamento" minOccurs="1" maxOccurs="1"/>
495
+ </xsd:sequence>
496
+ <xsd:attribute name="versao" type="tsVersao" use="required" />
497
+ </xsd:complexType>
498
+
499
+ <xsd:complexType name="tcInfSubstituicaoNfse">
500
+ <xsd:sequence>
501
+ <xsd:element name="NfseSubstituidora" type="tsNumeroNfse" minOccurs="1" maxOccurs="1"/>
502
+ </xsd:sequence>
503
+ <!--
504
+ ALTERADO POR BELO HORIZONTE
505
+ MOTIVO: Compatibilizar com o estado, em que o nome do atributo é Id, com I maiúsculo.
506
+ -->
507
+ <xsd:attribute name="Id" type="tsIdTag"/>
508
+ </xsd:complexType>
509
+ <xsd:complexType name="tcSubstituicaoNfse">
510
+ <xsd:sequence>
511
+ <xsd:element name="SubstituicaoNfse" type="tcInfSubstituicaoNfse" minOccurs="1" maxOccurs="1"/>
512
+ </xsd:sequence>
513
+ <xsd:attribute name="versao" type="tsVersao" use="required" />
514
+ </xsd:complexType>
515
+ <xsd:complexType name="tcCompNfse">
516
+ <xsd:sequence>
517
+ <xsd:element name="Nfse" type="tcNfse" minOccurs="1" maxOccurs="1"/>
518
+ <xsd:element name="NfseCancelamento" type="tcCancelamentoNfse" minOccurs="0" maxOccurs="1"/>
519
+ <xsd:element name="NfseSubstituicao" type="tcSubstituicaoNfse" minOccurs="0" maxOccurs="1"/>
520
+ </xsd:sequence>
521
+ </xsd:complexType>
522
+ <xsd:element name="CompNfse" type="tcCompNfse"/>
523
+ <xsd:element name="ListaMensagemRetorno">
524
+ <xsd:complexType>
525
+ <xsd:sequence>
526
+ <xsd:element name="MensagemRetorno" type="tcMensagemRetorno" minOccurs="1" maxOccurs="unbounded"/>
527
+ </xsd:sequence>
528
+ </xsd:complexType>
529
+ </xsd:element>
530
+ <!--
531
+ ALTERADO POR BELO HORIZONTE
532
+ -->
533
+ <xsd:element name="ListaMensagemRetornoLote">
534
+ <xsd:complexType>
535
+ <xsd:sequence>
536
+ <xsd:element name="MensagemRetorno" type="tcMensagemRetornoLote" minOccurs="1" maxOccurs="unbounded"/>
537
+ </xsd:sequence>
538
+ </xsd:complexType>
539
+ </xsd:element>
540
+ <!--
541
+ FIM ALTERAÇÃO BELO HORIZONTE
542
+ -->
543
+ <xsd:complexType name="tcMensagemRetorno">
544
+ <xsd:sequence>
545
+ <xsd:element name="Codigo" type="tsCodigoMensagemAlerta" minOccurs="1" maxOccurs="1"/>
546
+ <xsd:element name="Mensagem" type="tsDescricaoMensagemAlerta" minOccurs="1" maxOccurs="1"/>
547
+ <xsd:element name="Correcao" type="tsDescricaoMensagemAlerta" minOccurs="0"/>
548
+ </xsd:sequence>
549
+ </xsd:complexType>
550
+ <xsd:complexType name="tcMensagemRetornoLote">
551
+ <xsd:sequence>
552
+ <xsd:element name="IdentificacaoRps" type="tcIdentificacaoRps" minOccurs="1" maxOccurs="1"/>
553
+ <xsd:element name="Codigo" type="tsCodigoMensagemAlerta" minOccurs="1" maxOccurs="1"/>
554
+ <xsd:element name="Mensagem" type="tsDescricaoMensagemAlerta" minOccurs="1" maxOccurs="1"/>
555
+ </xsd:sequence>
556
+ </xsd:complexType>
557
+ <xsd:complexType name="tcLoteRps">
558
+ <xsd:sequence>
559
+ <xsd:element name="NumeroLote" type="tsNumeroLote" minOccurs="1" maxOccurs="1"/>
560
+ <xsd:element name="Cnpj" type="tsCnpj" minOccurs="1" maxOccurs="1"/>
561
+ <xsd:element name="InscricaoMunicipal" type="tsInscricaoMunicipal" minOccurs="1" maxOccurs="1"/>
562
+ <xsd:element name="QuantidadeRps" type="tsQuantidadeRps" minOccurs="1" maxOccurs="1"/>
563
+ <xsd:element name="ListaRps" minOccurs="1" maxOccurs="1">
564
+ <xsd:complexType>
565
+ <xsd:sequence>
566
+ <xsd:element name="Rps" maxOccurs="unbounded" type="tcRps" minOccurs="1">
567
+ </xsd:element>
568
+ </xsd:sequence>
569
+ </xsd:complexType>
570
+ </xsd:element>
571
+ </xsd:sequence>
572
+ <!--
573
+ ALTERADO POR BELO HORIZONTE
574
+ MOTIVO: Compatibilizar com o estado, em que o nome do atributo é Id, com I maiúsculo.
575
+ -->
576
+ <xsd:attribute name="Id" type="tsIdTag"/>
577
+ <xsd:attribute name="versao" type="tsVersao" use="required" />
578
+ </xsd:complexType>
579
+
580
+ <xsd:element name="EnviarLoteRpsResposta">
581
+ <xsd:complexType>
582
+ <xsd:choice>
583
+ <xsd:sequence>
584
+ <xsd:element name="NumeroLote" type="tsNumeroLote" minOccurs="1" maxOccurs="1"/>
585
+ <xsd:element name="DataRecebimento" type="xsd:dateTime" minOccurs="1" maxOccurs="1"/>
586
+ <xsd:element name="Protocolo" type="tsNumeroProtocolo" minOccurs="1" maxOccurs="1"/>
587
+ </xsd:sequence>
588
+ <xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1"/>
589
+ </xsd:choice>
590
+ </xsd:complexType>
591
+ </xsd:element>
592
+
593
+ <xsd:element name="EnviarLoteRpsEnvio">
594
+ <xsd:complexType>
595
+ <xsd:sequence>
596
+ <xsd:element name="LoteRps" type="tcLoteRps"/>
597
+ </xsd:sequence>
598
+ </xsd:complexType>
599
+ </xsd:element>
600
+
601
+ <!--
602
+ ALTERADO POR BELO HORIZONTE
603
+ ALTERAÇÃO: minOccurs do elemento NumeroLote alterado para zero, ao invés de 1.
604
+ MOTIVO: Há a situação de lote não recebido, se for enviado um protocolo inexistente no parâmetro da consulta. Logo, não haverá
605
+ número de lote a ser retornado nessa situação.
606
+ -->
607
+ <xsd:element name="ConsultarSituacaoLoteRpsResposta">
608
+ <xsd:complexType>
609
+ <xsd:choice>
610
+ <xsd:sequence>
611
+ <xsd:element name="NumeroLote" type="tsNumeroLote" minOccurs="0" maxOccurs="1"/>
612
+ <xsd:element name="Situacao" type="tsSituacaoLoteRps" minOccurs="1" maxOccurs="1"/>
613
+ </xsd:sequence>
614
+ <xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1"/>
615
+ </xsd:choice>
616
+ </xsd:complexType>
617
+ </xsd:element>
618
+ <!-- FIM ALTERAÇÃO BELO HORIZONTE -->
619
+
620
+ <xsd:element name="ConsultarSituacaoLoteRpsEnvio">
621
+ <xsd:complexType>
622
+ <xsd:sequence>
623
+ <xsd:element name="Prestador" type="tcIdentificacaoPrestador" minOccurs="1" maxOccurs="1"/>
624
+ <xsd:element name="Protocolo" type="tsNumeroProtocolo" minOccurs="1" maxOccurs="1"/>
625
+ </xsd:sequence>
626
+ </xsd:complexType>
627
+ </xsd:element>
628
+
629
+ <!--
630
+ ALTERADO POR BELO HORIZONTE
631
+ ALTERAÇÃO: Utilizar o apontamento ref para a NFS-e retornada.
632
+ MOTIVO: O elemento CompNfse já está definido, não há a necessidade de redefiní-lo nesse tipo de elemento, apenas utilizar uma
633
+ referência a ele.
634
+ -->
635
+ <xsd:element name="ConsultarNfseRpsResposta">
636
+ <xsd:complexType>
637
+ <xsd:choice>
638
+ <xsd:element ref="CompNfse" minOccurs="1" maxOccurs="1"/>
639
+ <xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1"/>
640
+ </xsd:choice>
641
+ </xsd:complexType>
642
+ </xsd:element>
643
+ <!-- FIM ALTERAÇÃO BELO HORIZONTE -->
644
+
645
+ <xsd:element name="ConsultarNfseRpsEnvio">
646
+ <xsd:complexType>
647
+ <xsd:sequence>
648
+ <xsd:element name="IdentificacaoRps" type="tcIdentificacaoRps" minOccurs="1" maxOccurs="1"/>
649
+ <xsd:element name="Prestador" type="tcIdentificacaoPrestador" minOccurs="1" maxOccurs="1"/>
650
+ </xsd:sequence>
651
+ </xsd:complexType>
652
+ </xsd:element>
653
+
654
+ <!--
655
+ ALTERADO POR BELO HORIZONTE
656
+ ALTERAÇÃO: Utilizar o apontamento ref para as NFS-e retornadas no elemento ListaNfse.
657
+ MOTIVO: O elemento CompNfse já está definido, não há a necessidade de redefiní-lo nesse tipo de elemento, apenas utilizar uma
658
+ referência a ele.
659
+ ALTERAÇÃO: minOccurs de CompNfse dentro de ListaNfse alterado para 1, ao invés de zero.
660
+ MOTIVO: Se a filtragem não retornar registros, é mais sugestivo retornar uma mensagem no elemento ListaMensagemRetorno alertando
661
+ o usuário sobre o fato, além de outros possíveis erros nessa lista como vínculo indevido de inscrição municipal e CNPJ informado
662
+ nos parâmetros da pesquisa.
663
+ -->
664
+ <xsd:element name="ConsultarNfseResposta">
665
+ <xsd:complexType>
666
+ <xsd:choice>
667
+ <xsd:element name="ListaNfse" minOccurs="1" maxOccurs="1">
668
+ <xsd:complexType>
669
+ <xsd:sequence>
670
+ <xsd:element ref="CompNfse" minOccurs="1"/>
671
+ </xsd:sequence>
672
+ </xsd:complexType>
673
+ </xsd:element>
674
+ <xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1"/>
675
+ </xsd:choice>
676
+ </xsd:complexType>
677
+ </xsd:element>
678
+ <!-- FIM ALTERAÇÃO BELO HORIZONTE -->
679
+
680
+ <xsd:element name="ConsultarNfseEnvio">
681
+ <xsd:complexType>
682
+ <xsd:sequence>
683
+ <xsd:element name="Prestador" type="tcIdentificacaoPrestador" minOccurs="1" maxOccurs="1"/>
684
+ <xsd:element name="NumeroNfse" type="tsNumeroNfse" minOccurs="0" maxOccurs="1"/>
685
+ <xsd:element name="PeriodoEmissao" minOccurs="0" maxOccurs="1">
686
+ <xsd:complexType>
687
+ <xsd:sequence>
688
+ <xsd:element name="DataInicial" type="xsd:date" minOccurs="1" maxOccurs="1"/>
689
+ <xsd:element name="DataFinal" type="xsd:date" minOccurs="1" maxOccurs="1"/>
690
+ </xsd:sequence>
691
+ </xsd:complexType>
692
+ </xsd:element>
693
+ <xsd:element name="Tomador" type="tcIdentificacaoTomador" minOccurs="0" maxOccurs="1"/>
694
+ <xsd:element name="IntermediarioServico" type="tcIdentificacaoIntermediarioServico" minOccurs="0" maxOccurs="1"/>
695
+ </xsd:sequence>
696
+ </xsd:complexType>
697
+ </xsd:element>
698
+
699
+ <!--
700
+ ALTERADO POR BELO HORIZONTE
701
+ ALTERAÇÃO: Utilizar o apontamento ref para as NFS-e retornadas no elemento ListaNfse.
702
+ MOTIVO: O elemento CompNfse já está definido, não há a necessidade de redefiní-lo nesse tipo de elemento, apenas utilizar uma
703
+ referência a ele.
704
+ ALTERAÇÃO: Adição na estrutura de choice do retorno da lista de mensagem de retorno do lote.
705
+ MOTIVO: Nessa resposta temos 3 possibilidade de retorno, ou a lista de NFS-e, ou a lista de erros comuns informandos erros nos
706
+ parâmetros enviados pelo serviço ou a lista de erros dos RPS's em questão, que é a lista já especificada mas que não estava
707
+ sendo apontada desse tipo de dado. Esse erro é especial pois contém a referência ao RPS em que houve aquele erro.
708
+ -->
709
+ <xsd:element name="ConsultarLoteRpsResposta">
710
+ <xsd:complexType>
711
+ <xsd:choice>
712
+ <xsd:element name="ListaNfse" minOccurs="1" maxOccurs="1">
713
+ <xsd:complexType>
714
+ <xsd:sequence>
715
+ <xsd:element ref="CompNfse" maxOccurs="unbounded" minOccurs="1"/>
716
+ </xsd:sequence>
717
+ </xsd:complexType>
718
+ </xsd:element>
719
+ <xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1"/>
720
+ <xsd:element ref="ListaMensagemRetornoLote" minOccurs="1" maxOccurs="1"/>
721
+ </xsd:choice>
722
+ </xsd:complexType>
723
+ </xsd:element>
724
+ <!-- FIM ALTERAÇÃO BELO HORIZONTE -->
725
+
726
+ <xsd:element name="ConsultarLoteRpsEnvio">
727
+ <xsd:complexType>
728
+ <xsd:sequence>
729
+ <xsd:element name="Prestador" type="tcIdentificacaoPrestador" minOccurs="1" maxOccurs="1"/>
730
+ <xsd:element name="Protocolo" type="tsNumeroProtocolo" minOccurs="1" maxOccurs="1"/>
731
+ </xsd:sequence>
732
+ </xsd:complexType>
733
+ </xsd:element>
734
+
735
+ <!--
736
+ ALTERADO POR BELO HORIZONTE
737
+ ALTERAÇÃO: Referencia para RetCancelamento ao invés de Cancelamento diretamente.
738
+ MOTIVO: Evitar a redefinição de elementos já existentes e prover uma melhor estruturação para o retorno do cancelamento.
739
+ A NFS-e quando formada em CompNfse tem o nome do tipo de dado NfseCancelamento, para melhorar essa compatibilidade de nomes
740
+ e a estruturação dessa resposta do serviço de cancelamento.
741
+ -->
742
+ <xsd:element name="CancelarNfseResposta">
743
+ <xsd:complexType>
744
+ <xsd:choice>
745
+ <xsd:element ref="RetCancelamento" minOccurs="1" maxOccurs="1"/>
746
+ <xsd:element ref="ListaMensagemRetorno" minOccurs="1" maxOccurs="1"/>
747
+ </xsd:choice>
748
+ </xsd:complexType>
749
+ </xsd:element>
750
+ <!-- FIM ALTERAÇÃO BELO HORIZONTE -->
751
+
752
+ <xsd:element name="CancelarNfseEnvio">
753
+ <xsd:complexType>
754
+ <xsd:sequence>
755
+ <xsd:element name="Pedido" type="tcPedidoCancelamento"/>
756
+ </xsd:sequence>
757
+ </xsd:complexType>
758
+ </xsd:element>
759
+
760
+ <!--
761
+ Cabeçalho de dados
762
+ -->
763
+ <xsd:element name="cabecalho">
764
+ <xsd:complexType>
765
+ <xsd:sequence>
766
+ <xsd:element name="versaoDados" type="tsVersao" minOccurs="1" maxOccurs="1"/>
767
+ </xsd:sequence>
768
+ <xsd:attribute name="versao" type="tsVersao" use="required" />
769
+ </xsd:element>
770
+
771
+ </xsd:schema>