uCosminexus Interschema ユーザーズガイド

[目次][用語][索引][前へ][次へ]

12.1.1 DTDからMDLツリーへの変換

MDLエディタを使用してDTDフォーマットをMDLへ挿入する場合,ELEMENT定義の親子関係に従って,ツリーへ展開します。

DTDのELEMENT定義で,子タグを内容モデルに持つELEMENTは構造コンポーネント,テキスト(#PCDATA)だけを持つELEMENTは型コンポーネントとします。コンポーネント名はタグ名です。EMPTY要素も型コンポーネントとして展開します。

内容モデル内に名前を持たない構造の定義がある場合,システムが自動的に名称を作成して,構造コンポーネントを作成します。このような,DTD上で名前を持たない(タグがない)構造を,ダミー構造と呼びます。混在内容もダミー構造の一つです。

ダミー構造の名称は,親のコンポーネント名称(ローカル名)に「#n」(nは通し番号)を付けたものです。これはシステムが与える特殊な名称なので,名称の前後にシングルクォーテーションが付きます。

混在内容のテキスト要素に対する型コンポーネントの名前は「#PCDATA」となります(これもシステムが与える特殊な名称です)。

EMPTY要素のコンポーネント,ダミー構造コンポーネント,混在内容のテキスト要素コンポーネントは,一般のコンポーネントとは異なる色(白)のアイコンで表示します。

DTDファイルの記述例:
<!ELEMENT ROOT (S+)>
<!ELEMENT S (a,b*,MIX)>
<!ELEMENT a EMPTY>
<!ELEMENT b (#PCDATA)>
<!ELEMENT MIX (#PCDATA|c)*>
<!ELEMENT c (#PCDATA)>
<!ATTLIST S S_attr CDATA #IMPLIED>
<!ATTLIST a a_attr CDATA #REQUIRED>
 

DTDフォーマット挿入後のツリー表示:
[図データ]