Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RenatoReis

Associar XML XSD

Recommended Posts

Boa tarde pessoal.

 

Tenho muito pouca experiencia com arquivos XML apesar do meu sistema gerar arquivos mensalmente, já por um bom tempo.

Trabalhamos sob regimento do Banco Central e necessitamos enviar informaçoes periodicas por documento XML.

Um novo arquivo foi solicitado. O sistema já gerou o sistema conforme especificações, mas falta a validação do arquivo para envio e ai está meu grande problema.

 

Meu arquivo XML esta assim:

<?xml version="1.0" encoding="UTF-8"?>
<Doc5300 codigo-documento="5300" data-base="2014-12" cnpj="12345678" tipo-remessa="I">
<cooperados>
<cooperado pessoa="1" identificacao="00000000000">
<relacionamentos-encerrados>
<relacionamento inicio="1994-10-07" fim="2000-12-01"/>
<relacionamento inicio="2000-09-22" fim="1899-12-30"/>
</relacionamentos-encerrados>
</cooperado>
<cooperado pessoa="1" identificacao="00000122700">
<relacionamentos-encerrados>
<relacionamento inicio="2001-12-03" fim="2011-05-19"/>
</relacionamentos-encerrados>
</cooperado>
</cooperados>
</Doc5300>
E o XSD que está no endereço http://www.bcb.gov.br/Fis/pstaw10/5300.xsd está assim:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Doc5300" type="Doc5300ComplexType"/>
<xs:complexType name="Doc5300ComplexType">
<xs:sequence>
<xs:element name="cooperados" type="CooperadosComplexType"/>
</xs:sequence>
<xs:attribute name="data-base" type="xs:gYearMonth"/>
<xs:attribute name="tipo-remessa" type="TipoRemessaSimpleType"/>
<xs:attribute name="cnpj" type="CnpjSimpleType"/>
<xs:attribute name="codigo-documento" type="codigoDocumentoSimpleType"/>
</xs:complexType>
<xs:simpleType name="codigoDocumentoSimpleType">
<xs:restriction base="xs:integer">
<xs:pattern value="5300"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CooperadosComplexType">
<xs:sequence>
<xs:element name="cooperado" type="CooperadoComplexType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CooperadoComplexType">
<!--
Pode ocorrer relacionamento-atual e relacionamento-encerrados ou ao menos um dos dois.
-->
<xs:choice>
<xs:sequence>
<xs:element name="relacionamento-atual" type="RelacionamentoAtualComplexType" minOccurs="1"/>
<xs:element name="relacionamentos-encerrados" type="RelacionamentosEncerradoComplexType" minOccurs="0"/>
</xs:sequence>
<xs:sequence>
<xs:element name="relacionamentos-encerrados" type="RelacionamentosEncerradoComplexType" minOccurs="1"/>
</xs:sequence>
</xs:choice>
<xs:attribute name="pessoa" type="PessoaSimpleType" use="required"/>
<xs:attribute name="identificacao" type="CnpjOuCpfSimpleType" use="required"/>
</xs:complexType>
<xs:complexType name="RelacionamentoAtualComplexType">
<xs:choice>
<xs:sequence>
<xs:element name="municipio" type="xs:integer"/>
<xs:element name="operacoes-como-titular" type="OperacoesComoTitularComplexType"/>
<xs:element name="capital-integralizado" type="PositivoComCentavosSimpleType"/>
<xs:element name="capital-a-integralizar" type="PositivoComCentavosSimpleType"/>
</xs:sequence>
<xs:sequence></xs:sequence>
</xs:choice>
<xs:attribute name="inicio" type="xs:date" use="required"/>
</xs:complexType>
<xs:complexType name="RelacionamentoEncerradoComplexType">
<xs:attribute name="inicio" type="xs:date" use="required"/>
<xs:attribute name="fim" type="xs:date" use="required"/>
</xs:complexType>
<xs:complexType name="RelacionamentosEncerradoComplexType">
<xs:sequence>
<xs:element name="relacionamento" type="RelacionamentoEncerradoComplexType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="OperacoesComoTitularComplexType">
<xs:sequence>
<xs:element name="conta-corrente" type="SimOuNaoSimpleType"/>
<xs:element name="deposito-a-prazo" type="SimOuNaoSimpleType"/>
<xs:element name="deposito-sob-aviso" type="SimOuNaoSimpleType"/>
<xs:element name="op-credito" type="SimOuNaoSimpleType"/>
<xs:element name="outros" type="SimOuNaoSimpleType"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="TipoRemessaSimpleType">
<xs:restriction base="xs:string">
<!-- I - Inclusão S - Substituição -->
<xs:pattern value="I|S"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CnpjSimpleType">
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9]{8}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PessoaSimpleType">
<xs:restriction base="xs:integer">
<!--
1 – Pessoa Física residente no país 2 – Pessoa Jurídica domiciliada no país 3 – Pessoa Física residente no exterior 4 – Pessoa Jurídica domiciliada no exterior
-->
<xs:pattern value="[1-4]"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CnpjOuCpfSimpleType">
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9]{11,14}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PositivoComCentavosSimpleType">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="2"/>
<xs:minInclusive value="0"/>
<xs:pattern value="\d+\.\d{2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SimOuNaoSimpleType">
<xs:restriction base="xs:string">
<!-- Sim | Não -->
<xs:pattern value="S|N"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Quando valido o arquivo me apresenta a seguinte mensagem:
Invalid byte 2 of 3-byte UTF-8 sequence.
Tenho dúvida quanto ao XSD estar de acordo com o XML.
Preciso da ajuda de vcs.
Obrigado.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.