ナビ

XML Schemaサンプル

wrote :

sample.xsd
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="music">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="rock" minOccurs="0" 最小限回数を指定する
maxOccurs="unbounded"最大限回数を指定する />
</xsd:sequence>
</xsd:complextype>
</xsd:element>
<xsd:element name="rock">
<xsd:complexType>
<xsd:sequence>順番に出現する
<xsd:element name="name" type="xsd:string" />
<xsd:element name="album" type="xsd:string" />
<xsd:element ref="price" />
<xsd:element ref="desciption" />
<xsd:element name="img" type="xsd:string" />
</xsd:sequence> <xsd:attribute name="id" type="xsd:string"属性を取り決める
use="required"属性が必須であることを指定 />
<xsd:attrubute name="from" type="xsd:string"
default="japan"デフォルト値を設定 />
</xsd:complextype>
</xsd:element>
<xsd:element name="price">
<xsd:complexType>
<xsd:choice>いずれかが出現する
<xsd:element name="yen" type="xsd:decimal" />
<xsd:element name="pond" type="xsd:decimal" />
</xsd:choice>
</xsd:complextype>
</xsd:element>
<xsd:element name="description">
<xsd:complexType mixed="true">混合内容にする
<xsd:choice>
<xsd:element name="em" type="xsd:string"
minOccurs="0" maxOccurs="unbounded" />
</xsd:choice>
</xsd:complextype>
</xsd:element>
</xsd:schema>

妥当となるxml文書

<?xml version="1.0" encoding="utf-8"?>
<music>
<rock id="1001" from="japan">
<name>un born baby</name>
<album>un born baby</album>
<price>
<yen>800</yen>
</price>
<description>新宿を拠点に活動する3ペースバンド。</description>
<img />
</rock>
<rock id="2001">
<name>day sweet</name>
<price>
<pond>2</pond>
</price>
<description>酔いどれが集まって結成された<em>day sweet</em>元all in the mindのメンバー含む</description>
<img />
</rock>
</music>