Estou com uma dúvida.
Gerei um arquivo XML, até ai tudo bem, preciso validar esse arquivo utilizando o XSD.
Acontece que: A estrutura do meu XML é a seguinte:
CODE
<?xml version="1.0" ?>
- <ALUNOS xmlns="urn:ALUNOS-schema">
- <ALUNO COD_REGIAO="1">
<ELEM NOME="Paulo" IDADE="13" />
<ELEM NOME ="Pedro" IDADE ="14" />
<ELEM NOME ="João" IDADE ="15" />
<ELEM NOME ="Zé" IDADE ="15" />
<ELEM NOME ="Favio" IDADE ="16" />
</ALUNO >
- <ALUNO COD_REGIAO="1">
<ELEM NOME="Maria" IDADE="15" />
<ELEM NOME ="Joaquim" IDADE ="13" />
<ELEM NOME ="Tiago" IDADE ="14" />
<ELEM NOME ="Rogério" IDADE ="17" />
<ELEM NOME ="Paula" IDADE ="16" />
</ALUNO >
- <ALUNOS xmlns="urn:ALUNOS-schema">
- <ALUNO COD_REGIAO="1">
<ELEM NOME="Paulo" IDADE="13" />
<ELEM NOME ="Pedro" IDADE ="14" />
<ELEM NOME ="João" IDADE ="15" />
<ELEM NOME ="Zé" IDADE ="15" />
<ELEM NOME ="Favio" IDADE ="16" />
</ALUNO >
- <ALUNO COD_REGIAO="1">
<ELEM NOME="Maria" IDADE="15" />
<ELEM NOME ="Joaquim" IDADE ="13" />
<ELEM NOME ="Tiago" IDADE ="14" />
<ELEM NOME ="Rogério" IDADE ="17" />
<ELEM NOME ="Paula" IDADE ="16" />
</ALUNO >
Criei um XSD da seguinte forma (vou colocar mais ou menos somente a estrutura, que é onde sei que esta errado):
CODE
<xsd:element name="ALUNOS">
<xsd:complexType >
<xsd:sequence>
<xsd:element name="ALUNO" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="COD_REGIAO" type="xsd:decimal" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="ELEM" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="NOME" type="xsd:stringl" use="required"/>
<xsd:attribute name="IDADE" type="xsd:decimalt" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xsd:complexType >
<xsd:sequence>
<xsd:element name="ALUNO" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="COD_REGIAO" type="xsd:decimal" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="ELEM" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="NOME" type="xsd:stringl" use="required"/>
<xsd:attribute name="IDADE" type="xsd:decimalt" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Não estou conseguindo montar o xsd usando 2 elementos. Sempre da algum erro no xsd.
Mudei a estrutura do meu xml da seguinte forma:
CODE
<?xml version="1.0" ?>
- <ALUNOS xmlns="urn:ALUNOS-schema">
- <ALUNO COD_REGIAO="1" NOME="Paulo" IDADE="13" />
- <ALUNO COD_REGIAO="1" NOME="Pedro" IDADE="14" />
- <ALUNO COD_REGIAO="1" NOME="João" IDADE="15" />
- <ALUNO COD_REGIAO="1" NOME="Zé" IDADE="16" />
- <ALUNO COD_REGIAO="1" NOME="Favio" IDADE="13" />
- <ALUNO COD_REGIAO="2" NOME="Maria" IDADE="13" />
- <ALUNO COD_REGIAO="2" NOME="Joaquim" IDADE="13" />
- <ALUNO COD_REGIAO="2" NOME="Tiago" IDADE="13" />
- <ALUNO COD_REGIAO="2" NOME="Rogério" IDADE="14" />
- <ALUNO COD_REGIAO="2" NOME="Paula" IDADE="15" />
</ALUNOS >
- <ALUNOS xmlns="urn:ALUNOS-schema">
- <ALUNO COD_REGIAO="1" NOME="Paulo" IDADE="13" />
- <ALUNO COD_REGIAO="1" NOME="Pedro" IDADE="14" />
- <ALUNO COD_REGIAO="1" NOME="João" IDADE="15" />
- <ALUNO COD_REGIAO="1" NOME="Zé" IDADE="16" />
- <ALUNO COD_REGIAO="1" NOME="Favio" IDADE="13" />
- <ALUNO COD_REGIAO="2" NOME="Maria" IDADE="13" />
- <ALUNO COD_REGIAO="2" NOME="Joaquim" IDADE="13" />
- <ALUNO COD_REGIAO="2" NOME="Tiago" IDADE="13" />
- <ALUNO COD_REGIAO="2" NOME="Rogério" IDADE="14" />
- <ALUNO COD_REGIAO="2" NOME="Paula" IDADE="15" />
</ALUNOS >
e depois fiz o xsd da seguinte forma:
CODE
<xsd:element name="ALUNOS">
<xsd:complexType >
<xsd:sequence>
<xsd:element name="ALUNO" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="COD_REGIAO" type="xsd:decimal" use="required"/>
<xsd:attribute name="NOME" type="xsd:stringl" use="required"/>
<xsd:attribute name="IDADE" type="xsd:decimalt" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xsd:complexType >
<xsd:sequence>
<xsd:element name="ALUNO" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="COD_REGIAO" type="xsd:decimal" use="required"/>
<xsd:attribute name="NOME" type="xsd:stringl" use="required"/>
<xsd:attribute name="IDADE" type="xsd:decimalt" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
E funcionou...
Porém quero fazer de acordo com o primeiro exemplo!!
Espero que tenham entendido.
Aguardo uma resposta.
Atte.