TOP | BACK | FORW


2. DSDL(文書スキーマ定義言語)

(6) RELAX NGによる構造記述例



a) 電子メールのアドレス帳のXMLインスタンス

<addressBook> <card> <name>John Smith</name> <email>js@example.com</email> </card> <card> <name>Fred Bloggs</name> <email>fb@example.net</email> </card> </addressBook>

b) この構造を示すDTD

<!DOCTYPE addressBook [ <!ELEMENT addressBook (card*)> <!ELEMENT card (name, email)> <!ELEMENT name (#PCDATA)> <!ELEMENT email (#PCDATA)> ]>

c) これに対応するRELAX NGパターン(RELAX NG XML Syntax)

<element name="addressBook" xmlns="http://relaxng.org/ns/structure/0.9"> <zeroOrMore> <element name="card"> <element name="name"> <text/> </element> <element name="email"> <text/> </element> </element> </zeroOrMore> </element> 備考1: RELAX NGパターンを記述する要素は, 必ず次の名前空間に属す。 http://relaxng.org/ns/structure/0.9 備考2: デフォルト名前空間でなく, 接頭辞を付けた記法でもよい。 <rng:element name="addressBook" xmlns:rng="http://relaxng.org/ns/structure/0.9"> <rng:zeroOrMore> ...

e) これに対応するRELAX NGパターン(RELAX NG Compact Syntax)

element addressBook { element card { element name { text }, element email { text } }* }


TOP | BACK | FORW