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番目のメンバータイプではなく、なぜこれが起こっているのか推測できます。ありがとうございました。