[12] XML名前空間は、 XML の要素と属性の名前 (種別) を名前空間名と局所名の組によって表現する仕組みです。
[17] ほとんどすべての XML の応用や文書は XML名前空間を利用しています。
[58] XML名前空間 (仕様) は XML における名前空間を定義しています。
XML名前空間 (一般名詞) は、XML名前空間仕様に基づく各々の名前空間を指します。
xml
名前空間 (固有名詞) は、
XML 組み込みの機能が属するXML名前空間 (一般名詞) です。
[8] QName foo:xmlbar は予約されていませんが、
QName xmlbar は (XML で) 予約されている関係上、
最初の例の如き名前 (つまり、 LocalName が "XML"
で始まる名前。) は使わないことを errata http://www.w3.org/XML/xml-names-19990114-errata#NE06
は勧めています。
[9] Errata は仕様書にはない名前空間整形式, 名前空間妥当という2つの重要な用語を定義しています。
[10] このほかにも errata には重要な修正があります。 修正に気づいてない人も少なくないでしょうから、とっとと SE を出して欲しいところですが、担当 WG は第1.1版出して誤魔化す気かな?
[19] 名前空間 1.1 は、 XML 1.1 と併用する物だと仕様書に書いてありますが、無印名前空間は、 単に XML としか書かれていません。だとすると XML 1.1 + 無印名前空間も可能かも、 だとするといろいろ不整合が出てきて都合が悪いよなあ、 と思ってよく調べてみると、ちゃんと無印 Errata で手は打ってあって、 XML 1.0 に適用すると修正されていました。
[5] 厳密には仕様書 (>>3) の記述を参照して下さい。
[7] SGML/XML では、同じ名前の属性を一つの要素に複数指定することはできませんでした。
×<element attribute="value" attribute="value"/>
XML 名前空間を利用する場合は更に制限が加えられ、 修飾名 (QName) が異なっていても名前空間名が同じであるなら、同じ local name の属性を一つの要素に指定することはできません。
×<element xmlns:ns1="http://ns.example/" xmlns:ns2="http://ns.example/" ns1:foo="bar" ns2:foo="BAR"/>
ただし、名前空間無しの属性とありの属性や名前空間名の異なる属性で local name が同じであるものは、もちろん問題ありません。
○<element xmlns="http://ns.example/1" xmlns:ns1="http://ns.example/1" xmlns:ns2="http://ns.example/2" foo="bar" ns1:foo="bar" ns2:foo="BAR"/>
<!ATTLIST foo ns:foo CDATA 'default' xmlns:ns CDATA #FIXED 'http://uri.example'> ... <foo ns2:foo="nondefault" xmlns:ns2="http://uri.example"/>
は名前空間妥当だろうか? とふと思ったけど、妥当性を検証する処理系はまず省略属性を補って、その上で名前空間を知っている処理系は名前空間を処理するのが建前だろうから、やっぱり名前空間非妥当だろうなあ。
[23]
>>14 でも IW:XMLNames:"#uniqAttrs" には no tag may contain
としか書いてなくて、既定属性の話は出てこないぞ。。。
(名無しさん)
[24] 少なくともその宣言が内部サブセットにあって、別途 xmlns:ns2 と ns2:foo が宣言されていれば名前空間妥当だと思うけど。 (名無しさん 2006-02-18 05:29:08 +00:00)
[18] XML名前空間は異常に複雑であると非難されています。 XML を使うべきでないとの主張の重大な論拠の1つでもあります。
[42] 次のような問題点が指摘されています。@namespace
)、
その差異が開発者の混乱の元になっている。xml
や xmlns
の扱い。)
[60] XML名前空間の扱いをめぐって混乱している例:extensions
という謎の中間要素と XML名前空間の両方を同時に使っています。
[85] XML名前空間とXML DTDの衝突を指摘された W3C Markup Validator は、 W3C 自身の仕様書を無視して名前空間宣言のエラーを報告しないことにしました。 もうめちゃくちゃです。
xmlns
参照。[20]
要素型名が xmlns
とか
xmlns:*
になることは禁止されていない??
[25] >>20 わかりにくいけど禁止はされているらしい。
Re: Namespaces in XML 1.x test suite contribution from Richard Tobin on 2005-12-19 (xml-names-editor@w3.org from December 2005) http://lists.w3.org/Archives/Public/xml-names-editor/2005Dec/0002.html
(名無しさん)
[26] Re: porno on w3.org (Ian B. Jacobs 著, 版) http://lists.w3.org/Archives/Public/w3c-translators/2008JanMar/0163.html (名無しさん)
[定義:] XML名前空間は、 XML文書中で要素型名や属性名として使われる名前の集成であり、 URI参照RFC 2396によって識別される。 XML名前空間 1.0
[定義: XML名前空間はIRI参照によって識別される。 要素名と属性名はこの仕様書で説明する方法によってXML名前空間中に置くことができる。] XML名前空間 1.1
[22] 仕様書:
[1] XML名前空間における名前空間名と局所名の組の構文上や仕様上の表記法は様々なものがあります。
[27] XML Namespaces ( 版) http://www.jclark.com/xml/xmlns.htm
[28] XML名前空間の解説ですが、他の解説などでもわりとよく用いられた「{名前空間URL}局所名」 という表記法を (おそらく) 最初に導入した文章でもあります。
[2] 多くの仕様書では、仕様書で使う名前空間接頭辞を (自然言語により) 定義した上で、それを使って (自然言語や XML の例示で用いて) 説明しています。
[95] Introduction to Namespaces, InetSDK, , https://web.archive.org/web/20001025171003/http://msdn.microsoft.com/xml/xmlguide/namespaces-overview.asp
[29] Re: Re[4]: XML namespaces and RDF (Tim Berners-Lee 著, 版) http://lists.w3.org/Archives/Public/semantic-web/2007Dec/0116.html
[30] Default Prefix Declaration - W3C Blog ( 版) http://www.w3.org/QA/2009/11/default_prefix_declaration.html
[31] Why bound prefixes are an anti-pattern in language design (Ian Hickson 著, 版) http://lists.w3.org/Archives/Public/public-rdf-in-xhtml-tf/2009Aug/0035.html
[32] XProc: An XML Pipeline Language ( 版) http://www.w3.org/TR/2010/REC-xproc-20100511/#namespace-fixup-guidance
[33] James Clark's Random Thoughts: XML Namespaces ( 版) http://blog.jclark.com/2010/01/xml-namespaces.html
[34] Name Spaces in XML ( 版) http://www.w3.org/TR/1998/NOTE-xml-names-0119
[35] XML.com: XML Namespaces Don't Need URIs (Michael Day 著, 版) http://www.xml.com/pub/a/2005/04/13/namespace-uris.html
[36] Change Proposal for ISSUE-120 - WHATWG Wiki ( 版) http://wiki.whatwg.org/wiki/Change_Proposal_for_ISSUE-120
[37] IRC logs: freenode / #whatwg / 20110210 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110210#l-618
[38] Re: Re[4]: XML namespaces and RDF ( (Tim Berners-Lee 著, 版)) http://lists.w3.org/Archives/Public/semantic-web/2007Dec/0116.html
[39] MySQL :: MySQL 5.1 リファレンスマニュアル :: 11.9 XML 関数 ( ( 版)) http://dev.mysql.com/doc/refman/5.1/ja/xml-functions.html
[40] [whatwg] Including ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-November/037903.html
[41] Web Architecture: Extensible languages ( ( 版)) http://www.w3.org/TR/NOTE-webarch-extlang
但し、Scala 2.10 の時点では、標準APIのXMLでは名前空間が使えないようです。名前空間を無視すれば、要素名(tag)は検索できますが、属性(attribute)は名前空間を無視しても検索できません。
[63] XProc 2.0: An XML Pipeline Language () https://www.w3.org/TR/2016/NOTE-xproc20-20160721/#namespace-fixup
[64] XML Namespaces () http://www.jclark.com/xml/xmlns.htm
[65] James Clarkさんのツイート: "@ndw @hsivonen TimBL pushed the WG to do XML Namespaces ASAP after XML 1.0 for RDF's benefit." () https://twitter.com/james_clark/status/866532934513184768
[66] w3c-sgml-wg@w3.org Mail Archives () https://lists.w3.org/Archives/Public/w3c-sgml-wg/
[67] Update on namespaces (Jon Bosak著, ) https://lists.w3.org/Archives/Public/w3c-sgml-wg/1997Jun/0146.html
[68] xml-names-issues@w3.org Mail Archives () https://lists.w3.org/Archives/Public/xml-names-issues/
[69] Change of approach on the namespace problem (Tim Bray著, ) https://lists.w3.org/Archives/Public/w3c-sgml-wg/1997Jun/0466.html
[70] Options for Implementing Namespaces in XML () http://www.textuality.com/xml/namespace.htm
[71] Namespaces, the universe, and everything (Tim Bray著, ) https://lists.w3.org/Archives/Public/w3c-sgml-wg/1997Jun/0349.html
[72] ERB decision: colon as name character (Michael Sperberg-McQueen著, ) https://lists.w3.org/Archives/Public/w3c-sgml-wg/1997Jun/0560.html
[73] RDF Model and Syntax (Ora Lassila, Ralph Swick著, ) https://www.w3.org/TR/WD-rdf-syntax-971002/#namespaces
[74] SD5 - Namespaces - New Version 2 (Andrew Layman著, ) https://lists.w3.org/Archives/Public/w3c-sgml-wg/1997May/0504.html
[75] SD5 - Namespaces [fmt] (Jon Bosak著, ) https://lists.w3.org/Archives/Public/w3c-sgml-wg/1997May/0239.html
[76] namespaces considered harmful · Microformats Wiki () http://microformats.org/wiki/namespaces
[77] No Namespaces in JSON, Please (Henri Sivonen著, ) https://hsivonen.fi/no-json-ns/
[78] Re: Re[4]: XML namespaces and RDF (Tim Berners-Lee著, ) https://lists.w3.org/Archives/Public/semantic-web/2007Dec/0116.html
[79] Reports from the SGML ERB to the SGML WG and from the XML WG to the XML SIG () https://www.w3.org/XML/9712-reports.html
Office Open XMLを制定しているEcma Tc 45の議長であるJean Paoliとは、名前空間を用いたユーザ拡張について、1999年ごろに寿司屋で長々と話したことがある。名前空間になにを期待するかは、XMLエキスパートごとに大きく異なるのだが、彼と私の意見はきわめて近い。それは、名前空間は一枚岩ではないXML文書を可能にするという考え方である。一つの文書中の名前空間を全部分かる人・プログラムは誰もいないかも知れない。一部しか分からないプログラムであっても、インターネット上で、互いに協調動作することができる。
[81] Are web components *seriously* not namespaced? (Glen著, ) https://lists.w3.org/Archives/Public/public-webapps/2015JanMar/0452.html
[82] Re: Are web components *seriously* not namespaced? (Tab Atkins Jr.著, ) https://lists.w3.org/Archives/Public/public-webapps/2015JanMar/0512.html
[83] RFC 6848 - Specifying Civic Address Extensions in the Presence Information Data Format Location Object (PIDF-LO) () https://tools.ietf.org/html/rfc6848
The elements defined in this document are not themselves members of a namespace, so that RSS 2.0 can remain compatible with previous versions in the following sense -- a version 0.91 or 0.92 file is also a valid 2.0 file. If the elements of RSS 2.0 were in a namespace, this constraint would break, a version 0.9x file would not be a valid 2.0 file.
[86] Fix MathML namespace (dstorey著, ) https://github.com/w3c/svgwg/commit/33575437c21b304058c5723fa2b354cb66bc45d8
[87] Remove XML loading's namespace-based dispatching (annevk著, ) https://github.com/whatwg/html/commit/38cac772c17218cb01ef92e8a8f5aec2c386b127
Sorry, Insufficient Access Privileges
[89] なぜ 403・・・・
[90] あれこれポップアップ, , http://www.remus.dti.ne.jp/~a-satomi/bunsyorou/ArekorePopup.html#prefdef-attrs
[91] XML名前空間が期待の新機能だった時代に作られたソフトウェア (Webページに組み込む用の JavaScript)。 JavaScript の文字列で属性名を指定する。 となるとその属性が大域属性のとき名前空間を指定しないといけない。 そこでこのソフトウェアではQNameで属性名を指定させ、 別のJavaScriptオブジェクトで名前空間接頭辞と名前空間名の対応関係を管理している。
[92] つまり (DOM とはまた違った形で) XML名前空間が JavaScript に漏洩している事例。
[93] 属性の指定を名前空間名と局所名の組にしておけば JavaScript 文字列として記述される QName とかいう酷いコンセプトを生み出さずに済んだのだろうけど、 そのために利用者たるWebページ著者 (XML名前空間に習熟しているとは限らない) に負担を強いるべきではないという判断だろう。