¿Hay una manera de hacer la validación XSD de una secuencia XML en PHP?
-
05-07-2019 - |
Pregunta
Digamos que quiero poder validar que un archivo XML de 50GB + se ajusta a un XSD dado. Podría usar
DOMDocument::load & DOMDocument::schemaValidate
pero eso tomará todo el tiempo de carga y generalmente agotará toda la memoria disponible para mí. ¿Hay alguna manera de alimentar un XSD a un SAX o cualquier otro tipo de procesador de flujo y hacer que verifique que todo está bien?
Solución
Puedes usar XMLReader:
$reader = new XMLReader();
$reader->open('xmlfile.xml');
$reader->setSchema('schemafile.xsd');
while($reader->read());
$reader->close();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow