Jump to content

xml validation with schema failed but the xml is valid


zollen

Recommended Posts

XSD

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    <xsd:simpleType name="MgmtCodetyp">
        <xsd:restriction base="xsd:string">
             <xsd:pattern value="[A-Z][A-Z]([A-Z]|[0-9])"></xsd:pattern>
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:element name="MgmtCode" type="MgmtCodetyp"></xsd:element>
</xsd:schema>

 

XML

<MgmtCode>AGF</MgmtCode>

 

PHP Code

<?php

        $file = "data.xml";

        function libxml_display_error($error) {

                $return = "\n";

                switch ($error->level) {
                        case LIBXML_ERR_ERROR:
                                $return .= "[ERROR] ";
                        break;
                        case LIBXML_ERR_FATAL:
                                $return .= "[FATAL] ";
                        break;
                        default:
                                $return .= "[uNKNOWN] ";
                }

                $return .= trim($error->message);
                $return .= " [line: $error->line]\n";

                return $return;
        }

        function libxml_display_errors() {

                $errors = libxml_get_errors();

                foreach ($errors as $error) {
                        if ($error -> level != LIBXML_ERR_WARNING) {
                                print libxml_display_error($error);
                        }
                }

                libxml_clear_errors();
        }

        // Enable user error handling
        libxml_use_internal_errors(true);

        $xml = new DOMDocument;
        $xml -> load("kkk.xml");
        if (!$xml -> schemaValidate("kkk.xsd")) {

                libxml_display_errors();
        }
        else {
                
                print "no error\n";
        }

?>

 

OUTPUT

[ERROR] Element 'MgmtCode': [facet 'pattern'] The value 'AGF' is not accepted by the pattern '[A-Z][A-Z]([A-Z]|[0-9])'. [line: 1]

[ERROR] Element 'MgmtCode': 'AGF' is not a valid value of the atomic type 'MgmtCodetyp'. [line: 1]

 

ANALYSIS

The XML is a perfectly valid xml. I don't understand why it failed the XSD.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.