Проверка XML на XSD в PHP libxml
Я создал XML, как показано ниже
<Request>
<RequestType>Logon</RequestType>
<MobileId>23424</MobileId>
<Password>123456Gg</Password>
</Request>
и мой xsd-файл похож на приведенный ниже код
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Request" type="RequestType"/>
<xsd:complexType name="RequestType">
<xsd:sequence>
<xsd:element name="RequestType">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Logon"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="MobileId" >
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="0" />
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Password">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="255"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
Я использовал PHP-функцию DOMDocument schemaValidate, чтобы проверить xml на xsd, и это дает следующую ошибку
Fatal Error 4: Start tag expected, '<' not found on line 5
Error 1872: The document has no document element. on line 0
Но я проверил эти два файла (xml и xsd) по этой ссылкеПроверка W3C XML-схемы в режиме онлайн, и он успешно проверяется без каких-либо ошибок.
Что я должен сделать, чтобы заставить это работать в php?
Примечание: моя версия php libxml 2.7.8