cloudy and rain

UNIXやLINUX、時事放談など気になったことを無作為に書きつらねています。 The topic which becomes matter of concern of UNIX and LINUX and society is written on world wide.

Friday, August 10, 2007

タグが表現できないとスゴク見づらいですがDTDパート3

画像で表せば良いんですが、めんどくさがり屋なので。つまり前々回の駄目といっているパラメータ実体、わかりやすく言えば別名で表した名前。これを表現する利点は、まず内容によってタグの要素をかえるが、内容つまりタグに挟まれた”内容”が同じ意味である場合、わざわざ要素として指定するのは、どうかと思う。どうせ対応するタグはひとつであるし。HTMLのタグは、タグで表現する事と内容の定義が曖昧で前に書いたとおり、段落の内容が2行として小さなタイトルとして表すために、前後に改行を入れてしまっても何も違反ではない。要は順番が重要なだけだ。段落はタイトルを表しているタグの下にただ単にあれば良いだけである。だからこの点をXHTMLのルールとしてDTDまではいい。だが内容はCDATAつまり単純に文字列。内容にimg-"URI"としようが、なにも文書に変化はない。DTDはくどいがタグに挟まれた内容に言及しない。ENTITYとは実体参照ということで、タグの要素名、属性などの別名を定義する。ということは、代わりとして何を参照させるかで、多くの意味を要素に持たせることも出来る。前回、.modというDocBookの外部DTDを例に出したが、画像などはその典型である。あれほどフォーマットがあるクセに表示は単なる「画像」である。だから画像を確実に表す要素を定義すればいいというわけで、最初のパラメータ実体参照では何が出てきても良いように、画像形式を列挙してあり”|”でどれかひとつ出現すればいいとし、その実体はその後の外部解析対象外実体で、それぞれ識別子+URIで示して参照している。これをDTD側でパラメータ実体を利用し、条件セクションで有効無効を制御しているというわけ。単一な要素しか表せないが、画像に限って扱うことになっている。ということは.modを新たにつくるとカスタマイズは非常に簡単である。しかもDTDは条件で読み込ませないことも可能だ。DTDは必要最小限で済ませられる。実体参照に単一の内容を示す要素を実体に指定するべきではない。それはELEMENTで指定してることと変わりがない。だったら.modでパラメータの実体として列挙し、DTDからシステム識別子で読み込ませればDTDをプリントアウトして10数ページになるような重いモノにもならない。本来ここがDTDがDTDたらしめているところである。HTMLの拡張だろうが何だろうが、基本のタグは多くはない。体裁はCSSで外部ファイルとしてXSLTに任せればいいということ。XMLは単体では何の意味も持たない文書である。データを保持しているに過ぎない。DTDはXMLを記述する”決まり”だ。
なのに文書として意味を持たせようとDTDを使うのは馬鹿げている。

XML W3C Schemaの様に要素定義(指定ではなく)がいっぱいになるなら、そのDTDは間違いで別のスキーマをつかえ。


Powered by ScribeFire.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home