100 % local: tus datos nunca salen de tu navegador

Validador XML — encuentra dónde se rompe

Comprueba que un XML está bien formado: una raíz, etiquetas cerradas y anidadas, nombres legales. La primera rotura se señala donde ocurre.

Instantáneo Privado Cero cookies

Entrada XML

Salida Result

Qué comprueba esta herramienta

La buena formación, término de la propia especificación para «sintácticamente XML»:

  • exactamente un elemento raíz;
  • cada etiqueta cerrada, y cerrada en el orden en que se abrió;
  • valores de atributo entre comillas, y ningún atributo repetido en un elemento;
  • nombres de elementos y atributos que empiecen legalmente y contengan solo caracteres legales;
  • entidades y referencias numéricas correctamente escritas;
  • ningún carácter prohibido por XML.

Cuando el documento pasa, obtienes su elemento raíz y su tamaño. Cuando no, obtienes la queja del analizador, con la línea y la columna donde se rindió.

Bien formado no es válido

Son dos palabras distintas en la especificación XML, y confundirlas cuesta tiempo real.

comprueba
Bien formadola sintaxis — lo que hace esta herramienta
Válidola sintaxis y un esquema: DTD, XSD, RELAX NG

Un documento puede estar impecablemente bien formado y equivocado en todo lo que importa: un elemento requerido ausente, un elemento fuera de lugar, <precio>plátano</precio> donde se declaró un decimal. Nada en este informe dice lo contrario, y ningún comprobador de buena formación puede decirlo.

Si lo que necesitas es validación por esquema, necesitas el esquema — y una herramienta que lo lea.

El DOCTYPE no se sigue

Una referencia <!DOCTYPE> es una URL. Resolverla implicaría una petición saliente, que diría que este documento existe y quién lo consulta. Aquí nada sale de tu navegador: el DOCTYPE se comprueba como sintaxis y se deja donde está.

Eso es también lo que deja sin objeto los ataques por entidad externa: una entidad que apunta a algún sitio nunca se resuelve.

Una instrucción de procesamiento delante no es problema

<?xml-stylesheet href="style.xsl"?> antes del elemento raíz es XML corriente y válido, y el informe nombra el verdadero elemento raíz en lugar de la instrucción.

La única regla de orden que se impone es la de la especificación: la declaración XML, si está, va primero. En otro sitio no es una declaración sino una instrucción de procesamiento llamada xml, y ese nombre está reservado.

Privado por diseño

Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.

Preguntas frecuentes

¿Comprueba mi documento contra su XSD o su DTD?
No, y la distinción importa. **Bien formado** significa que la sintaxis se sostiene: un elemento raíz, cada etiqueta cerrada en el orden correcto, valores de atributo entre comillas, nombres y caracteres legales. **Válido** significa que además obedece a un esquema: los elementos requeridos presentes, en el orden declarado, con los tipos declarados. Un documento puede estar perfectamente bien formado y violar su esquema en cada línea.
¿Por qué no se sigue el DOCTYPE?
Porque seguirlo significa ir a buscar lo que señala. Una referencia a una DTD es una URL, y resolverla enviaría una petición, revelando que el documento existe y quién lo mira. Aquí todo ocurre en tu navegador y nada sale de él: el DOCTYPE se comprueba como sintaxis y por lo demás se deja en paz.
Dice que mi declaración debe ir primero. ¿Por qué?
Porque la declaración XML solo es declaración en la primera posición; en cualquier otro sitio es una instrucción de procesamiento llamada `xml`, nombre que la especificación reserva. Un `<?xml-stylesheet?>` colocado antes es la causa habitual. Mueve la declaración al principio y el documento se acepta.

Convertidores relacionados