HiRDB XML拡張機能 HiRDB XML Extension Version 9

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

5.4.8 ESIS-B形式データへの変換規則

XMLデータからESIS-B形式データを生成するときの,要素,属性,およびタグ間テキストの変換規則について説明します。

<この項の構成>
(1) 要素の変換規則
(2) 属性の変換規則
(3) タグ間テキストの変換規則

(1) 要素の変換規則

XMLデータ中に出現したすべての要素がESIS-B形式データに適応されます。

指定した文字コードで表せない文字が要素名に含まれる場合は,「?」(疑問符)に置換されます。

(2) 属性の変換規則

指定した文字コードで表せない文字が属性に含まれる場合は,「?」(疑問符)に置換されます。また,属性値はDTDで指定した属性型によって次の表に示す規則に従って変換されます。

表5-6 属性の変換規則

属性型 規則
CDATA 属性値として記述された文字列が,そのままの形でESIS-B形式に適応されます。
ENTITY 「NMTOKEN」と同様に扱われます。ただし,DTD内で解析対象外エンティティを指定している場合の属性値は解析対象外エンティティで指定したシステムIDとなります。
ENTITIES 「NMTOKENS」と同様に扱われます。ただし,DTD内で解析対象外エンティティを指定している場合の属性値は解析対象外エンティティで指定したシステムIDとなります。
ID 「NMTOKEN」と同様に扱われます。
IDREF 「NMTOKEN」と同様に扱われます。
IDREFS 「NMTOKENS」と同様に扱われます。
NMTOKEN
名前字句
属性値として記述された文字列が,前後の半角スペースとタブおよび改行を削除した形でESIS-B形式に適応されます。
NMTOKENS
名前字句並び
属性値として記述された文字列が,一つ以上の空白文字を区切りとして個々の属性値に分解され,それぞれの属性値がESIS-B形式に適応されます。検索時には,分解されたそれぞれの属性値に対して検索を実行できます。

(例)
<element attr="abc△def"/>と記述されている場合は,複数の属性値"abc","def"として適応されます。

(3) タグ間テキストの変換規則

タグ間テキストは出現単位に個別に変換されます。タグ間テキストの変換規則を次の表に示します。

表5-7 タグ間テキストの変換規則

条件 規則 説明
ENTITY 連結 エンティティの前後に文字列がある場合は,連続した文字列とします。

(例)
エンティティとして,'copyright'を'(c)'にしている場合,「コピーライトマークは&copyright;です。」は,「コピーライトマークは(c)です。」となります。
CDATAセクション 連結 CDATAセクションの前後に文字列がある場合は,連続した文字列とします。

(例)
「エレメントは<![CDATA[<element>]]>と記述します。」は,「エレメントは<element>と記述します。」となります。
ELEMENTを内包する文字列 独立 タグ間テキスト内に要素ノードがある場合は,内包する要素ノードの前後で,それぞれの独立した文字列として扱われます。

(例)
「XML<略語term="XML" context="Extensible Markup Language"/>とは」は,「XML」と「とは」の個別の文字列とします。この場合,「XMLとは」で検索してもヒットしません。

タグ間テキスト内の,変換に指定した文字コードで表せない文字,空白文字および改行コードの扱いを次に示します。

(a) タグ間テキスト内の指定文字コードで表せない文字

タグ間テキスト内の指定文字コードで表せない文字は,「?」(疑問符)に置換されます。ただし,XMLデータのXML宣言部に書かれている文字コードで変換できないコードが含まれている場合は,変換エラーとなります。

(b) タグ間テキスト内の空白文字

タグ間テキスト内の空白文字(タブ(0x09),半角スペース(0x20)),

改行コード(LF(0x0a),CR(0x0d),DOS改行(0x0d 0x0a))は,次のように扱われます。

(例)
変換前:<root>改行と(0x20)(0x0a)(0x09)(0x20)(0x0a)(0x09)空白の例</root>
変換後:<root>改行と(0x20)(0x0a)(0x09)空白の例</root>