[1] XML Base <http://www.w3.org/TR/xmlbase/> は、 XML における基底URI に関する仕様書 (W3C 勧告) です。
この仕様書の規定で最も目を惹くのは xml:base
属性でしょう。この属性は、その要素の基底 URI
を特に指定するものです。
もちろん主体はこの属性でしょうが、それ以外にも、 この属性以外の要素と基底 URI との関係を詳しく規定している点が重要といえるでしょう。
[5] 現在では HTML文書も XML文書も、基底URLは XML Standard と HTML Standard で規定されています。
xml:base
[6] XML Base Disposition of Comments <http://www.w3.org/2000/06/xmlbase-comments-20000607>
[7] XML Base Disposition of Comments <http://www.w3.org/XML/2000/08/xmlbase-comments-20000810.html>
[9]
E01 2002年10月21日 <http://www.w3.org/2001/06/xmlbase-errata#E01>:
文書または外部実体
を文書実体または外部実体
に修正。
[10] E02 2003年1月23日 <http://www.w3.org/2001/06/xmlbase-errata#E02>: 既定属性に関する注記を追加:
xml:base
属性は指定するか、
または内部部分集合で宣言するべき。 ←元からあった基底URI
特性との齟齬が生じる可能性がある。 ←今回追加分[11]
E03 2004年3月2日 <http://www.w3.org/2001/06/xmlbase-errata#E03>:
妥当でないURI参照がxml:base
属性を使って与えられた要素の基底URIは、
応用依存。
[12] Errata in REC-xmlbase-20010627 <http://www.w3.org/2001/06/xmlbase-errata#E04> (名無しさん 2006-12-12 07:59:54 +00:00)
URL (のようなもの) の定義を RFC 2396 から RFC 2396 + XLink 1.1 WD のものに変更する旨ですが、実際の変更点は >>13 の 2e ED として示されています。
この際、 xml:base
属性値が空文字列や素片識別子のみの場合の意味は
RFC 2396 風に (基底URL に関わらず) その文書自体となるのではなく、
RFC 3986 同文書参照の通りその文脈の基底URL に照らして解決する旨の節が追加されています。
[13] XML Base -- Review Version <http://www.w3.org/XML/2006/11/xmlbase-2e/> (名無しさん 2006-12-12 08:00:12 +00:00)
[14] XML Base (Second Edition) <http://www.w3.org/TR/2006/PER-xmlbase-20061220/> (名無しさん 2006-12-21 15:14:02 +00:00)
[16] その後 LEIRI W3C WG Note が出版され、 XML基底第2版勧告はその WG Note を参照する形になっています。 PER と微妙に意味は変わっていますが (IRI の項を参照してください。)、大体の定義に変化はありません。
[3] XML 本体仕様はシステム識別子で URI に変換されるものを使っていますが、 その辺の規定は XML 基底によっては影響されません。 (詳しくは XML//URI, XML//URI//基底を参照。)
XML情報集合では各情報項目の [基底 URI]
(又は [宣言基底 URI]
特性が関係します。
XML名前空間では基本的に XML 基底の影響は受けません。 詳しくは名前空間名を参照。
XPath 1.0, XSLT 1.0 は XML 基底に対応していません。 特に意識しなければ正しい基底 URI は得られません。 外部実体が絡む場合は絶望的です。
XMLSchema 第2部の規定するデータ型
uriReference
は特に XML 基底との関係を述べていません。
XLink の解釈のためには XML 基底が必要です。 ちなみに XML 基底はもともと XLink の一部として考えられていました。
XHTML1 と XML 基底との関係は規定されていません。
XML 基底とは互換性のない base
要素型があり、そちらが使われます。
XHTML2 では xml:base
属性が採用される予定です。
RDF//XML では、調べるべし