myGroup > myProject
 

grammar 要素

スキーマのルート要素

  • 通常、 スキーマを記述する際のルート要素として用いられます。 start要素, define要素, include要素, ref要素 を用いる際は、常に必須になります。
  • 単純なスキーマを記述する際には、 コンテナ もしくは サブコンテナ をルート要素に使えます。ただし、ref要素 などでマクロを参照することが出来なくなるため、複雑なスキーマの記述には不向きです(ただし、externalRef要素 により、外部ファイルを参照することは可能です)。
  • XML形式において最上位に配置できる コンテナ は element要素 のみです。 サブコンテナ は配置できません。

属性

xmlns 属性

スキーマ自体の名前空間を指定します。

RELAX NG の名前空間の URI は、http://relaxng.org/ns/structure/1.0 です。

ns 属性

スキーマで定義する要素/属性のデフォルトの名前空間を設定します。これにより、接頭辞無しで名前を使うことが出来ます。

xmlns:xxxx 属性

この形式でも、スキーマで定義する要素/属性の名前空間を設定出来ます( xxxx に、使用する接頭辞名を入れます)。定義する要素/属性に複数の名前空間が存在する際は、複数の xmlns:xxxx 属性 が必要になります。また、ns 属性 との併用も出来ます。

子ノード

  • 一つ以上の start要素 を子に持ちます。

使用例

例 1:

<?xml version="1.0"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
  ns="http://lena.org/" xmlns:h="http://batz.org/">

<start>
 <element name="document">
   <ref name="para"/>
 </element>
</start>

<define name="para">
 <element name="h:para">
   <empty/>
 </element>
</define>

</grammar>
		

参考文献