Alternativa a xmllint para comprobar la validez de xml

Alternativa a xmllint para comprobar la validez de xml

A veces, tengo que comprobar la validez de algunos archivos xml grandes con un archivo xsd. El archivo xml más grande que recibí tenía un tamaño cercano a 1,5 GB. xmllintTomó toda mi RAM y casi todo el espacio de intercambio, para un uso total de memoria de 18 GB. En consecuencia, el proceso de validación duró 24 horas.

Mi pregunta: ¿Existe alguna alternativa xmllint --schemaque consuma menos memoria, tal vez haciendo uso de algunas funciones de transmisión en lugar de cargar el archivo en la memoria?

Respuesta1

No probé estos validadores, pero desde lo más profundo de mi mente/pequeña búsqueda:

  1. XMLStarlet- también se puede utilizar para otras cosas
  2. msv- Validador de múltiples esquemas Sun
  3. HaXML- las herramientas haskell xml contienen utilidades de línea de comando (una es un validador)
  4. xsltprocTambién debe verificar los documentos al inicio.

Hay muchas más opciones ya que la mayoría de las utilidades validarán automáticamente el documento xml, como por ejemplo xsltproc.

Respuesta2

En la biblioteca de paquetes de mi sistema Linux encontré xmlcopyeditor. Lo usé para verificar un archivo XML y también para editarlo. La página de manual afirma que realiza "validación DTD/XML Schema/RELAX NG, XSLT, XPath, impresión bonita, resaltado de sintaxis, plegado, finalización/bloqueo de etiquetas, revisión de ortografía/estilo y, en Windows, importación/exportación sin pérdidas de Microsoft Documentos de Word." pero realmente no he probado qué tan bien hace nada de eso. Lo que sí sé es que la impresión bonita no funcionó hasta que las etiquetas de inicio y fin coincidieron correctamente. http://xml-copy-editor.sourceforge.net/

información relacionada