Latest web development tutorials

XMLスキーマの複雑な要素 - テキストのみ

複合要素は、テキストと属性を含めることができる唯一のテキストが含まれています。


テキストのみでコンポジットエレメント

このタイプは、単純なコンテンツ(テキストおよび属性)が含まれ、したがって、我々はこのコンテンツsimpleContentに要素を追加したいと思います。 単純なコンテンツを使用する場合、我々は、拡張子を定義する必要がありますか、このような、simpleContentを要素内に制限します:

<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="basetype">
....
....
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

或者:

<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="basetype">
....
....
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>

ヒント:単純な基本要素の種類を展開または制限するために、拡張または制限要素を使用します。ここではテキストのみが含まれ、「SHOESIZE」、XML要素の例です。

<shoesize country="france">35</shoesize>

次の例は、その内容は整数値として定義されている複合型を宣言し、「SHOESIZE」要素は、「国」という名前のプロパティが含まれています。

<xs:element name="shoesize">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="country" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

また、complexType要素の名前を設定し、(この方法を使用することによって、いくつかの要素が同じ複合型を参照することができます)、この名前を参照するために「SHOESIZE "要素のtype属性をさせることができます。

<xs:element name="shoesize" type="shoetype"/>

<xs:complexType name="shoetype">
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="country" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>