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 ),而不是第二个,猜猜为什么会这样。谢谢你。

4

1 回答 1

0

您可以使用 XMLReader 根据 xsd 文件验证您的 XML。有关更多信息, 请参阅此链接http://de.php.net/manual/en/xmlreader.setschema.php

于 2012-11-26T15:46:55.827 回答