JIS X 4159:2005 拡張可能なマーク付け言語(XML)1.0 | ページ 9

36
X 4159 : 2005
| [#x0CB5-#x0CB9] | #x0CDE | [#x0CE0-#x0CE1] | [#x0D05-#x0D0C]
| [#x0D0E-#x0D10] | [#x0D12-#x0D28] | [#x0D2A-#x0D39]
| [#x0D60-#x0D61] | [#x0E01-#x0E2E] | #x0E30 | [#x0E32-#x0E33]
| [#x0E40-#x0E45] | [#x0E81-#x0E82] | #x0E84 | [#x0E87-#x0E88] | #x0E8A
| #x0E8D | [#x0E94-#x0E97] | [#x0E99-#x0E9F] | [#x0EA1-#x0EA3] | #x0EA5
| #x0EA7 | [#x0EAA-#x0EAB] | [#x0EAD-#x0EAE] | #x0EB0
| [#x0EB2-#x0EB3] | #x0EBD | [#x0EC0-#x0EC4] | [#x0F40-#x0F47]
| [#x0F49-#x0F69] | [#x10A0-#x10C5] | [#x10D0-#x10F6] | #x1100
| [#x1102-#x1103] | [#x1105-#x1107] | #x1109 | [#x110B-#x110C]
| [#x110E-#x1112] | #x113C | #x113E | #x1140 | #x114C | #x114E | #x1150
| [#x1154-#x1155] | #x1159 | [#x115F-#x1161] | #x1163 | #x1165 | #x1167
| #x1169 | [#x116D-#x116E] | [#x1172-#x1173] | #x1175 | #x119E | #x11A8
| #x11AB | [#x11AE-#x11AF] | [#x11B7-#x11B8] | #x11BA | [#x11BC-#x11C2]
| #x11EB | #x11F0 | #x11F9 | [#x1E00-#x1E9B] | [#x1EA0-#x1EF9]
| [#x1F00-#x1F15] | [#x1F18-#x1F1D] | [#x1F20-#x1F45] | [#x1F48-#x1F4D]
| [#x1F50-#x1F57] | #x1F59 | #x1F5B | #x1F5D | [#x1F5F-#x1F7D]
| [#x1F80-#x1FB4] | [#x1FB6-#x1FBC] | #x1FBE | [#x1FC2-#x1FC4]
| [#x1FC6-#x1FCC] | [#x1FD0-#x1FD3] | [#x1FD6-#x1FDB]
| [#x1FE0-#x1FEC] | [#x1FF2-#x1FF4] | [#x1FF6-#x1FFC] | #x2126
| [#x212A-#x212B] | #x212E | [#x2180-#x2182] | [#x3041-#x3094]
| [#x30A1-#x30FA] | [#x3105-#x312C] | [#xAC00-#xD7A3]
[86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
[87] CombiningCh ::= [#x0300-#x0345] | [#x0360-#x0361] | [#x0483-#x0486] | [#x0591-#x05A1]
ar | [#x05A3-#x05B9] | [#x05BB-#x05BD] | #x05BF | [#x05C1-#x05C2] | #x05C4
| [#x064B-#x0652] | #x0670 | [#x06D6-#x06DC] | [#x06DD-#x06DF]
| [#x06E0-#x06E4] | [#x06E7-#x06E8] | [#x06EA-#x06ED] | [#x0901-#x0903]
| #x093C | [#x093E-#x094C] | #x094D | [#x0951-#x0954] | [#x0962-#x0963]
| [#x0981-#x0983] | #x09BC | #x09BE | #x09BF | [#x09C0-#x09C4]
| [#x09C7-#x09C8] | [#x09CB-#x09CD] | #x09D7 | [#x09E2-#x09E3] | #x0A02
| #x0A3C | #x0A3E | #x0A3F | [#x0A40-#x0A42] | [#x0A47-#x0A48]
| [#x0A4B-#x0A4D] | [#x0A70-#x0A71] | [#x0A81-#x0A83] | #x0ABC
| [#x0ABE-#x0AC5] | [#x0AC7-#x0AC9] | [#x0ACB-#x0ACD]
| [#x0B01-#x0B03] | #x0B3C | [#x0B3E-#x0B43] | [#x0B47-#x0B48]
| [#x0B4B-#x0B4D] | [#x0B56-#x0B57] | [#x0B82-#x0B83]
| [#x0BBE-#x0BC2] | [#x0BC6-#x0BC8] | [#x0BCA-#x0BCD] | #x0BD7
| [#x0C01-#x0C03] | [#x0C3E-#x0C44] | [#x0C46-#x0C48]
| [#x0C4A-#x0C4D] | [#x0C55-#x0C56] | [#x0C82-#x0C83]
| [#x0CBE-#x0CC4] | [#x0CC6-#x0CC8] | [#x0CCA-#x0CCD]
| [#x0CD5-#x0CD6] | [#x0D02-#x0D03] | [#x0D3E-#x0D43]

――――― [JIS X 4159 pdf 41] ―――――

                                                                                             37
X 4159 : 2005
| [#x0D46-#x0D48] | [#x0D4A-#x0D4D] | #x0D57 | #x0E31
| [#x0E34-#x0E3A] | [#x0E47-#x0E4E] | #x0EB1 | [#x0EB4-#x0EB9]
| [#x0EBB-#x0EBC] | [#x0EC8-#x0ECD] | [#x0F18-#x0F19] | #x0F35
| #x0F37 | #x0F39 | #x0F3E | #x0F3F | [#x0F71-#x0F84] | [#x0F86-#x0F8B]
| [#x0F90-#x0F95] | #x0F97 | [#x0F99-#x0FAD] | [#x0FB1-#x0FB7] | #x0FB9
| [#x20D0-#x20DC] | #x20E1 | [#x302A-#x302F] | #x3099 | #x309A
[88] Digit ::= [#x0030-#x0039] | [#x0660-#x0669] | [#x06F0-#x06F9] | [#x0966-#x096F]
| [#x09E6-#x09EF] | [#x0A66-#x0A6F] | [#x0AE6-#x0AEF] | [#x0B66-#x0B6F]
| [#x0BE7-#x0BEF] | [#x0C66-#x0C6F] | [#x0CE6-#x0CEF]
| [#x0D66-#x0D6F] | [#x0E50-#x0E59] | [#x0ED0-#x0ED9] | [#x0F20-#x0F29]
[89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005
| [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]
ここで定義する文字クラスは,Unicode 2.0の文字データベースから,次のとおりに得ることができる。
a) 名前開始文字は,Ll,Lu,Lo,Lt又はNlカテゴリの一つに属さなければならない。
b) 名前開始文字以外の名前文字は,Mc,Me,Mn,Lm又はNdカテゴリの一つに属さなければならない。
c) 互換用領域にある文字(文字符号で#xF900より大きく#xFFFEより小さい文字)は,XMLにおける名前
としては許されない。
d) フォント分解か互換用分解をもつ文字(つまり,データベース内の5番目のフィールドに"compatibility
formatting tag"があるもの。これは,5番目のフィールドが,"<"で始まることによって示される。)は
許されない。
e) 次の文字は,名前開始文字として扱う。これは,プロパティファイルが,これらの文字をアルファベ
ットに類似すると見なすことによる。それらは [#x02BB-#x02C1],#x0559,#x06E5及び#x06E6とす
る。
f) 文字#x20DDから#x20E0までは,(Unicode 2.0の5.14に従って)除外する。
g) 文字#x00B7は,プロパティリストにしたがって,エクステンダ(extender)に分類する。
h) 文字#x0387は,これに相当する正準形(canonical quivalent)が #x00B7なので,名前文字に追加する。
i) 文字':'及び''は,名前開始文字として使ってよい。
j) 文字'-'及び'.'は,名前文字として使ってよい。

――――― [JIS X 4159 pdf 42] ―――――

38
X 4159 : 2005
附属書C(参考)XML及びSGML
XMLは,SGMLのサブセットとして設計されている。すなわち,すべてのXML文書は,規格に適合す
るSGML文書にもなる。SGMLが文書に課す制限以外に,XMLがいかなる制限を課すかについての詳細
は,Clark(附属書AのA.2参考文献の“Clark”を参照。)を参照のこと。

――――― [JIS X 4159 pdf 43] ―――――

                                                                                             39
X 4159 : 2005
附属書D(参考)実体参照及び文字参照の展開
この附属書は,4.4 XMLプロセサによる実体及び参照の扱いで規定されている,実体参照及び文字参照
を認識し展開する一連の流れを例によって示す。
DTDが,次の宣言を含む場合を考える。
<!ENTITY example "<p>An ampersand (&#38;#38;) ay be escaped
numerically (&#38;#38;#38;) r with a general entity
(&amp;amp;).</p>" >
XMLプロセサは,実体の宣言を構文解析した時点で文字参照を認識し,これを解決する。実体"example"
の値として,次の文字列を保存する。
<p>An ampersand (&#38;) ay be escaped
numerically (&#38;#38;) r with a general entity
(&amp;amp;).</p>
文書内で"&example;"を参照すると,このテキストは再び構文解析される。このとき,要素"p"の開始タ
グ及び終了タグを認識し,三つの参照を認識し展開する。その結果,要素"p"は,次の内容(すべてデータ
であって,区切り子又はマーク付けは存在しない。)をもつ。
An ampersand (&) ay be escaped
numerically (&#38;) r with a general entity
(&amp;).
規則及びその効果をより詳細に示すため,さらに複雑な例を示す。次の例で,行番号は参照の便宜のた
めだけに付ける。
1 <・xml version='1.0'・>
2 <!DOCTYPE test [
3 <!ELEMENT test (#PCDATA) >
4 <!ENTITY % xx '&#37;zz;'>
5 <!ENTITY % zz '&#60;!ENTITY tricky "error-prone" >' >
6 %xx;
7 ]>
8 <test>This sample shows a &tricky; method.</test>
これを処理すると,次のとおりとなる。
a) 4行目で,37番の文字への参照を直ちに展開し,パラメタ実体"xx"を,シンボルテーブルに"%zz;"と
いう値とともに保存する。置換テキストを再び走査することはないので,パラメタ実体"zz"への参照
は認識しない。"zz"は,まだ宣言されていないので,走査されれば誤りとなる。
b) 5行目で,文字参照"&#60;"を直ちに展開し,パラメタ実体"zz"を"<!ENTITY tricky "error-prone" >"とい
う置換テキストとともに保存する。これは,整形式の実体宣言になる。
c) 6行目で,"xx"への参照を認識し,"xx"の置換テキスト(すなわち,"%zz;")を構文解析する。"zz"への
参照を続いて認識し,置換テキスト("<!ENTITY tricky "error-prone" >")を構文解析する。一般実体
"tricky"は,この時点で宣言され,その置換テキストは"error-prone"になる。
d) 8行目で,一般実体"tricky"への参照を認識し,展開する。要素"test"の完全な内容は,次の自己記述的

――――― [JIS X 4159 pdf 44] ―――――

40
X 4159 : 2005
な(非文法的な)文字列となる。つまり,This sample shows a error-prone method.

――――― [JIS X 4159 pdf 45] ―――――

次のページ PDF 46

JIS X 4159:2005の国際規格 ICS 分類一覧