ISO/IEC 15445:2000 では、W3C の HTML が定める以外の要素は追加しない方針をとつた爲、解釋に依つてベーシックなマーク附けから文書の論理構造を解析出來るやうに定められてゐます。その爲、見出しレヴェルに據つて文書の内容をツリー状に構造として解析する事がパーサに要求されますが、見出しレヴェル以外の方法で文書の構造を明示的に變更する事が禁止されてゐます。そして、見出しとその見出しに附随する内容とはセットとしてツリーにぶら下がります。hr も p 等と一緒にツリーに並んでぶら下がるだけです。
ISO/IEC 15445:2000 のどこにそのような記述がなされているのでしょうか。というか、もしそのような要求がなされているのなら、僕は二年前の主張を取り下げたいのですが。
JIS X 4151-1992 の以下の主張をご存知でしょうか。
- 14.3.5 構文解析の一貫性
適合 SGML システムは, 文書を操作する応用及び処理に関係なく, 同じ文書をいつも同じに構文解析しなければならない。
備考1. 応用プログラムは, 正規のインタフェースを介して SGML 構文解析系を使い, その構文解析の状態に影響を与えられないようにしておくことが望ましい。例えば, 文を生成して, それをあたかも元の文書の一部であったかのように構文解析させることは, できないようにしておくことが望ましい。応用開発者に対して提供する文書では, この要件に留意することが望ましい。
2. この要件から, システムの適合性を検査するのに, すべての応用について試めしてみる必要がなくなる。
- 14.5 文書提供
この規格は, SGML 文書が特定の応用又は構文解析系に依存することなく規格に合致していることにそのすべての階層の利用者が注意を払うとき, 初めてその目的を達することができる。適合 SGML システム及び適合 SGML 応用が提供する文書は, この注意を促すものでなければならない。
ISO/IEC 15445:2000 も当然この主張を踏襲しているからこそ、Pre-HTML の機構について which is not a part of this International Standard
とか Validating systems are required to support these techniques, but conforming systems are not.
とか and conforming systems are not required to support such a construction
などと注記しているのです。
かつても、野嵜さんが同様の主張をなさっているのを知ったからこそ もし、この「要素」 ― すなわち「見出しを含む div」 ― をマーク付けせず、しかもそれでなお「見出しから見出しまでの範囲 (例えば div1 疑似要素のような)」を扱うことを期待するのであれば、それは最早 SGML などではない
と指摘したつもりだったのですが。
HR: structure or presentation? とか、マーク付けノート, 2002-03-15 とか。
余談ですが、XHTML Basic には hr がありません、とか、XHTML 2.0 でも hr はなくそうかとか、名前を変えようかとか言った話が出てます、とか。ご参考まで。
基本的に中野さんの意見には同意できるのですが、IE が application/xhtml+xml をサポートしていないことを指してバグと表現したり、一方で Mozilla のようなバグがなければ必要ないはずの rp 要素を指して (いや、rt も含めて仰っているのでしょうが) 冗長と表現したりするのはどうかなあと。
全般的に IE より Mozilla の標準準拠度が高いというのは全く否定しませんが、Mozilla 方面の方々の主張を拝見すると、若干 Mozilla に対する過大評価を感じます。人の振り見て我が振り直せ、という感じ。
と言ふか、
ISO/IEC 15445:2000 も当然この主張を踏襲しているからこそ、Pre-HTML の機構についてと述べてゐて、石川氏は ISO-HTML に問題が無い事は解つてゐる筈だ。問題がないのに何を問題であるかのやうに石川氏は言つてゐるのだらう。which is not a part of this International StandardとかValidating systems are required to support these techniques, but conforming systems are not.とかand conforming systems are not required to support such a constructionなどと注記しているのです。
仕様に記載のない (しかも、もしそのような記載があれば仕様が破綻してしまうような) 事柄を、恰も仕様が要求しているかのように述べていらっしゃることが問題だと言っているのです。
僕は 見出しレヴェルに據つて文書の内容をツリー状に構造として解析する事がパーサに要求されます
という記述を、「ISO/IEC 15445:2000 は SGML 構文解析系に対し、h1-h6 に対応する div1-div6 的なコンテナ要素を付加して文書の構造を解析するよう要求している」という主張として解釈したのですが、この解釈が間違っているのでしょうか。
と言ふか、石川氏がなぜ、
もし、この「要素」 ― すなわち「見出しを含む div」 ― をマーク付けせず、しかもそれでなお「見出しから見出しまでの範囲 (例えば div1 疑似要素のような)」を扱うことを期待するのであれば、それは最早 SGML などではないと書いたのか、いまだに俺にはわからない。俺は何も期待してゐない。俺はただ「解析しようとすれば解析出來るやうになつてゐる」と述べたし、述べてゐるに過ぎない。
僕は「解析しようとすれば解析出來るやうになつてゐる」という主張が JIS X 4151-1992 14 にそぐわないものだと申しているのです。
飽くまで「解釋したいパーサは解釋出來る」と書いてゐるのであつて、「SGML パーサは常に××しなければならない」とは書いてゐません。ISO-HTML の仕様書もさう云ふ事を言つてゐるに過ぎないのではないですか。だから前から「暗示」「示唆」と書いてゐるのですし、今も「解釋出來る」と書いて「解釋しなければならない」と書かないでゐるのですが、それを「機械的な處理を期待し、暗示を常に讀取つて貰はうとしてゐる」等と解釋されても困ります。
その爲、見出しレヴェルに據つて文書の内容をツリー状に構造として解析する事がパーサに要求されますが
という文書は、僕には「パーサはそのように 解釋しなければならない
」としか読めないのですが、誤解だったようで失礼しました。
# そのような意図ならば、せめて「その爲」ではなく「その爲には」という条件付きの文として記述していただかないと、誤解を招くと思います。
機械的に処理できればよいと言うものではありません、 なんて言ふのならば石川氏、hr や img や br を含む XHTML のデータは HTML のパーサで常にエラーになるのだから不可、と言はなければならない筈。
「HTML のパーサ」というのは何を指しているのでしょうか。仕様からすると「SGML パーザ」のことを指すのであろうと思われますが、SGML パーザが「hr や img や br を含む XHTML のデータを常にエラーと見なす」なんて話は聞いたことがありません。
「
<hr />
の/
は HTML のパーサではエラーとして無視される」と言ふのを石川氏は認めてゐるらしいのだが。
どこかにそんなこと書きましたっけ? というか、仮に XHTML 文書の文書型宣言を HTML 4.01 のものに書き換えても、その場合の /
は NESTC と見なされるので文法上正しいはずですけれども (/
に続く >
は、内容モデルの関係上 Transitional や Frameset でないとエラーになりますが)。
と言ふか、「
<hr />
」を「<hr></hr>
」と機械的に處理する事について、石川氏は辯解するなり、謝罪するなり、した方が良くないですか。
僕が否定したのは「SGML 文書に対する非 SGML 的な機械処理」なのですが。<hr />
を <hr></hr>
と解析するのは SGML 的な機械処理でしょう。