[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:00808] Re: XML モード



こんばんわ。


> 全然分かりません(^^;
>
>   <!ENTITY amp SDATA "[amp]">
>            ~~~         ~~~
>          この amp と  この amp は別物?
>
> たとえば、このように定義されている場合は
>
>   <!ENTITY amp SDATA "[#38]">
>
> `&' を表すのに [amp] と書くということでしょうか?
>
> それから、SDATA と CDATA ってのも違うものなのでしょうか?
> 駄目だ、全然分かってない(^^;

おっと、説明が悪かったかな?

SDATA時の"  "内の文字はシステムに渡されるので、何でもいいです。
ただし、慣用的に[amp]のように渡されることが多く、そのような渡し方をするSGMLアプリケ
ーションが多いということです。
[amp]と受けて&をだしても,[#38]と受けて&をだしても,極論すれは#アンパ#と受けて&を出
しても、システムが#アンパ#=&と解釈するように出来ていればいいのです。
大事なことは&amp;が&を表わしていることだけです。他のアプリケーションに渡すときは
&amp;しか渡しません。

SDATAはSystemDATA(だったと思う)で、Systemに渡されて処理されることを明示したデー
タ,CDATAはCharacterDATA(だったと思う)で、単に文字データです。
Systemがあらかじめわかっている場合は両方ともCDATAとして考えても問題ありません。
より汎用的なデータにするために[amp]のような抽象化した形で表現しておいて、あとはシス
テム任せにするということです。

結局このあたりは慣用的な方法がやがてde factoになるので早くに実装したもん勝ち,シェア
とったもん勝ちのようです。

SGML/XMLはそれだけでは単なる文字データなので、結局それを読み取るアプリケーションが偉
いということになります。
データを改変(例えば、エンティティを展開しっぱなしにするなど)しなければ、データを取
り込んだときはアプリケーションの好きにしていいと思います。


以上、よろしくお願いします。

mwakahara <wakahara@xxxxxxxxxxxxxxx>

Index Home