Validador de XML / XSD
No servidorExemplos
Resultado da validação
Esquema XSD
Documento XML
Detalhes técnicos
Como Funciona o Validador de XML / XSD
O Que a Ferramenta Faz
Este validador XML XSD verifica documentos XML face a definições de XML Schema usando processamento no lado do servidor. A ferramenta valida a estrutura, tipos de dados, ordenação de elementos e requisitos de atributos definidos no seu esquema. Quando a validação falha, reporta erros específicos com números de linha e coluna quando disponíveis. O validador lida com namespaces, tipos complexos, restrições de sequência e facetas de esquema como correspondência de padrões e restrições de valores.
Exemplo: Validação de Catálogo de Livros
Considere este esquema XSD que exige que os livros tenham IDs inteiros e preços decimais:
<xs:element name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="price" type="xs:decimal"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>XML inválido como <book id="abc"><price>not-a-number</price></book>falharia a validação com erros de restrição de tipo tanto para o atributo ID como para o elemento price.
Casos de Utilização Comuns
Os programadores usam validação de XML Schema ao integrar com APIs SOAP, validar ficheiros de configuração ou processar formatos de troca de dados. Cenários comuns incluem validar respostas de API face a esquemas publicados, verificar ficheiros de configuração antes do deployment e garantir a qualidade dos dados em pipelines de ETL. O validador é particularmente útil para detetar incompatibilidades de tipo, elementos obrigatórios em falta e ordenação incorreta de elementos antes de os dados chegarem a sistemas de produção.
Motor de Validação e Limitações
Esta ferramenta utiliza libxml2 através do binding libxmljs para Node.js, fornecendo conformidade com XML Schema 1.0. O validador processa os esquemas inteiramente no lado do servidor por motivos de segurança e não obtém recursos externos nem resolve imports baseados na rede. O processamento de entidades externas (XXE) está desativado por segurança. Includes e imports de esquema funcionam apenas se todos os esquemas referenciados forem fornecidos no conteúdo XSD principal.
- Acesso à rede:Bloqueado por segurança
- Imports de esquema:Têm de estar inline, sem resolução externa
- Entidades externas:Desativadas (proteção XXE)
- Limites de processamento:Aplicam-se limites de tamanho razoáveis
Processamento no servidor vs Processamento no cliente
As verificações de boa formação de XML no lado do cliente são suficientes para validação básica de sintaxe. No entanto, a validação XSD requer um motor especializado, porque os navegadores não incluem processadores de XML Schema. A validação no servidor garante resultados consistentes, lida com funcionalidades complexas do esquema, como herança e importações, e fornece isolamento de segurança face a conteúdo XML potencialmente malicioso.