0

CodeIgniter を使用しており、以下の xsd で xml を検証したい

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xsd:simpleType name="non_empty_string">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="1" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:element name="xml">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="item">
                    <xsd:simpleType>
                        <xsd:union memberTypes="non_empty_string xsd:integer"/>
                    </xsd:simpleType>
                </xsd:element>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>

このxsdに対してxmlを検証しようとすると、最初のメンバータイプのみが検証され (non_empty_string )、2番目のメンバータイプではなく、なぜこれが起こっているのか推測できます。ありがとうございました。

4

1 に答える 1

0

XMLReader を使用して、XML を xsd ファイルに対して検証できます。詳細については、このリンクを参照してください http://de.php.net/manual/en/xmlreader.setschema.php

于 2012-11-26T15:46:55.827 に答える