Validador XSD
Um documento XML bem formado ainda pode estar errado: faltando um elemento obrigatório, usando o tipo de dado errado para um atributo ou tendo elementos na ordem errada. XSD (Definição de Esquema XML) descreve exatamente como o documento deve ser. Este validador combina seu XML com seu XSD, executa o validador de Esquema XML do W3C e lista cada violação com linha, elemento e a restrição específica que foi quebrada.
Como validar XML contra XSD
-
1
Cole ambos os arquivos
XML de um lado, esquema XSD do outro. Vários esquemas podem ser colados juntos.
-
2
Executar validação
O analisador combina elementos, atributos e tipos com declarações de esquema.
-
3
Revisar erros
Cada violação mostra o caminho do elemento, a restrição esperada e o valor real.
-
4
Corrigir e revalidar
Edite no local e execute novamente sem recarregar.
O que o XSD verifica
- Nomes de elementos e cardinalidade: obrigatório, opcional, ocorrências mínimas/máximas.
- Ordem dos elementos: sequência, escolha, todos.
- Presença e tipo de atributo: obrigatório vs opcional, valores padrão, valores fixos.
- Tipos de dados:
xs:string,xs:integer,xs:decimal,xs:dateTime,xs:boolean,xs:anyURI, personalizado. - Restrições: comprimento mínimo/máximo, enumerações, padrões regex, valores mínimos/máximos.
- Integridade referencial:
xs:key,xs:keyref,xs:uniquepara restrições entre elementos.
Erros típicos
| Erro | Restrição XSD |
|---|---|
Elemento obrigatório <email> ausente |
minOccurs="1" |
Muitos elementos <phone> |
maxOccurs="2" excedido |
| Valor “abc” não é um inteiro válido | type="xs:integer" |
| Valor “[email protected]” não corresponde ao padrão | xs:pattern em xs:string |
| Elementos fora de ordem | xs:sequence |
Elemento desconhecido <foo> |
Não declarado no esquema |
| Chave duplicada | Violação xs:unique |
Escolhendo entre XSD e alternativas
- XSD: padrão W3C, verboso, poderoso, amplamente suportado. Primeira escolha para XML empresarial.
- RELAX NG: sintaxe mais simples, igualmente expressiva. Popular em formatos de documentação (DocBook, TEI).
- Schematron: baseado em regras, executa afirmações XPath contra o documento. Bom para regras de negócios além da estrutura.
- DTD: mais antigo, muito menos expressivo. Ainda em uso para compatibilidade histórica com HTML.
Muitos projetos usam XSD para estrutura e Schematron para regras complexas entre campos.
Armadilhas comuns
- Os namespaces devem corresponder. Se o XSD declara
targetNamespace="http://example.com"mas o XML não usa esse namespace, a validação falha com “nenhuma declaração encontrada”. - xs:anyType não é uma mágica de escape. Ele corresponde a qualquer coisa, mas não fornece validação alguma.
- Valores padrão se aplicam apenas quando o atributo está ausente. Um valor vazio explícito (
attr="") não recebe o padrão. - Tratamento de espaços em branco varia por tipo.
xs:stringpreserva,xs:tokencolapsa,xs:normalizedStringsubstitui tabs/novas linhas por espaços.
Fluxo de trabalho de depuração
- Valide sem esquema primeiro (verificação de bem formado). Corrija quaisquer erros de análise.
- Depois valide contra o esquema.
- Concentre-se no primeiro erro. Validadores XSD às vezes cascata erros; o primeiro geralmente é o mais acionável.
- Use XPath para localizar o elemento problemático em documentos grandes.
Perguntas frequentes
Não. Cole-os separadamente ou faça referência ao esquema via xsi:schemaLocation no XML. A maioria das ferramentas suporta ambas as abordagens.
Sim. Quando elementos de diferentes namespaces aparecem, cada um precisa de seu próprio esquema. Cole todos eles; o validador carrega todos.
XSD 1.0. O motor libxml subjacente não implementa o XSD 1.1, portanto recursos exclusivos da versão 1.1 como asserções, tipos condicionais e conteúdo aberto não são aplicados.
Não. Seu XML e esquema são enviados ao servidor apenas para executar a validação daquela única solicitação; não são armazenados nem registrados depois.
Ferramentas relacionadas
Gerador de Cartão CSS
Crie o CSS de um contêiner de cartão: fundo, borda, raio dos cantos, espaçamento interno e sombra suave, com pré-visualização imediata e código para copiar e colar.
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Visualizador de Markdown
Escreva Markdown e veja a renderização HTML atualizar ao vivo. Sintaxe com estilo GitHub, incluindo tabelas, listas de tarefas, blocos de código cercados e autolinks.
Gerador de Docker Compose
Gere um docker-compose.yml a partir de definições de serviços com imagem, portas e volumes, com padrões de boas práticas.
Conversor de base numérica
Converta números entre binário, octal, decimal, hexadecimal e qualquer base personalizada de 2 a 36, com o detalhamento posicional.
Ferramenta disponível em outros idiomas
- XSD-Validator [DE]
- Bộ xác thực XSD [VI]
- XSD-validerare [SV]
- เครื่องตรวจสอบความถูกต้องของ XSD (XSD Validator) [TH]
- Validator XSD [ID]
- XSD 검증기 [KO]
- Validador XSD [ES]
- XSDバリデーター [JA]
- مُحقق تنسيق XSD [AR]
- Validateur XSD [FR]
- XSD-validator [NL]
- Walidator XSD [PL]
- Validator XSD [IT]
- Валидатор XSD [RU]
- XSD Doğrulayıcı [TR]
- XSD 校验工具 [ZH]
- XSD Validator [EN]