Extensible Markup Language (XML) 1.0 (Second Edition)

XHTML1.0 Transitionalを宣言しているにも拘らず、XHTML名前空間に属する要素が一つも無い。Production(生成規則)だけを抽出するスタイルシートを書いて、いざ変換しようとして気づいた。

http://www.w3.org/TR/REC-xml のValidation ResultsによるとValidらしい。名前空間が違ってもValidなのか。一体どんなスキーマを使うとそうなるのだろう。

考えられるのはコンテントネゴシエーションか。AHL<html> には xmlns 属性が必要ですと、きっちり検証してくれるのだけれど。

……と思ったら:

<!ATTLIST html
  %i18n;
  id          ID             #IMPLIED
  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
  >

XHTML1.0 transitoinal DTDより

知らなかった。DTDではvalidらしい。ではMSXMLのPSVIが間違っているのだろうか。……違った。名前空間宣言に固定値を当てようとする時点でエラーを吐いている。果たしてこれはどこに照らし合わせてどう間違っているのか。ややこし過ぎて死ねる。

でも「xmlns」はInfoset的に属性ではないのだから、#FIXEDとか言われても困ってしまうMSXMLに激しく同情する。

絵に描いた餅(9月21日)(2003年9月の道具としてのパソコン)

また、見出し要素は、きちんとマークアップされていれば、見出しから次の見出しまでが構造的なブロックになっているはずです。すなわち、見出しの存在そのものが、文書の構造を暗示するような文書であれば、見出しにidを付けることは、(仕様書上は別として)閲覧者を混乱させるものではないと思うのです。

見出しにidをつけるのであれば、id属性とname属性を持ったa要素を見出しあるいはその付近に仕込んでおいた方が、XHTML 1.0 appendix C の互換性ガイドラインを満たす、つまりid属性に対応していないブラウザにも物理的な終点アンカー(要するに「位置」)を示すことが出来るという意味で、ベターなのではないかと思います。見出しの文字列に一意の識別子をつける目的なら何も問題ありませんが一応。

それと重要な事を書き忘れていましたが、9月16日の記事にてNaminchichiさんが要約したものはNaminchichiさん自身の著作物ですから、blockquote要素ではありません。とか言いつつ、時折Hatena::agendaのblockquote要素内に引用文以外の珍妙な文字列が紛れ込んでしまっているのが笑えませんが、これは「はてな」の仕様なので許してください。以後何とかします。

2003/09/22(Sun.) - Repeat the same failure
結局のところ、どの本を買っても裏を取るために仕様書を確認しに行くことになる罠。