悪貨は良貨を駆逐するケースですか。ブクマのコメントでは識者が多いので安心ですが、タイトルだけ読んだら間違いを助長しますよ、これは。なぜ specification において強く推奨されている、という部分をすっ飛ばして、例外的に Such に続く部分に乗っかってしまうのですか。
XHTML 1.0: The Extensible HyperText Markup Language (Second Edition)
An XML declaration is not required in all XML documents; however XHTML document authors are strongly encouraged to use XML declarations in all their documents.
XML宣言は全てのXML文書に必要であるというわけではありませんが、XHTML文書の著者は、その全ての文書についてXML宣言を利用することを強く推奨します。
当然ですが、Web の世界は XHTML だけで機能している訳ではありません。サーバがあって、物理的な通信網があって、コンピュータがあって、ブラウザがあって、これら様々な技術仕様全てが関係しているのが我々が見ているネットワークの姿です。それらの部分においては仕様が決められていて、かつ守られていることが望ましいのですが、実際には仕様に則っていない Illegal なケースが存在します。そういったケースにおいても正しく機能するために、何か間違いがあっても安全な方向に倒れるように設計され作られています。省略してもたまたま正しく見えている、くらいで考える必要があります。ですので、安易な理由で省略してはいけません。宣言を省略したために何かの拍子でエラーになるくらいならば、宣言を書くことでエラーを回避できる、と考えたほうが賢明に思えます。
少なくとも、私たちのお客様に「仕様に則っていない御社のネットワークが原因ですねー」という言い訳が通用しない限りは。
寄せられたコメント (全 1 件中、最新 5 件まで表示しています)
元記事の参考サイトにも示されている、2009年に公開された「XHTML Media Types - Second Edition」の互換性ガイドラインでは「XML処理命令やXML宣言を含めないでください」となっているため、現在はむしろ逆になっているのではないでしょうか。情報まで。
参考:
hxxk.jp - XML 宣言の省略と XHTML Media Types の Second Edition についてのまとめ http://hxxk.jp/2008/09/30/0015
XHTML Media Typesの第二版が公開 | Web標準Blog | ミツエーリンクス http://standards.mitsue.co.jp/archives/001381.html