
[1] [DFN[[[XML]] [RUBY[Base] [[[基底]]]]]] 
<http://www.w3.org/TR/xmlbase/>
は、 XML における[[基底URI]] に関する仕様書
[WEAK[([[W3C]] [[勧告]])]] です。

この仕様書の規定で最も目を惹くのは [CODE(XML)[[[xml]]:[[base]]]]
属性でしょう。この[[属性]]は、その[[要素]]の基底 URI
を特に指定するものです。

もちろん主体はこの属性でしょうが、それ以外にも、
この属性以外の要素と基底 URI との関係を詳しく規定している点が重要といえるでしょう。

[5] 現在では [[HTML文書]]も [[XML文書]]も、[[基底URL]]は
[[XML Standard]] と [[HTML Standard]] で規定されています。

* 仕様書

[8] 
- 最新版 <http://www.w3.org/TR/xmlbase/>
- 第1版
-- 2001年6月27日 [[W3C]][[勧告]]
<http://www.w3.org/TR/2001/REC-xmlbase-20010627/>
-- 2001年勧告正誤表:
[CITE@en[Errata in REC-xmlbase-20010627]] 
<http://www.w3.org/2001/06/xmlbase-errata>
- 第2版
-[CITE@EN[XML Base (Second Edition)]] ([[W3C]] [[勧告]]) <http://www.w3.org/TR/2009/REC-xmlbase-20090128/>
-[CITE@EN[Errata in REC-xmlbase-20080128]] ([TIME[2009-01-26 23:27:34 +09:00]] 版) <http://www.w3.org/2009/01/xmlbase-errata>

** 仕様書の構成と、この wiki での関連 WikiPage

[2]
= 1 Introduction
= 2 Terminology
= 3 xml:base Attribute ⇒[CODE(XML)[[[xml]]:[[base]]]]
== 3.1 URI Reference Encoding and Escaping ⇒[[XML//URI]]
= 4 Resolving Relative URIs ⇒[[XML//URI//基底]]
== 4.1 Relation to RFC 2396
== 4.2 Granularity of base URI information
== 4.3 Matching URIs with base URIs
== 4.4 Interpretation of same-document references (第2版で追加)
= 5 Conformance
-- 「4章の規定に従って基底 URI を決定する[[応用]]は、この仕様に適合する。」
= A References
= B References (Non-Normative)
= C Impacts on Other Standards (Non-Normative) ⇒>>3-

* 歴史

** 第1版勧告以前

[6]
[CITE[XML Base Disposition of Comments]] <http://www.w3.org/2000/06/xmlbase-comments-20000607>

[7]
[CITE[XML Base Disposition of Comments]] <http://www.w3.org/XML/2000/08/xmlbase-comments-20000810.html>

** 第1版勧告後〜第2版勧告前

[9]
E01 2002年10月21日 <http://www.w3.org/2001/06/xmlbase-errata#E01>:
[Q[文書または外部実体]]を[Q[[[文書実体]]または[[外部実体]]]]に修正。

[10]
E02 2003年1月23日 <http://www.w3.org/2001/06/xmlbase-errata#E02>:
[[既定属性]]に関する注記を追加:
- [[外部マーク宣言]]による[[既定属性]]は[[非検証処理器]]では無視されるかも。 ←元からあった
- [CODE(XMLa)@en[[[xml]]:[[base]]]][[属性]]は[[指定]]するか、
または[[内部部分集合]]で[[宣言]]する'''べき'''。 ←元からあった
- [[XML Schema]]等[[情報集合]]構築後の[[属性]]追加によって[CODE(InfoProp)[[[基底URI]]]][[特性]]との齟齬が生じる可能性がある。 ←今回追加分

[11]
E03 2004年3月2日 <http://www.w3.org/2001/06/xmlbase-errata#E03>:
[[妥当]]でない[[URI参照]]が[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性]]を使って与えられた[[要素]]の[[基底URI]]は、
[[応用]]依存。

[12]
[CITE[Errata in REC-xmlbase-20010627]] <http://www.w3.org/2001/06/xmlbase-errata#E04>
([[名無しさん]] [WEAK[2006-12-12 07:59:54 +00:00]])

[[URL]] (のようなもの) の定義を [[RFC 2396]] から [[RFC 2396]] + [[XLink 1.1]] [[WD]]
のものに変更する旨ですが、実際の変更点は >>13 の [[2e]] [[ED]] として示されています。

この際、 [CODE(XMLa)@en[[[xml:base]]]] [[属性値]]が[[空文字列]]や[[素片識別子]]のみの場合の意味は
[[RFC 2396]] 風に ([[基底URL]] に関わらず) その[[文書]]自体となるのではなく、
[[RFC 3986]] [[同文書参照]]の通りその文脈の[[基底URL]] に照らして[[解決]]する旨の節が追加されています。

;; その節の Note によれば、 [[RFC 2396]] 的解釈をする[[処理器]]があるので、
[[同文書参照]]は[RUBYB[強く非推奨]@en[strongly discouraged]]であるとしています。

[13]
[CITE[XML Base -- Review Version]] <http://www.w3.org/XML/2006/11/xmlbase-2e/>
([[名無しさん]] [WEAK[2006-12-12 08:00:12 +00:00]])

[14]
[CITE[XML Base (Second Edition)]] <http://www.w3.org/TR/2006/PER-xmlbase-20061220/>
([[名無しさん]] [WEAK[2006-12-21 15:14:02 +00:00]])

[15] [[LEIRI]] 待ちで随分遅れたみたいですね。。。

[16] その後 [[LEIRI]] [[W3C]] [[WG Note]] が出版され、 [[XML基底]]第2版[[勧告]]はその
[[WG Note]] を参照する形になっています。 [[PER]] と微妙に意味は変わっていますが ([[IRI]]
の項を参照してください。)、大体の定義に変化はありません。

* XML 基底と他の仕様との関係

[3] [[XML]] 本体仕様は[[システム識別子]]で URI
に変換されるものを使っていますが、
その辺の規定は XML 基底によっては影響されません。
(詳しくは [[XML//URI]], [[XML//URI//基底]]を参照。)

[[XML情報集合]]では各情報項目の[CODE(XML)[ [基底 URI] ]]
(又は[CODE(XML)[ [宣言基底 URI] ]][[特性]]が関係します。

[[XML名前空間]]では基本的に XML 基底の影響は受けません。
詳しくは[[名前空間名]]を参照。

[[XPath]] 1.0, [[XSLT]] 1.0 は XML 基底に対応していません。
特に意識しなければ正しい基底 URI は得られません。
外部実体が絡む場合は絶望的です。

[[XMLSchema]] 第2部の規定する[[データ型]]
[CODE(XML)[[[uriReference]]]] は特に XML 基底との関係を述べていません。

[[XLink]] の解釈のためには XML 基底が必要です。
ちなみに XML 基底はもともと XLink の一部として考えられていました。

[[XHTML1]] と XML 基底との関係は規定されていません。
XML 基底とは互換性のない [CODE(HTML)[[[base]]]]
要素型があり、そちらが使われます。
[[XHTML2]] では [CODE(XML)[xml:base]]
属性が採用される予定です。

[[RDF//XML]] では、[INS[調べるべし]]
- [4] [[MathML]], [[SMIL]], [[SVG]], [[XQuery]], [[XPath2.0]], ...?