XML-Validierung gegen XSD-in PHP libxml

Erstellt habe ich eine xml wie unter

<Request>
    <RequestType>Logon</RequestType>
    <MobileId>23424</MobileId>
    <Password>123456Gg</Password>
</Request>

und mein xsd-Datei ist wie unten code

<?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>

Benutzt habe ich DAS PHP-DOMDocument-s schemaValidate Funktion zum validieren der xml gegen xsd -, und es gibt folgenden Fehler

Fatal Error 4: Start tag expected, '<' not found on line 5 
Error 1872: The document has no document element. on line 0

Aber die ich getestet habe, werden diese beiden Dateien (xml und xsd), in diesem link W3C-XML-Schema-Online-Validierung, und es erfolgreich überprüft, ohne sichtbare Fehler.

Was muss ich tun, um diese Arbeit in php?

Hinweis: meine php-libxml version 2.7.8

InformationsquelleAutor Kanagu | 2014-01-06
Schreibe einen Kommentar