Jump to content

zollen

New Members
  • Posts

    1
  • Joined

  • Last visited

Posts posted by zollen

  1. 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.

×
×
  • 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.