Question

Disons que je veux pouvoir valider qu'un fichier XML de 50 Go + est conforme à un XSD donné. Je pourrais utiliser

DOMDocument::load & DOMDocument::schemaValidate

mais cela prendra tout le temps nécessaire au chargement et épuisera généralement toute la mémoire disponible pour moi. Existe-t-il un moyen de transmettre un fichier XSD à un SAX ou à un autre type de processeur de flux et de le faire vérifier que tout va bien?

Était-ce utile?

La solution

Vous pouvez utiliser XMLReader:

$reader = new XMLReader();
$reader->open('xmlfile.xml');
$reader->setSchema('schemafile.xsd');
while($reader->read());
$reader->close();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top