2002年9月8日(日)更新 |
■知っていると、ちょっと便利なテクニック
たけち: 前回は属性の宣言の仕方についてきちんと勉強したけれど、今回は属性の宣言について知っていると、ちょっと便利なテクニックの1つを勉強するね。以前、要素の宣言で匿名のデータ型というテクニックを勉強したよね。 さらら: えぇ、わざわざデータ型の名前を決めなくても、要素の宣言の中にデータ型の定義を組み込んでしまえばいいのよね。 たけち: そう、そしてこれと同じテクニックは、要素の宣言だけでなくて、属性の宣言でも使えるんだよ。まず以前も出てきたこんな例を考えてみるね。 |
<?xml version="1.0" encoding="Shift_JIS" ?> |
たけち: ちなみにこれはDTDでいうと |
さらら: あっ、これはわかるような気がするわ。要素の宣言における匿名のデータ型と同じようにすればいいんでしょ。こんな形かしら。。。。。 |
<?xml version="1.0" encoding="Shift_JIS" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="poem" type="PoemType" />
<xsd:complexType name="PoemType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="poemGroup" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="挽歌" />
<xsd:enumeration value="雑歌" />
<xsd:enumeration value="譬喩歌" />
<xsd:enumeration value="相聞歌" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:schema>
たけち: あたりぃ〜!! さらら: 今回は簡単だったわ...(^ ^* たけち: ある属性のデータ型の定義が1箇所だけでしか使われないような場合には、このようなテクニックが便利だね。次回も「知っていると、ちょっと便利なテクニック」を勉強するね。 さらら: は〜い。 → 次回は名前付き属性グループ定義です。。。。 (^ ^)v |
■XMLスキーマのコーナーは、TAKABEさま(XSLTの遊び部屋)の全面的なご協力をいただいて作成しています。 |