param
要素は望ましくないと思われます。name
属性が制限を課す条件名、中身がその条件の値を、それぞれ示します。name
属性の属性値と param
要素の中身は、データ型ライブラリの定義に依存します(RELAX-NG 内部では、特に定義されていません)。data
要素の直下に置かなければなりません。data 要素の例で示した「プロフィール」の例を考えます。プロフィールには氏名, 年齢のみが入れられるとします。
<?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 version="1.0"?> <プロフィール> <氏名>真田ゆり子</氏名> <!-- 中身は5文字 --> <年齢>18</年齢> <!-- 数値は1-150の範囲内 --> </プロフィール>
<?xml version="1.0"?> <プロフィール> <氏名>寿限無寿限無海砂利水魚</氏名> <!-- 11文字! --> <年齢>250</年齢> <!-- 150より上! --> </プロフィール>