Всем доброго времени суток!
Есть xml файл, который необходимо проверить xsd-схемой.
$xmlString = file_get_contents('path/to/xml.xml');
$xmlObj = new DOMDocument();
$xmlObj->loadXML($xmlString);
$res = $xmlObj->schemaValidate('path/to/schema.xsd');
Появляется ошибка:
schemavalidate invalid schema
Нашел внутри xsd-схемы include:
<xs:include schemaLocation="data_types.xsd"/>
Обе схемы лежат в одной директории.
Не подскажете в чем может быть проблема?
Проверял код на других парах xml-xsd(в которых нет xs:include) - скрипт отрабатывает корректно.
Включил отображение всех ошибок, вернуло:
DOMDocument::schemaValidate(): failed to compile: expecting a branch after |
Xsd брал от сюда: http://www.cbr.ru/analytics/?prtid=fsfm&ch=itm_8311#CheckedItem . Вторая ссылка
Сборка персонального компьютера от Artline: умный выбор для современных пользователей