myGroup > myProject
 

param 要素

データ型に附加情報を与える要素

  • 特定のデータ型に関し、何らかの制限や情報を附加させるための要素です。
  • name 属性 が制限を課す条件名、中身がその条件の値を、それぞれ示します。name 属性 の属性値と param要素 の中身は、データ型ライブラリの定義に依存します(RELAX-NG 内部では、特に定義されていません)。
  • 常に data要素 の直下に置かなければなりません。

属性

name 属性

制限を課す条件名を示します。とりうる条件名は、データ型ライブラリの定義に依存します(RELAX-NG 内部では、特に定義されていません)。

子ノード

  • 子にテキストノードを一つ持ち条件のパラメタを示します。とりうる値は、データ型ライブラリの定義に依存します(RELAX-NG 内部では、特に定義されていません)。
  • 中身は常にテキストです。空の param要素 は望ましくないと思われます。

使用例

例 1: 「プロフィール」の例

「プロフィール」の例

data要素と同じ例。 プロフィールには氏名, 年齢のみが入れられるとします。

制限すべき事項と具体的制限

  • 氏名は通常の文字列で、文字数は1 〜 10 文字とします。
  • 年齢は整数値で、範囲は0-150とします。

実際の記述例

スキーマ例
<?xml version="1.0"?>
<element name="プロフィール" xmlns="http://relaxng.org/ns/structure/1.0"
  datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
 <element name="氏名">
  <data type="string">
   <param name="minLength">1</param>
   <param name="maxLength">10</param>
  </data>
 </element>
 <element name="年齢">
  <data type="integer">
   <param name="minInclusive">0</param>
   <param name="maxExclusive">150</param>
  </data>
 </element>
</element>
妥当な XML 文書の一例
<?xml version="1.0"?>
<プロフィール>
 <氏名>真田ゆり子</氏名> <!-- 中身は5文字 -->
 <年齢>18</年齢> <!-- 数値は1-150の範囲内 -->
</プロフィール>
妥当でない XML 文書の一例
<?xml version="1.0"?>
<プロフィール>
 <氏名>寿限無寿限無海砂利水魚</氏名> <!-- 11文字! -->
 <年齢>250</年齢> <!-- 150より上! -->
</プロフィール>

参考文献