HTMLとの互換性ガイドライン(XHTML1.0)
《HTML Compatibility Guidelines》
Processing Instructions and the XML Declaration
- Processing Instructionsをレンダリングするユーザエージェントもあることに注意
- XML宣言が文書にない場合はデフォルトのcharacter encodingsである UTF-8 か UTF-16 しか使えないことに注意
空要素
たとえば <br /> のように、空要素には最小化タグ文法を使います。
※XMLで許容されている代替の<br></br> は、多くの既存のUAでは結果が一定でない。
要素最小化と空要素内容
内容モデルが EMPTY ではない要素が
空インスタンスの場合には、最小化形式は使用しません。
埋め込みのスタイルシートとスクリプト
スタイルシートや、スクリプトが < か & か ]]> か -- かを使っている場合には、埋め込みではなく、外部にスタイルシートや、スクリプトを用意して使用します。
< か & か ]]> か -- かを使っている場合には、
}}}
外部スタイルシートを使用します。
スクリプト
< か & か ]]> か -- かを使っている場合
外部スクリプトを使用します。
【注意】
※commentsコメントの内容を除外することがXMLパーサには許されていることに注意すること。
※文書を後方互換的にする場合commentsコメントの中にスクスクリプトやスタイルシート「隠す」という慣習的手法は、
XMLを基礎とした実装では期待した動作にならない可能性が高い。
属性値内での改行
属性値内での改行している場合など
UAによって扱いが一貫していないので、
属性値内では改行や重複した余白文字は避ける。
Isindex
文書の head の内容に2つ以上の isindex を入れない。
isindex 要素は、deprecated で廃止予定でありinput 要素を使用することが推奨されている。
※:廃止されている。
lang 属性と xml:lang 属性
要素の言語を指定する場合は
lang と xml:lang との双方を使用します。
※xml:lang 属性の値が優先します。
フラグメント識別子
XMLでは
"#foo" というフラグメント識別子の場合
URI [RFC2396] は、name="foo" という属性のある要素を参照せず、
id 属性といったような、ID 型として定義されている属性のある要素を参照します。
只、現在の多くのHTMLクライアントは、
ID 型属性の使用法をサポートしていない場合があるので、
前方互換性と後方互換性とを保証する場合
属性の両方について同一の値を補います。
【注意】
XHTML 1.0 は a, applet, form, frame, iframe, img, map 要素の name 属性を廃止予定になります。
後続バージョンのXHTMLからは除去されています。
キャラクタエンコーディング
文字コードを指定するには
xml 宣言でのエンコーディング属性の指定
meta http-equive ステートメント
との両方を使用します。
※xml処理命令のencoding属性の値が優先します。
ブール属性
UAによっては、ブール属性が完全(非最小化)形式で出現すると、
XML 1.0 で要求されているとおりに解釈できない場合がある。
【注意】
HTML4に準拠したUAには影響はありません。
属性
compact, nowrap, ismap, declare, noshade, checked, disabled, readonly, multiple, selected, noresize, defer.
ドキュメントオブジェクトモデルとXHTML
HTML4文書オブジェクトモデルではは、HTML要素名、属性名は大文字で返されることを規定
XML文書オブジェクトモデルでは、要素名、属性名は、それらが指定されている文字で返されることを規定
XHTML 1.0 では、要素や属性は小文字で指定される
- text/html としてDOM経由でのXHTML文書にアクセスする場合:
アプリケーションは HTML-DOMを使用可能であり、
要素名や属性名が大文字で返されることが期待できる
- text/xml または application/xml としてのXHTML文書にアクセスする場合
アプリケーションはXML-DOMを使用することも可能であり
要素や属性は、小文字で返されることになります
【注意】
XHTML要素によっては、内容モデルにおいて任意的な部分は
オブジェクトツリーに出現したり、しなかったりする要素があります
アプリケーションの場合は対応する必要があります。
→[]
属性値中ではアンパサンドを使用
属性値中でのアンパサンドは文字実体参照として表記します。
a 要素の href 属性が、パラメータ付きでCGIスクリプトを参照している場合
【リファレンス】
W3C
この文書は「HTMLとの互換性ガイドライン(XHTML1.0)」
更新 8:41 2005/12/20
ホームページ制作、千太の絵空事
|