Dreamweaver TechniqueJAVA Script サンプル | CSS sample | JAVA Applet sample | Flash Sample
HTML4.0 riference | DynamicHTMLXHTML | XML sample | XSLT sample | RIKO's ASP Trial

解析対象外データを埋め込む

前ページの手順に従って解析対象外データ用のエンティティを定義したら、それをXML文書に埋め込むことができます。解析対象がエンティティには、解析対象エンティティのような&記号を使ったエンティティ参照がありません。kライ席対象がデータを埋め込むには、特別に宣言された属性を使います。

■ 解析対象外データの参照を含む属性を宣言するには

1.  DTD内で、解析対象外データを参照する属性を含む要素を定義します(「要素を定義する」参照)。

DTDコード
<!ELEMENT outline_specification (floor_chart*)>
<!ELEMENT floor_chart (name+, picture) >
<!ELEMENT name (#PCDATA)>
<!ATTLIST name language (Japanese | Latin) #REQUIRED>
<!ENTITY floor1_pic SYSTEM "image4c.jpg" NDATA jpg >
<!NOTATION jpg SYSTEM "image/jpg">
<!ELEMENT photo EMPTY ">
<!ATTLIST photo source ENTITY #REQUIRED >

まず、解析対象外データを参照する属性を含むphoto要素を定義します。その後、sourceというエンティティ属性そのものを定義します。

2. <! ATTLIST element_name と入力します。

element_nameの部分には、1.で宣言した要素を入力します。

3. att_nameと入力します。

att_nameの部分は、解析対象外データへの参照負含む属性の名前を指定します。

4. ENTITY と入力し、解析対象外データへの参照を不意組めることのできる属性であることを示します。

  またはホワイトスペースで区切った解析対象がデータファイルへの複数の参照を含める場合は、ENTITIES と入力します。

5. 属性の規定値を入力します。

詳細については「単純な属性を定義する」を参照してください。

6. > と入力して属性宣言を終えます。

■ XML文書に解析対象外データを埋め込むに

1. XML文書の本文中で、データを埋め込む場所に att_name="value" と入力します。

att_name の部分には、エンティティ型として宣言した属性を入力します。value の部分には、前ページ で解析対象外データを含めるために作成したエンティティの名前を指定します。

XMLコード
<?xml version="1.0" encoding="Shift_JIS" standalone="no" ? >
<!DOCTYPE outline_specification[

<!ELEMENT outline_specification (floor_chart*)>
<!ELEMENT floor_chart (name+, photo) >
<!ELEMENT name (#PCDATA)>
<!ATTLIST name language (Japanese | Latin) #REQUIRED>
<!ENTITY floor1_pic SYSTEM "image4c.jpg" NDATA jpg >
<!NOTATION jpg SYSTEM "image/jpg">
<!ELEMENT photo EMPTY >
<!ATTLIST photo source ENTITY #REQUIRED>
] >

<outline_specification>
<floor_chart>
<name language="Japanese" >一階フロア図</name>
<photo source="floor1_pic" / >
</floor_chart>
</outline_specification>

source属性の値は、解析対象外データを参照するエンティティの名前に対応します。

■ 補足

・XMLパーサーは、エンティティが参照巣r解析対象外データを表示するために記法の情報を遣うものと想定されていますが、現在XMLファイルを読み込むことのできるブラウザは、記法情報を利用するようには作られていません。つまり、これらのブラウザは埋め込まれたデータを表示しません。

・NOTATION型属性を作成して、記法宣言で指定されているデータを直接参照することもできます。(前ページ参照)
  構文は <!ATTLIST element_name att_name NOTATION default_value> です。

<<<戻る

R HOUSE | RIKO's Trial Page | Shirley's Pettit Case | Shirley's i-box | Shirley's little box