以下のようなXML Schema文書を作成すると、パターン1またはパターン2のいずれかにマッチする要素を定義できる。
<?xml version="1.0" encoding="Shift_JIS"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="PatternTest" type="PatternTestType"/>
<xsd:complexType name="PatternTestType">
<xsd:sequence>
<xsd:element name="Pattern" type="PatternType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="PatternType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[a-g]+"/>
<xsd:pattern value="[q-z]+"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
以下のXML文書は妥当である。
<?xml version="1.0" encoding="Shift_JIS"?>
<PatternTest>
<Pattern>abcdefg</Pattern>
<Pattern>qrstuvwxyz</Pattern>
</PatternTest>
【XMLパーサ】Xerces-J 2.9.0
【OS】Windows XP Professional Edition + SP2
<?xml version="1.0" encoding="Shift_JIS"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="PatternTest" type="PatternTestType"/>
<xsd:complexType name="PatternTestType">
<xsd:sequence>
<xsd:element name="Pattern" type="PatternType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="PatternType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[a-g]+"/>
<xsd:pattern value="[q-z]+"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
以下のXML文書は妥当である。
<?xml version="1.0" encoding="Shift_JIS"?>
<PatternTest>
<Pattern>abcdefg</Pattern>
<Pattern>qrstuvwxyz</Pattern>
</PatternTest>
【XMLパーサ】Xerces-J 2.9.0
【OS】Windows XP Professional Edition + SP2