Validador XSD
Un documento XML bien formado aún puede estar incorrecto: falta un elemento requerido, uso del tipo de dato incorrecto para un atributo, o tener elementos en el orden incorrecto. XSD (Definición de Esquema XML) describe exactamente cómo debería verse el documento. Este validador empareja tu XML con su XSD, ejecuta el validador de esquema XML de W3C y lista cada violación con línea, elemento y la restricción específica que se rompió.
Cómo validar XML contra XSD
-
1
Pega ambos archivos
XML de un lado, esquema XSD del otro. Se pueden pegar múltiples esquemas juntos.
-
2
Ejecuta la validación
El analizador empareja elementos, atributos y tipos con las declaraciones del esquema.
-
3
Revisa los errores
Cada violación muestra la ruta del elemento, la restricción esperada y el valor actual.
-
4
Corrige y revalida
Edita en el lugar y vuelve a ejecutar sin recargar.
Qué verifica XSD
- Nombres de elementos y cardinalidad: requerido, opcional, ocurrencias mín/max.
- Orden de elementos: secuencia, elección, todos.
- Presencia y tipo de atributo: requerido vs opcional, valores predeterminados, valores fijos.
- Tipos de datos:
xs:string,xs:integer,xs:decimal,xs:dateTime,xs:boolean,xs:anyURI, personalizado. - Restricciones: longitud mín/max, enumeraciones, patrones regex, valores mín/max.
- Integridad referencial:
xs:key,xs:keyref,xs:uniquepara restricciones entre elementos.
Errores típicos
| Error | Restricción XSD |
|---|---|
Falta el elemento requerido <email> |
minOccurs="1" |
Demasiados elementos <phone> |
maxOccurs="2" excedido |
| El valor “abc” no es un entero válido | type="xs:integer" |
| El valor “[email protected]” no coincide con el patrón | xs:pattern en xs:string |
| Elementos fuera de orden | xs:sequence |
Elemento desconocido <foo> |
No declarado en el esquema |
| Clave duplicada | Violación de xs:unique |
Elegir entre XSD y alternativas
- XSD: estándar W3C, verboso, poderoso, ampliamente soportado. Primera opción para XML empresarial.
- RELAX NG: sintaxis más simple, igualmente expresivo. Popular en formatos de documentación (DocBook, TEI).
- Schematron: basado en reglas, ejecuta afirmaciones XPath contra el documento. Bueno para reglas de negocio más allá de la estructura.
- DTD: más antiguo, mucho menos expresivo. Aún en uso por compatibilidad histórica con HTML.
Muchos proyectos utilizan XSD para la estructura y Schematron para reglas complejas entre campos.
Problemas comunes
- Los espacios de nombres deben coincidir. Si el XSD declara
targetNamespace="http://example.com"pero el XML no usa ese espacio de nombres, la validación falla con “no se encontró declaración”. - xs:anyType no es un escape mágico. Coincide con cualquier cosa pero no te da ninguna validación.
- Los valores predeterminados se aplican solo cuando el atributo está ausente. Un valor vacío explícito (
attr="") no recibe el predeterminado. - El manejo de espacios en blanco varía según el tipo.
xs:stringlo preserva,xs:tokenlo colapsa,xs:normalizedStringreemplaza tabulaciones/nuevas líneas por espacios.
Flujo de trabajo de depuración
- Valida sin esquema primero (verificación de bien formado). Corrige cualquier error de análisis.
- Luego valida contra el esquema.
- Enfócate en el primer error. Los validadores XSD a veces generan errores en cascada; el primero suele ser el más manejable.
- Usa XPath para localizar el elemento problemático en documentos grandes.
Preguntas frecuentes
No. Pégalos por separado, o referencia el esquema a través de xsi:schemaLocation en el XML. La mayoría de las herramientas soportan ambos enfoques.
Sí. Cuando aparecen elementos de diferentes espacios de nombres, cada uno necesita su propio esquema. Pega todos; el validador los carga todos.
XSD 1.0. El motor libxml subyacente no implementa XSD 1.1, por lo que las funciones exclusivas de la versión 1.1 como las aserciones, los tipos condicionales y el contenido abierto no se aplican.
No. Tu XML y tu esquema se envían al servidor únicamente para ejecutar la validación de esa única petición; no se almacenan ni se registran después.
Herramientas relacionadas
Generador de letras aleatorias
Genera letras aleatorias A-Z. Elige la cantidad, usa mayúsculas, minúsculas o mezcla de ambas, y aplica el resultado en juegos, consignas o clase.
Referencia de la tabla ASCII
Tabla ASCII completa del 0 al 127 con decimal, hex, octal, binario y referencia numérica HTML para cada carácter, incluidos los códigos de control como NUL, LF y DEL.
Referencia de atajos de teclado
Busca los atajos predeterminados documentados de VS Code, Chrome y Bash con GNU Readline en macOS, Windows y Linux.
Convertidor de ASCII a Binario
Convierte cualquier cadena ASCII a su representación binaria. Cada carácter se convierte en ocho bits, separados por espacios, listos para pegar en un seguimiento de protocolo o tarea.
Desofuscador de JavaScript
Desofusca JavaScript minificado o empaquetado con renombrado de variables, decodificación de arreglos de cadenas, reversión de aplanamiento de flujo de control y embellecimiento.
Generador de Formularios CSS
Genera el CSS de un formulario completo con estilo: una cuadrícula de formulario, etiquetas, entradas, áreas de texto, selectores y estados de foco claros. Elige el color de acento, el radio de las esquinas y la separación, y copia el código.
Herramienta disponible en otros idiomas
- XSD-Validator [DE]
- Validador XSD [PT]
- XSDバリデーター [JA]
- XSD-validator [NL]
- Bộ xác thực XSD [VI]
- เครื่องตรวจสอบความถูกต้องของ XSD (XSD Validator) [TH]
- Validator XSD [ID]
- XSD 검증기 [KO]
- XSD-validerare [SV]
- مُحقق تنسيق XSD [AR]
- Validateur XSD [FR]
- Walidator XSD [PL]
- Validator XSD [IT]
- Валидатор XSD [RU]
- XSD Doğrulayıcı [TR]
- XSD 校验工具 [ZH]
- XSD Validator [EN]