Есть ли способ сделать проверку XSD потока XML в PHP - PullRequest
7 голосов
/ 10 сентября 2009

Допустим, я хочу иметь возможность проверить, что XML-файл размером более 50 ГБ соответствует данному XSD. Я мог бы использовать

DOMDocument::load & DOMDocument::schemaValidate

но это займет все время при загрузке и вообще исчерпает всю доступную для меня память. Есть ли способ передать XSD в SAX или любой другой тип потокового процессора и убедиться, что все в порядке?

1 Ответ

8 голосов
/ 11 сентября 2009

Вы можете использовать XMLReader:

$reader = new XMLReader();
$reader->open('xmlfile.xml');
$reader->setSchema('schemafile.xsd');
while($reader->read());
$reader->close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...