[17] [[XML名前空間]]、[CODE(URI)@en[[[http://www.w3.org/2000/xmlns/]]]] の項も参照してください。 [11] [CITE@en[xmlns attributes...]] ([[Shane McCarron]] 著, [CODE[2007-04-28 12:45:45 +09:00]] 版) ([[名無しさん]]) [12] [CITE[Bug 800 - xmlns attribute for XML namespace not allowed]] ([CODE[2007-05-07 20:06:59 +09:00]] 版) ([[名無しさん]]) [13] >>11-12 絶対受け入れられるはずがないだろと思ったらあっさりおkが出るという斜め上。 ([[名無しさん]] [WEAK[2007-05-07 11:19:05 +00:00]]) [18] [CITE@en[Namespace prefix declarations vs DTDs]] ([[Bjoern Hoehrmann]] 著, [TIME[2009-05-16 10:14:08 +09:00]] 版) ;; [[libxml2]] にも >>11-12 と似たようなバグがあるとは。 * RDFa [22] [[RDFa 1.1]] で[[IRI写像]]の定義のために [CODE(XML)@en[[[xmlns]]]] を使うのは[[非推奨]]です。 これも[[RDFa処理器]]は処理する[['''べきです''']]。将来の版では削除するかもしれないとされています。 [SRC[>>23]] ;; [24] なぜ完全に削除するか、対応しなければならないとするかのどちらかにしないのでしょうか。 処理しなくてもいいことにしてしまうと[[相互運用性]]の問題をもたらすだけでしかないと思いますが・・・。 ;; [25] そもそも [[RDFa 1.0]] も [[XHTML+RDFa 1.1]] も[[版付け]]された仕様なので、 どちらを使っているかは (仕様上は) 明確に区別可能なはずなので、後方互換性のために [CODE(XML)@en[[[xmlns]]]] に対応する必要などまったく無いはずですが・・・。 [26] [[RDFa 1.1]] では[[名前空間接頭辞]]は[[小文字]]に変換されることになっています。 [SRC[>>23]] ただしどの方法で[[小文字]]化されるのかは明記されていません。 [27] [[RDFa 1.1]] では [CODE(HTMLa)@en[[[prefix]]]] [[属性]]があり、 そちらの定義で上書きされることがあります。 [29] [[RDFa]] の[[接頭辞]]のために [CODE(XMLa)@en[[[xmlns]]]] を使うと [[RDFa Lite 1.1]] を名乗れなくなります。 [SRC[>>28]] [34] [[HTML+RDFa]] は [[XHTML+RDFa 1.0]] の[[文書]]が [CODE(MIME)@en[[[text/html]]]] で送られることがあるとして、 [[HTML文書]]の [CODE(XMLa)@en[[[xmlns]]]] を解釈する方法となぜか適合性を規定しています。 「そのようなことが避けられない場合もある」 [SRC[>>33]] とまで言っています。 ;; [35] 滅茶苦茶な話ですね。 [36] [CODE(XMLa)@en[[[xmlns:*]]]] によって宣言される[[名前空間接頭辞]]は、[[小文字]]だけを使う[['''べきです''']]。 [SRC[>>33]] ;; [37] この規定が [[HTML文書]]にだけ適用されるのか、 [[XHTML文書]]にも適用されるのか文脈からは判断がつきません。 [[HTML]] と [[XHTML]] で解釈を同じにすることが目的と書かれているので、 [[XHTML]] にも適用されるのかもしれません。 [38] [[RDFa処理器]]に引き渡す木構造において、 [CODE(XMLa)@en[xmlns:]] と大文字・小文字を区別せず一致する文字列で始まる[[属性]]は、 これを保持しなければ[['''なりません''']]。 [SRC[>>33]] [40] [[HTML+RDFa]] 仕様書に適合する文書において、 [CODE(XMLa)@en[xmlns:]] と大文字・小文字を区別せず一致する文字列で始まる[[属性]]は、適合することとしなければ[['''なりません''']]。 [[適合性検査器]]は、これを適合するものとして認める[['''べきです''']]。 [[適合性検査器]]は、[[非推奨]]であることを警告する[['''べきです''']]。 [[適合性検査器]]はこれを[[誤り]]として報告しても[['''構いません''']]。 [SRC[>>33]] [43] [CODE(XMLa)@en[xmlns:]] と大文字・小文字を区別せず一致する文字列で始まる[[属性]]は、 [[XML名前空間1.1]]の生成規則に適合しなければ[['''なりません''']]。 [SRC[>>33]] ;; [39] [[HTML+RDFa]] 仕様書は 「[CODE[@xmlns:]]」と書いていますが、もちろん @ は属性名の一部ではありません。 文字通りに解釈すると「[CODE[@xmlns:]]」で始まる属性などほとんどあり得ません。技術仕様書の要の部分が技術的に正確に記述されていませんが、 そんな品質でも [[W3C勧告]]になれます。 ;; [41] [[大文字]]と[[小文字]]を区別しないとのことですが、どの比較方法により区別しないのかは明記されていません。 ;; [42] 適合とみなさなければならないのに、適合性検査器がそう判断するのはなぜか MUST ではなく SHOULD になっていて謎です。また[[誤り]]としても良いとありますが、これがどういう意味なのか (不適合と同じ概念なのか違う概念なのか) も不明です。適合性検査器に何かしてほしいという以上の情報量がありませんが大丈夫でしょうか。 ;; [44] なぜ[[XML名前空間1.1]]を参照しているのかは謎です。[[属性値]]が[[空文字列]]になることが 1.0 では禁止されていますが 1.1 では認められているので、それが狙いかもしれません。 ;; [45] [[生成規則]]に一致することは求められていますが、本文での規定にも適合することを求めなくていいのでしょうか。 また[[生成規則]]に従うと [CODE(XMLa)@en[[[xmlns]]]] の部分は[[小文字]]でなければならないはずですが、 何度も[[大文字]]・[[小文字]]を区別しないと強調している以上、[[大文字]]でもいいことを意図しているはずで、 矛盾しています。 ;; [46] [[大文字]]と[[小文字]]を区別しないことにしているのは [[HTML]] で[[属性名]]が[[ASCII大文字・小文字不区別]]であることからでしょうが、 [[構文解析器]]が必ず[[小文字]]に正規化することになっているので、このように区別しないことを求める必要性があるのか疑問です。 ;; [48] 実際に[[IRI写像]]の処理では[[小文字]]の[[属性]]を参照するだけで、[[大文字]]は完全に無視されています。 にも関わらずなぜ[[大文字]]でも適合することにされているのか謎です。 [47] [[RDFa処理器]]の [[XML]] への変換の項も参照してください。 [REFS[ - [23] [CITE@en[RDFa Core 1.1 - Second Edition]] ([TIME[2013-08-15 17:12:47 +09:00]] 版) - [28] [CITE[RDFa Lite 1.1]] ([TIME[2012-06-04 17:31:29 +09:00]] 版) - [33] [CITE@en[HTML+RDFa 1.1]] ([TIME[2013-08-20 15:49:04 +09:00]] 版) ]REFS] * HTML における [CODE(HTMLa)@en[xmlns]] 属性 [16] [[HTML]] における[[名前空間]]の問題については、 [[HTML名前空間]]の項を参照してください。 この項では純粋に[[属性]]としての [CODE(HTMLa)@en[[[xmlns]]]]、[CODE(HTMLa)@en[[[xmlns:[VAR[*]]]]]] に触れます。 [10] [CITE[The problems with namespaces in text/html (Was: MathML-in-HTML5)]] Namespaces in HTML を実装すると既存の Web 頁との互換性が失われる。実装しようとした vendor もあったが、互換性の問題で断念した。 ([[名無しさん]] [WEAK[2006-10-05 23:09:27 +00:00]]) [14] [CITE[HTML5 IRC logs: w3c / #html-wg / 20070423]] ([CODE[2007-06-30 15:38:51 +09:00]] 版) > [03:11] zcorpan: about 15% of pages had xmlns="...xhtml" attributes on the element ([[名無しさん]] [WEAK[2007-06-30 06:50:17 +00:00]]) [15] 2007年12月の日本の1200個の Web 頁の統計データより ([TIME[2007-06-30 15:34:43 +09:00]]): >292 pages, i.e. 24% of all pages, specify the [CODE(HTMLa)@en[[[xmlns]]]] attribute to the [CODE(HTMLe)@en[[[html]]]] elements, all of them have value of the XHTML namespace — [CODE(URI)@en[[[http://www.w3.org/1999/xhtml]]]]. * 関連 [30] [[名前空間属性]]は、 [[DOM]] では通常の[[属性]]と同じように扱われます。 [31] [[XML情報集合]]では[[名前空間属性]]は[[属性]]とは別に扱われます。 [32] [[XPath 1.0データモデル]]では[[名前空間属性]]は[[名前空間節点]]として表現されます。 ただし[[名前空間節点]]は[[名前空間属性]]そのものを表しているのではなく、 有効範囲内の[[要素]]それぞれに存在することになっています。 * メモ [19] [CITE@EN[XQuery 1.0: An XML Query Language (Second Edition)]] ( ([TIME[2011-01-05 01:29:08 +09:00]] 版)) [21] [CITE@EN[W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures]] ( ([TIME[2012-04-05 06:34:07 +09:00]] 版)) [FIG[ [FIGCAPTION[ [49] [CITE[Organic City Intranet]] ([TIME[2014-02-23 20:36:15 +09:00]] 版) ]FIGCAPTION] [PRE(HTML code)[
]PRE] ]FIG] [50] [CITE[IRC logs: freenode / #whatwg / 20140311]] ( ([TIME[2014-03-12 21:02:53 +09:00]] 版))