[xyzzy:00808] Re: XML モード
- Subject: [xyzzy:00808] Re: XML モード
- From: mwakahara <wakahara@xxxxxxxxxxxxxxx>
- X-mailer: Mozilla 4.05 [ja] (Win95; I)
こんばんわ。
> 全然分かりません(^^;
>
> <!ENTITY amp SDATA "[amp]">
> ~~~ ~~~
> この amp と この amp は別物?
>
> たとえば、このように定義されている場合は
>
> <!ENTITY amp SDATA "[#38]">
>
> `&' を表すのに [amp] と書くということでしょうか?
>
> それから、SDATA と CDATA ってのも違うものなのでしょうか?
> 駄目だ、全然分かってない(^^;
おっと、説明が悪かったかな?
SDATA時の" "内の文字はシステムに渡されるので、何でもいいです。
ただし、慣用的に[amp]のように渡されることが多く、そのような渡し方をするSGMLアプリケ
ーションが多いということです。
[amp]と受けて&をだしても,[#38]と受けて&をだしても,極論すれは#アンパ#と受けて&を出
しても、システムが#アンパ#=&と解釈するように出来ていればいいのです。
大事なことは&が&を表わしていることだけです。他のアプリケーションに渡すときは
&しか渡しません。
SDATAはSystemDATA(だったと思う)で、Systemに渡されて処理されることを明示したデー
タ,CDATAはCharacterDATA(だったと思う)で、単に文字データです。
Systemがあらかじめわかっている場合は両方ともCDATAとして考えても問題ありません。
より汎用的なデータにするために[amp]のような抽象化した形で表現しておいて、あとはシス
テム任せにするということです。
結局このあたりは慣用的な方法がやがてde factoになるので早くに実装したもん勝ち,シェア
とったもん勝ちのようです。
SGML/XMLはそれだけでは単なる文字データなので、結局それを読み取るアプリケーションが偉
いということになります。
データを改変(例えば、エンティティを展開しっぱなしにするなど)しなければ、データを取
り込んだときはアプリケーションの好きにしていいと思います。
以上、よろしくお願いします。
mwakahara <wakahara@xxxxxxxxxxxxxxx>