Ir para conteúdo
Fórum Script Brasil
  • 0

Validar XML no XSD


Tiago_BB

Pergunta

Boa Tarde pessoal.

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:

<?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  >
Criei um XSD da seguinte forma (vou colocar mais ou menos somente a estrutura, que é onde sei que esta errado):
<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>
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:
<?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  >
e depois fiz o xsd da seguinte forma:
<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>

E funcionou...

Porém quero fazer de acordo com o primeiro exemplo!!

Espero que tenham entendido.

Aguardo uma resposta.

Atte.

Editado por Jonathan Queiroz
Adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...