value 要素

特定値のテキストを要求する要素

属性の説明

type 属性を用いて、データ型を明示することが出来ます。

実際の利用法

要素の中身

例えば、 好物 要素の中身を ステーキショートケーキクリームシチューの三つからの択一にしたい場合は、以下のような記述が考えられます。

スキーマ(の一部)
<element name="好物">
 <choice>
  <value>ステーキ</value>
  <value>ショートケーキ</value>
  <value>クリームシチュー</value>
 </choice>
</element>
実際の XML 文書(の断片)の一例

属性値

例えば、 画像 要素において ファイル 属性と 配置 属性を定義し、ファイル属性は任意のテキスト、配置属性には のどれかの値を入れられるようにしたい場合、以下のような記述が出来ます(要素は空要素とします)。

スキーマ(の一部)
<element name="画像">
 <empty/>
 <attribute name="ファイル">
  <text/>
 </attribute>
 <attribute name="配置">
  <choice>
   <value>右</value>
   <value>左</value>
  </choice>
 </attribute>
</element>
実際の XML 文書(の断片)の一例

以上の例のように、 value 要素は、 choice 要素と用いることが多いかと思われます。また、値を一つしか持ち得ないような場合は、choice 要素を介さず、 value 要素を直截子要素として記述することが可能です。

附記

DTD の如く「何も入れなかった場合の初期値」を決定することは出来ません。RELAX-NGはあくまで「XML文書の検証」をするための機構であり、何かしらの前提をスキーマ自身に盛りこむべきではない、との理念に基づいているからです。