2009-09-09 17 views
6

Diciamo che voglio essere in grado di verificare che un file XML da 50 GB + sia conforme a un dato XSD. Potrei usareC'è un modo per eseguire la convalida XSD di uno stream XML in PHP

DOMDocument::load & DOMDocument::schemaValidate 

ma prenderò tutto il tempo sul carico e generalmente esaurire tutta la memoria disponibile per me. Esiste un modo per alimentare un XSD a un SAX o qualsiasi altro tipo di processore di streaming e verificare che tutto funzioni correttamente?

risposta

8

È possibile utilizzare XMLReader:

$reader = new XMLReader(); 
$reader->open('xmlfile.xml'); 
$reader->setSchema('schemafile.xsd'); 
while($reader->read()); 
$reader->close(); 
Problemi correlati