5.4.8 ESIS-B形式データへの変換規則
XMLデータからESIS-B形式データを生成するときの,要素,属性,およびタグ間テキストの変換規則について説明します。
- 〈この項の構成〉
(2) 属性の変換規則
指定した文字コードで表せない文字が属性に含まれる場合は,「?」(疑問符)に置換されます。また,属性値はDTDで指定した属性型によって次の表に示す規則に従って変換されます。
属性型 |
規則 |
---|---|
属性値として記述された文字列が,そのままの形でESIS-B形式に適応されます。 |
|
「NMTOKEN」と同様に扱われます。ただし,DTD内で解析対象外エンティティを指定している場合の属性値は解析対象外エンティティで指定したシステムIDとなります。 |
|
「NMTOKENS」と同様に扱われます。ただし,DTD内で解析対象外エンティティを指定している場合の属性値は解析対象外エンティティで指定したシステムIDとなります。 |
|
「NMTOKEN」と同様に扱われます。 |
|
「NMTOKEN」と同様に扱われます。 |
|
「NMTOKENS」と同様に扱われます。 |
|
属性値として記述された文字列が,前後の半角スペースとタブおよび改行を削除した形でESIS-B形式に適応されます。 |
|
属性値として記述された文字列が,一つ以上の空白文字を区切りとして個々の属性値に分解され,それぞれの属性値がESIS-B形式に適応されます。検索時には,分解されたそれぞれの属性値に対して検索を実行できます。
|
(3) タグ間テキストの変換規則
タグ間テキストは出現単位に個別に変換されます。タグ間テキストの変換規則を次の表に示します。
条件 |
規則 |
説明 |
---|---|---|
ENTITY |
連結 |
エンティティの前後に文字列がある場合は,連続した文字列とします。
|
連結 |
CDATAセクションの前後に文字列がある場合は,連続した文字列とします。
|
|
独立 |
タグ間テキスト内に要素ノードがある場合は,内包する要素ノードの前後で,それぞれの独立した文字列として扱われます。
|
タグ間テキスト内の,変換に指定した文字コードで表せない文字,空白文字および改行コードの扱いを次に示します。
(a) タグ間テキスト内の指定文字コードで表せない文字
タグ間テキスト内の指定文字コードで表せない文字は,「?」(疑問符)に置換されます。ただし,XMLデータのXML宣言部に書かれている文字コードで変換できないコードが含まれている場合は,変換エラーとなります。
(b) タグ間テキスト内の空白文字
タグ間テキスト内の空白文字(タブ(0x09),半角スペース(0x20)),
改行コード(LF(0x0a),CR(0x0d),DOS改行(0x0d 0x0a))は,次のように扱われます。
-
タグ間テキスト先頭,および末尾の空白文字,改行コードは削除されます。
-
タグ間テキスト内の改行コードは,すべてLF(0x0a)に置換されます。
-
空白文字と改行コードが連続する文字列は,それぞれ出現順に一つにまとめられます。
- (例)
-
変換前:<root>改行と(0x20)(0x0a)(0x09)(0x20)(0x0a)(0x09)空白の例</root>
変換後:<root>改行と(0x20)(0x0a)(0x09)空白の例</root>