#?SuikaWiki/0.9 page-icon="HTML" [2] 要約: [[HTML4]] 以前の HTML の[[終点アンカー]] ([CODE(HTMLa)[[[id]]]] 属性や [CODE(HTMLa)[[[name]]]] 属性の値) に小文字の[[ラテン文字]]を使うことは可能で、 実際によく使われてきましたが、実は規格上問題がありますから、 使わないほうが幸せになります。この問題は [[XHTML]] にはありませんが、[WEAK[XHTML に限らず]] HTML 4 以前の HTML で書かれた文書の[[素片識別子]] ([SAMP(URI)[#[VAR[〜]]]]) を含む [[URI参照]]を使うときにこの問題に巻き込まれる虞がありますから、油断はできません。 詳しくは次の文献等をどうぞ。 [1] ''釣瓶雜記(2003年11月〜12月)'' 『[[ISO‐HTML利用者の手引き]]』 を引用して詳しく考察しています。 [8] ''User's Guide to ISO/IEC 15445:2000(E) ISO-HTML'' [9] ''2003年11月 - マーク付けノート'' [10] : この問題を日本語圏に知らしめるきっかけとなったメイル。 - [11] ''www-html@w3.org from January 2002: Re: id attribute in HTML 4.01'' : HTML 4 の規定は知っててあーしたということ? - [12] ''Re: HTML ID case question from Steven Pemberton on 2001-07-11 (www-validator@w3.org from July 2001)'' : >>11 以前に HTML WG で出た結論がこれだと。 - [13] 結局 >>11-12 では実装互換性は考慮されてるけど SGML 互換性は全然問題になってない。 HTML にそれを求めるのは酷なことなのでしょうか? - [14] >>13 と思ったけど、実は SGML 的な特性として大文字化前の属性値が保存される、とかいう規定が発見されれば問題はないのかも。素の SGML にはなさげだけど、 [[HyTime]] 辺りにちょこっと書いてあったりしないかなあ? - [15] この問題を知って [[SGML]] の規格を読んでみたくなった方。 [[JISC]] のウェブ・サイト から [[PDF]] で仕様書が入手できます。「JIS 検索」を選んで、「X4151」を探してみてください。無料ですが、規格票を scan した画像を PDF 化したもので素人にはお勧めできない。嫌なら [[JSA]] に紙の規格票でも注文 (有料) しろってこった。 - [16] ''Strict-HTML スレッド17'' : 100番くらい〜でこの話題。 [17] [[CSS]] へのこの問題の影響は? 5.9 ID selectors にはそもそも大文字・小文字の区別に言及がないような。 も同じ。 5.1 Pattern matching には要素型名が HTML では区別されない旨、 5.8.1 Matching attributes and attribute values には属性名・属性値が文書言語によっては区別されない旨が書かれてはいるけど。 他のところの記述を見落としているのでなければ、 そもそも CSS では [SAMP(CSS)[#ID]] は大文字で書かないといけなかったことになる。 [18] 関係ないけど気になったのは、 属性値の区別が文書言語に依存すること。 [DFN[[[文書言語]]]]とは [Q[The encoding language of the source document (e.g., HTML or an XML application).]]だから、 [[XHTML1.0]] で [SAMP(HTML)[

]] と書いてもちゃんと [SAMP(CSS)[p[lang|="ja"] ]] と一致するようになっているわけだ。 でも XHTML じゃなくて何か UA が知らないマーク付け言語だとこうはならない。 [WEAK[悲劇的ですらある CSS の非互換問題の中ではこんなのどうでもいいことかもだけど。]] - [19] [[Namazu]] は素片識別子になる [CODE(HTMLa)[[[name]]]] 属性を勝手に小文字にしちゃうようだ ([CODE(HTMLa)[id]] にはそもそも未対応)。おかげで対策した文書の検索結果の素片識別子が役に立たない。