start
, define
, include
, ref
各要素を用いる際は、常に必須になります。element
要素をルート要素に使えます。ただし、 ref
要素などでマクロを参照することが出来なくなるため、複雑なスキーマの記述には不向きです(ただし、externalRef
要素により、外部ファイルを参照することは可能です)。RELAX NG 自体の名前空間を、 xmlns
属性で指定します。名前空間の URI は、 http://relaxng.org/ns/structure/1.0
です。
ns
属性スキーマで定義する要素/属性のデフォルトの名前空間を設定出来ます。 ns
属性を使うことにより、接頭辞無しで名前を使うことが出来ます。
xmlns:xxxx
属性この属性でも、スキーマで定義する要素/属性の名前空間を設定出来ます( xxxx に、使用する接頭辞名を入れます)。定義する要素/属性に複数の名前空間が存在する際は、複数の xmlns:xxxx
属性が必要になります。また、 ns
属性との併用も出来ます。
<?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>