#?SuikaWiki/0.9 page-icon="HTML"
[1] 【[[XHTML]]】 XHTML を旧来の [[HTML]] [[UA]] で[WEAK[おそらくは]]扱える形で記述するための指針。 ''XHTML 1.0: The Extensible HyperText Markup Language C. HTML Compatibility Guidelines''
[2] [処理指令及び XML 宣言] 古い [[UA]] の中には、
[[処理指令]]をそのまま表示するものや、
[[XML宣言]]があるとその文書を HTML/XHTML ではない [[XML]]
文書として取り扱うものもあります。
ですから、処理指令や XML 宣言を使わないといいかもしれません。
(C.1)
[3] >>2 の場合、既定の[[符号化]], すなわち
[CODE(charset)[[[UTF-8]]]], [CODE(charset)[[[UTF-16]]]]
になると附属書 C には書いてありますが、 [[HTTP]]
や [[MIME]] のような上位プロトコルから [[charset]]
情報が提供される場合はそうである必要もありません。
[4] [空要素] [[空要素]]の[[タグ]]は、
[SAMP(XML)[
]] や [SAMP(XML)[
]]
のような形ではなく、 [SAMP(XML)[
]]
と書くべきです。 (C.2)
[5] [要素最小化と空要素モデル] [[強制空要素]]以外の空要素は最小化
([SAMP(XML)[]]) するべきではありません。
(C.3)
[6] [埋め込みスタイル・シート及びスクリプト]
[CODE(XML)[&]], [CODE(XML)[<]], [CODE(XML)[ ] ] > ]],
[CODE(XML)[--]]
が含まれるスタイル・シート, スクリプトは埋め込みではなく外部リンクにするべきです。
(C.4)
[7] [属性値中の改行] [[属性値]]中の[[改行]]や複数の[[空白]]の連続は避けるべきです。
(C.5)
[8] [Isindex] [CODE(HTML)[[[head]]]] 要素中の
[CODE(HTML)[[[isindex]]]] 要素は複数個あるべきではありません。
(C.6)
[9] [ [CODE(HTML)[lang]] 及び [CODE(HTML)[xml:lang]] 両属性]
言語情報の指定には [CODE(HTML)[[[lang]]]]
属性と [CODE(XML)[[[xml]]:[[lang]]]]
属性を両方指定するべきです。 (C.7)
[10] [素片識別子] [CODE(HTML)[[[id]]]] 属性を使うときはそれと対応させた
[CODE(HTML)[[[a]]]] 要素の [CODE(HTML)[[[name]]]]
属性を使用するべきです。 (C.8)
[11] [文字符号化] [[HTTP]] のような上位プロトコルや
[CODE(HTML)[[[meta]]]] 要素を使って[[文字符号化]]の情報を与えるべきです。
(C.9)
[12] [真偽型属性] [[真偽型属性]]が最小化されていない形だとうまく扱えない古い
[[UA]] があるので注意が必要です。 (C.10)
[13] [文書物体モデルと XHTML] [[DOM1]] HTML
を実装した UA では、
- [CODE[[[text/html]]]] の XHTML 文書では、
[[HTML4]] 同様に要素型名などは大文字に正規化されます。
[WEAK[(附属書 C には明記されていませんが、意図としては多分) HTML 4 で[[開始タグ]]が省略可能な要素 ([CODE(HTML)[[[tbody]]]] とか。) は補われます。]]
- XML 系の[[媒体型]]の XHTML 文書では、
要素型名などは小文字のままです。
HTML 4 で開始タグが省略可能な要素は補われるかもしれませんし補われないかもしれません。
(C.11)
[14] [属性値中のアンド記号 (など)]
[[URI]] でよく使われるアンド記号は [CODE(XML)[&]]
と書かなければなりません。
(C.12)
[15] [段階スタイル・シートと XHTML]
[[CSS2]] を使うときに、
- [[選択子]]で要素型名は小文字にします。
- HTML 4 で開始タグが省略可能な要素 ([CODE(HTML)[tbody]] など)
を選択子で使うときには[[文書実現値]]中でも明示します。
- [CODE(CSS)[#]] (識別子) 選択子が使えます。
- [CODE(CSS)[.]] (級) 選択子が使えます。
- [CODE[text/html]] の XHTML 文書には HTML 向けの、
XML 系の媒体型の XHTML 文書には XML 向けの適合性規則が適用されます。
(C.13)
[16] [XML として供給する時に [CODE(HTML)[style]] 要素を参照する]
XML な媒体型の XHTML 文書では、
[PRE[
[INS[...]]
]PRE]
とするべきです。 (C.14)
[17] [空白文字] 幾つかの文字は XML では不正です。
例えば [CODE(char)[FORM FEED]] とか。 (C.15)
[18] [名前文字参照 [CODE(XML)[']]]
名前文字参照 [CODE(XML)[&[[apos]];]] は使うべきではありません。
(C.16)
- [19] 互換性指針は旧来の HTML との互換性を保ちたい場合の指針であって、 XHTML を使うに当たって必須の要件ではありません。
- [20] また、あくまで XHTML 1.0 の附属書であって、それ以外の XHTML や XML 応用に適用されるものでもありません。
- [21] しかしながら、 [CODE[text/html]] として供給する X(HT)ML 文書は、可能な限りこの指針に従うのが望ましいでしょう。