2006年2月 - マーク付けノート

目次

2006-02-02: XML ⊂ SGML

XHTML 2.0 では p 要素の下に直接いろいろな要素を置けるやうになるらしいですが、嫌で嫌でなりません。

なぜ嫌なのか、という説明がないと XHTML 2.0 の中の人も困ると思いますが、それはともかく。

現在示されてゐる XHTML 2.0 の「あり得る姿」は、一貫した思想を根本的に缺いてゐます。「思想的な問題であつても小手先の技術で解決してしまへばそれで十分だ」と云ふ刹那的な發想に基いて、既存の仕樣を弄り囘しただけの、實に愚劣な仕樣です。否、「XML でありさえすれば、それでいいんだよ」のやうな「單純明快」な發想は慥かに「ある」訣ですが、それならば XHTML なんて必要ないではないですか。XML を使へば良いだけの事です。

仮に XHTML がXML でありさえすれば、それでいいという発想で策定された仕様だとして (実際 XHTML1 はそういうものだと思いますが)、それならば XHTML なんて必要ないではないですか。XML を使へば良いというのはどういう意味なんでしょうか。というか、XMLという語は前者と後者では違うものを指しているんですか?

察するに、「XHTML でない XML で事足りる」という意味だとは思うのですが、その場合、その「XHTML でない XML」の語彙はどこから持ってくるんでしょうか。制作者ひとりひとりが勝手に定義するんですか? そんなことをしたら相互運用性も何もあったものじゃないからこそ、HTML 元にして標準の語彙を策定したのだと思いますが。

野嵜さんの XML 観はおかしいというか変というか、間違っていると思います。妙な書籍にありがちな「XML は HTML の進化形」のような誤解をなさっているんじゃないでしょうか。

野嵜さんはよく「XML は云々」式の批判をなさってますが、それらの批判はほとんどの場合「SGML は云々」と言い換えても成立するものです (むしろ、実際には XML の場合の方が問題が緩和されているものがほとんどです)。XML について議論する時は、その辺りを踏まえてお書きいただきたいのですが。

# XHTML 2.0 が HTML 3.0 の二の舞になりさうというのには、同意。

2006-02-03: XML ⊂ SGML (2)

私が誤解をしてゐるのではなくて、私が攻撃してゐる人々が誤解してゐるのです。「XML は HTML の進化形」のような誤解をしてゐるからこそ、「XHTML 派」の人々は「自由なマーク附け」を望み、「より自由にマーク附けできる XHTML 2.0」を禮讚してしまつてゐるのではないですか。

だからなぜ XML と XHTML と XHTML 2.0 を同列に扱いますか。そもそも野嵜さんの言う「XHTML 派」の人々というのは具体的には誰を指しているんですか? 私が攻撃してゐる人々が誤解してゐるというのこそ誤解なんじゃないでしょうか。

# というか、「XML は HTML の進化形」のような誤解をしてゐるからこそ云々とありますが、誤解していない人たちが XHTML 2.0 を支持するわけがないとでも仰りたいのでしょうか?

大体「XHTML 派」というのが今現在 XHTML を使っている人たちを指すとして、その人たちは HTML を使っている人たちと比べてどう自由なんでしょうか。また、XHTML 2.0 の定義のように、「p 直下にブロック要素を記述できる自由」は嫌で嫌でならないとする一方で、「p の内容の object の内容にブロック要素を記述できる自由」が認められるべきとなさっていますが、それはどういう根拠で仰っているんでしょうか。

私には「氣持が惡い」なる感情的な反撥と同レベルにしか思えません。

2006-02-03: Object Hack の話

昔の拙文が人目に触れるのが嫌だったので (じゃあ今の文章は恥ずかしくないのかとかは言わない約束だ) 某方面スレには fj のリンクだけ抜き出して貼ったんですが、しっかり徒委記の "p 要素の中に object 要素を介してブロック要素を含めることに関する議論" に載っていることに気付いてしまったので、今更ながら情報元を紹介しておきますと、SuikaWiki の "object hack" の項にいくつかの議論がまとめられています。ご参考まで。

# ていうかいい加減旧サーバの文書も再掲しないとなあ。昔の文書を読まれるのは確かに恥ずかしいんだけど、昔の文書だからって理由で読めない状態にするのは恥の上塗りだと思うわけで。

2006-02-07: XML ⊂ SGML (3)

何と言ふか、object の中身は「代替テキスト」だと言ふのが、最う「空要素でなければいいや」的な、所謂「XML 的發想」そのまんま。

空要素でなければいいやというXML 的發想なんて聞いたこともありません。そういうのが誤解だと言っているのです。

XML が何でもかんでも「開始タグと終了タグで挾む」仕様になっているのは、構造解析の簡略化のためであって、応用の意味付けや構造定義とは何の関係もありません。

「XML さへ理解してゐれば、野嵜さんのやうな事は言はないんですよ」なんて言ふのは、「内輪の話」に入らない人間を排除してゐるだけの事だ。

誤解に基づいた批判では意味がないと言っているのです。事実に即した議論なら何の問題もないでしょう。

XML と SGML の違いは「ある要素構造をどうタグ付けするか」であって、「ある文章をどう要素構造化するか」ではありません。にも関わらず、文章の構造化を論点とする議論の中で XML がどうのと仰っているので、的外れだと申しているのです。

以下余談ですが。

あと、HTML の仕樣では、form 關係があやしい。

それは W3C でも問題視されていて、すでに文字通り一新された XForms という仕様が勧告されています (XForms の仕様が野嵜さんに納得の行くものだなんて保証はしませんが)。XHTML2 の名前空間にはフォームに関する語彙がなく、フォームを記述するには XForms の語彙を利用することになっています。

ならば、HTML 3.0 が仕樣として成立してゐたら、それは「良い仕樣」であつた事になつてしまふ。

私は HTML 3.0 が悪い仕様だったとは思いません。少なくとも HTML 3.2 よりはよっぽど上等な仕様であったと思います。特に MATH 関連の要素型が HTML 3.2 や HTML 4.0 で採用されなかったのは非常に惜しいことだと思っています。

2006-02-07: XML ⊂ SGML (4)

何と言ふか、object の中身は「代替テキスト」だと言ふのが、最う「空要素でなければいいや」的な、所謂「XML 的發想」そのまんま。

空要素でなければいいやというXML 的發想なんて聞いたこともありません。そういうのが誤解だと言っているのです。

object が空要素 img その他の單なる置換へである事は、事實ではないか。何處にも誤解はない。

おまけに、XHTML 2.0 で檢討されてゐる l 要素が、單なる空要素 br の置換へに過ぎない事も、これまた事實である。何處にも誤解はない。

ですから、それと XML そのものとは関係がないと言っているのです。仮に XHTML 2.0 が XML でない SGML で定義されていたとしても、策定者は br を l で置き換えたでしょう。実際 object が最初に定義されたのは HTML 4.0 なのに、どうしてそれを XML と結びつけるのですか。

「br を l に置き換える」というのは、私が前述した「ある文章をどう要素構造化するか」の範疇の話です。これは SGML か XML かというメタ言語に依存するものではありません。ですからそれをXML 的發想というのは的外れだと言っているのです。

# 以下ちょっと脱線しますが。

XML が何でもかんでも「開始タグと終了タグで挾む」仕様になっているのは、構造解析の簡略化のためであって、応用の意味付けや構造定義とは何の関係もありません。

昨日は何でもかんでも「開始タグと終了タグで挾む」というのを「XML では終了タグの省略が禁止されている (<br></br>)」ことから連想なさったのではないかと思って、その意味でこう書いたのですが、それは私の誤解でした。

これは <br><br></br> になったことについて述べたのであって、br が l になったことについて述べたものではありません。おそらく混乱させてしまったことと思います。申しわけありません。

「br → l」や「img → object」という「空要素から非空要素への移行」のは、それこそ「ある文章をどのようにマーク付けするのが論理的か」という「意味づけ」のみに主眼を置いた置き換えであって、簡略化や効率化とは関係ありません。

# もしそのような置き換えが野嵜さんの気に入らなかったとしても、それが目指しているところは野嵜さんの主張に即したものだと思います。まあ安易というのはその通りかも知れませんが。

# 以下元の話に戻ります。

繰り返しになりますが、「ある文章をどう要素構造化するか」というのは、メタ言語ではなく応用が扱う問題です。むしろ、応用が扱うのは「それ」だけです。ですから、文書をマーク付けするための応用で、内容・意味の輕視する傾向、文書構造を明示する等の思想を輕視する傾向があるなんてことはまずないと思います。

# XHTML2 とか、Web Applications 1.0 の仕様に関するメーリングリストでは、既存の要素の意味定義の厳密化であるとか、より構造を適切に示すための新しい要素型の提案などを含め、侃々諤々の議論がなされています。

実際「p がブロック要素を内容にできるようになる」とか「section 要素型と h 要素型の導入」などというのは、文書構造をより適切に明示するための変更でしょう。これについても、少なくとも「目指すところ」は野嵜さんの主張に即したものだと思います。

問題は XML アプリケーションである XHTML の「語彙」をどのやうに撰擇するかの問題である。要素をどのやうに決めるかが問題である訣だが、そこで「XML である」と言つてみても仕方がない、XML の仕樣の中で如何に人間さまの意圖を活かすかが問題なのであり、そこには人文的な思想の問題が必然的に議論の對象となる。それが今、餘りにも等閑にされてゐる、さう俺は指摘してゐる。 satoshii 氏がその邊の事を全く理解しなかつた事 (しようともしなかつた事) を俺は殘念に思ふ。

いやあ、理解しているつもりですが。等閑にされてゐるというのは、前述の通り必ずしも同意はできませんが、その辺りこそが重要なんだというのはごもっともだと思います。今更文章にして同意することでもないなと思ったので、特に反応しなかっただけです。というか、特別おかしいと思った点を指摘しただけで、議論全体に口を出すつもりもなかったので。

以上の邪推は、satoshii氏の反論と釋明を期待してのものとあるので、以下蛇足ながら。

satoshii 氏は、XML 的發想と云ふ野嵜の用語を捉へて、揚げ足をとつてゐる。全く、何をとぼけてゐるのだらう。實に汚い戰術だと言つて良いだらう。

今回の私の言及の目的は、悪く言えばその「揚げ足取り」そのものであって、それを具にしてどうのこうということではありません。ISO-HTML 云々はもう終わった話題だと思っています。

# 揚げ足取りだという認識をなさったということは、XML 的發想という用語がおかしいという点はご理解いただけたんでしょうか。そこだけ分かっていただければ、私としては後はどうでも良いのです。

野嵜の批判を封殺すれば、応用の意味付けや構造定義とは何の関係もありませんと云ふ XHTML 2.0 の重大な問題の辯解をしないで濟む。

これについては私の説明が悪かったと思います。前述の「脱線」の辺りを参照していただければ分かると思いますが、応用の意味付けや構造定義とは何の関係もありませんというのはメタ言語としての XML の話であって、応用としての XHTML 2.0 の話ではありません。

# それと、今の XHTML 2.0 については、私は期待よりも「プロジェクト自体が崩壊しないか」という不安の方が大きく、特に擁護したいということはありません。今回も p や section や h に関しては弁護しましたが、仕様全体として「この仕様は素晴らしい」と言い切るつもりは全くありません。

# XHTML2 も HTML5 も一長一短って感じじゃないでしょうか。まあ、要らないと思う要素型に関しては「使わなければいい」と割り切ればいいのかも知れませんが……。個人的には DocBook5 を押したい部分もあるんですが、さすがにウェブ標準として普及することはないと思いますし。

# セクションを分けるようなことでもないので以下追記。

「仕樣書のどこそこのかう云ふ記述を讀むと、かう云ふ風に書いてあつて、これは斯う解釋すべきである。よつて誰某の何とかと云ふ解釋は仕樣書の記述に適合しないから成立たない」と、さう説明すれば良いのに、わざと「仕樣書を讀んだ上でさう云ふ發想が湧いて出たのであれば、根本的に讀解力がないのだらう」みたいなただ人を小馬鹿にするだけの書き方をするのは、根本的に説明力が缺如してゐるのではないか。

先日の実体参照がどうのとか datetime がどうのというような話ならそうやって説明できますが (説明する方だってそっちの方が楽です)、今回の場合そういう説明は不可能でしょう。仕様書に記載のないことを主張された場合、「仕様書のどこにもそのような記述はない」としか説明のしようがありません。

一足飛びに「その主張はどの仕様書のどこを根拠にしているのか」を問うたのを「小馬鹿にしている」と取られたのなら心外です。

# さらに追記。私の文章についての言及ではないとのことで、失礼しました。

2006-02-14: XHTML Modularization 1.1 (PR)

以前まで Modularization of XHTML™ in XML Schema とか Modularization of XHTML™ 1.0 - Second Edition として扱われていた仕様ですが、1.0 の SE ではなくバージョンがあがって 1.1 になりました。前の草案からの大きな変更はなさそうです。(参考: 2004-02-19: XHTML M12N 第二版, 2004-02-20: XHTML M12N 第二版 #2)

ただし、汎用属性に関する記述が若干追加されました。

On elements in the XHTML namespace, it is an error to use a namespace-qualified attribute.

前の草案では <div xhtml:class="foo"> ... </div> というような記述も特に禁止されていなかったと思うのですが、XHTML の名前空間内ではあくまでローカル属性として記述しなければならない、ということが明記されています (互換性のためですかね)。

以下、その他の細かな変更点など。

遠からず (ですよね?) XHTML 1.1 や XHTML Basic にもこれらの変更が反映される予定です。

# 追記: 例によって SuikaWiki の XHTML m12n の項により詳しい解説があったわけだが。あと私は XSD まわりほぼ読んでないのでその辺はこちらでどうぞ。

# style と script に id が付いてるような気がしたのに、見直したらやっぱりないなあ……とか思っていたら、またそういうオチか。

2006-02-17: CSV の共通形式と MIME (RFC4180)

えび日記経由で CSV が RFC (Category: Informational だけど) になってたことを知ったので、ざっと目を通してみた。

でもヘッダの有無でオプションパラメータ変えるとしたら、拡張子も使い分けないと不便だと思うんだけど。foo.csv.header とか bar.csv.noheader とか。それにしても改行は CRLF 固定なのか……。

2006-02-23: XHTML 1.1 のエラーが修正された

何となく M12N 1.0 の DTD モジュールを見直してみたら、例の文字実体モジュールのエラーが修正されていました。

<!-- C0 Controls and Basic Latin -->
<!ENTITY lt      "&#38;#60;" ><!-- less-than sign, U+003C ISOnum -->
<!ENTITY gt      "&#62;" ><!-- greater-than sign, U+003E ISOnum -->
<!ENTITY amp     "&#38;#38;" ><!-- ampersand, U+0026 ISOnum -->
<!ENTITY apos    "&#39;" ><!-- apostrophe, U+0027 ISOnum -->
<!ENTITY quot    "&#34;" ><!-- quotation mark = APL quote, U+0022 ISOnum -->

M12N 1.1 PR でモジュールの置き場所が http://www.w3.org/MarkUp/DTD/ に変更されていたので、M12N 1.0 のモジュールはあのまま放置するのかと思っていたのですが。そういえば M12N 1.0 の DTD モジュールは元々日付などの入っていない場所 (http://www.w3.org/TR/xhtml-modularization/DTD/) に置かれていたわけで、なぜか M12N 1.1 PR が M12N の Latest version になっている以上、ある意味当然のことかも知れません。

ともかくそんなわけで、巷に溢れるほとんどの XHTML 1.1 文書も、どう見ても valid です。本当にありがとうございました。

# というか、その他のモジュールの変更も全て反映されているわけで、xsi:schemaLocation や汎用の xml:space なども DTD 上は XHTML 1.1 で使えるようになってしまっています。むしろ xml:spacexmlns:xsi なんてデフォルト値があるわけで、すでに適用されまくっているじゃあありませんか。いやはや、気付くの遅すぎ。(MSIE で開くと分かりやすそうなサンプル: xhtml11_060223.xml)

# ちなみに M12N 1.0 の本文への変更は全くないし、errata も更新されてはいません。なお、XHTML Basic 1.0 は DTD モジュールの置き場所が違うので、相変わらずあのままです。

この文書について

URI
http://www.satoshii.org/markup/notes/2006/02
初版
2006-02-02
最終更新
2006-12-10
著者
石川哲志
Copyright © 2006 Satoshi ISHIKAWA, All Rights Reserved.