[1] [DFN[[CODE(XMLa)@en[xml:base]]]] [[属性]]は、 [[XML]] の[[要素]]に[[基底URL]]
を指定します。

* [21] 仕様書

- [DEL[[[XML基底]]第1版 ([[W3C]] [[勧告]])]]
-- [6] [CSECTION@en[3 [CODE(XMLa)@en[xml:base]] Attribute]]
<http://www.w3.org/TR/2001/REC-xmlbase-20010627/#syntax>
-- [25] [CITE@en[Errata in REC-xmlbase-20010627]]
<http://www.w3.org/2001/06/xmlbase-errata#E01>
(詳細は[[XML基底]]の項を参照。)
- [[XML基底]]第2版 ([[W3C]] [[勧告]])
-- [80] [CSECTION@en[3 [CODE(XMLa)@en[xml:base]] Attribute]]
<http://www.w3.org/TR/2009/REC-xmlbase-20090128/#syntax>

* 属性値

** 第1版の定義

[44] '''適当な属性値'''

[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性値]]は、
''後述の処理の後に''[[RFC 2396]] [[URI参照]]として処理されます。
[SRC[XML基底 3]]

[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性値]]で使うことのできる[[文字]]は、
[[XML]]の一般の場合と同じです。 [SRC[XML基底 3.1]]

[[属性値]]から[[URI参照]]に変換するためには、
- [[非ASCII文字]]
- [CODE(char)@en[[[U+0000]]]]〜[CODE(char)@en[[[U+0020]]]]
- [CODE(char)@en[[[U+007F]]]]
- [CODE(char)[[[<]]]], [CODE(char)[[[>]]]],
[CODE(char)[[["]]]], [CODE(char)[[[{]]]], [CODE(char)[[[}]]]],
[CODE(char)[[[|]]]], [CODE(char)[[[\]]]], [CODE(char)[[[^]]]],
[CODE(char)[[[`]]]]

を[[UTF-8]]で[[百分率符号化]]します。 [SRC[XML基底 3.1]]

;; 詳しくは[[XML//URI]]および[[IRI]]の項を参照。

[52] '''RFC 3986との関係'''

[[RFC 3986]]の新しい構文では、[[命名権者]]部に[[百分率符号化]]や新しい[[IP番地]]のための構文が認められていますが、
[[RFC 2396]]や[[RFC 2732]]では認められていません。
[[XML基底]]仕様を厳密に運用するなら、
[[RFC 3986]]の[[URI参照]]の一部は[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性値]]に使えません。

;; ただし、 >>40 の規定により、 [[RFC 3986]]
に従って解釈する実装も不適合にはなりません。

[53] '''RFC 3987との関係'''

[[RFC 3987]]も[[RFC 3986]]にあわせた新しい構文を採用していますから、
[[XML基底]]仕様を厳密に運用するなら、
[[RFC 3987]]の[[IRI参照]]の一部は[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性値]]に使えません。

;; ただし、 >>40 の規定により、 [[RFC 3987]]
に従って解釈する実装も不適合にはなりません。

;; なお、 >>44 の[[URI参照]]に変換するために[[逃避]]しなければならない[[文字]]の種類は、
[[RFC 3987]]の[[算法]]で規定されたものと一致しています。

;; 
[45]
[[XML基底]] 3では[[RFC 2396]] [[URI参照]]として解釈するとしていますが、
同3.1の[[逃避]]に関する[[RFC 2732]]も参照しています。
字面通り厳密に解釈すると結局[[RFC 2732]]拡張は使えないことになってしまいますが、
本当にそれでよいのでしょうか。[[RFC 3986]]が発行された今、
早急に改訂するべきです。

[2] [CODE(XMLa)[xml:base]] 属性の値の定義は 
[Q[URI 参照と解釈されるもの]]ですから、
[CODE(URI)[#]] + [[素片識別子]]をつけても構いません。
(あまり意味は無いですが。)

[75]
実のところ、[[XML基底]]仕様書には、
[CODE(XMLa)@en[[[xml]]:[[base]]]] [[属性値]]がある処理の後 [[RFC 2396]]
[[URI参照]]として''処理される'' (実装に。) という説明があるだけで、
[[著者]]が [CODE(XMLa)@en[[[xml]]:[[base]]]] [[属性]]にどのような値を指定してよいのか、
どのような値を指定することが期待されているのかがまったく規定されていません。

** 第2版の定義

[84] [[属性値]]は [[W3C]] [[WG Note]] で定義される [[LEIRI]] として解釈されます
[SRC@en[[[XML基底]] 第2版 3.]]。

[85] ここでいう「[[LEIRI]]」は例示や文脈から鑑みて「[[LEIRI参照]]」のつもりと思われます。

[86] 相変わらず、「解釈される」というだけで、[[著者]]に対する要件はないみたいです。

;;
[88] 
歴史的経緯や各定義間の差異など詳しくは [[IRI]] の項を参照してください。

* 文脈

[19] [[XML Base]] 仕様書としては任意の [[XML]] [[マーク付け言語]]で利用されることを想定しているのでしょうが、
かといってすべての [[XML]] [[マーク付け言語]]で利用できると規定しているわけではありません。

[22] かつては [[Web]] でも一部で利用・実装されており、 [[HTML Standard]] や
[[DOM Standard]] にも関係する規定がありました。しかしほとんど需要がないにも関わらず実装と仕様を複雑にするものであり、
2015年には削除されています。

[26] [[RDF/XML]] では仕様に組み込まれており、 [CODE(XMLa)@en[[[xml:base]]]]
に対応する必要があります。

[27] [[Atom]] では理論上は [CODE(XMLa)@en[[[xml:base]]]] に対応する必要がありますが、
実際にも使われているのかどうかは明らかではありません ([[RSS]] では[[絶対URL]]
が使われていました)。

* 処理

[42] '''意味不定の場合'''

- [43] [[XML基底]]仕様を直接または間接に参照する[[応用]]''以外''では、
[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性]]の動作は未定義です。
[SRC[XML基底 1]]
- [40] 値が[[妥当]]な[[URI参照]]にならない場合の動作は、
[[応用]]依存です。 [SRC[XML基底正誤表 E03]]

[20] >>40
(>>2 の絡みで、厳密には[Q[URI 参照と解釈できない場合]]とでもしないといけないと思うのですが...)

** 基底URIの算出

[46] [SRC[XML基底 4]]
- ある[[要素]]の[[基底URI]]は、次の順に決定します。
== その[[要素]]に[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性]]があれば、
それによって指定された[[基底URI]]。
== 同じ[[文書実体]]または[[外部実体]]中に[[親要素]]があれば、
その[[基底URI]]。
== その[[要素]]が含まれる[[文書実体]]または[[外部実体]]の[[基底URI]]。
- [[要素]]中の文字列[[内容]]の[[基底URI]]は、
その[[要素]]の[[基底URI]]です。
- [CODE(XMLa)@en[[[xml]]:[[base]]]][[属性]]の[[基底URI]]は、
次の順に決定します。
== 同じ[[文書実体]]または[[外部実体]]中に[[親要素]]があれば、
その[[基底URI]]。
== その[[要素]]が含まれる[[文書実体]]または[[外部実体]]の[[基底URI]]。
- その他の[[属性]]の[[基底URI]] ([[既定属性]]を含みます。)
の[[基底URI]]は、その付されている[[要素]]の[[基底URI]]です。
- [[処理指令]]の[[内容]]の[[基底URI]]は、
次の順に決定します。
== 同じ[[文書実体]]または[[外部実体]]中に[[親要素]]があれば、
その[[基底URI]]。
== その[[要素]]が含まれる[[文書実体]]または[[外部実体]]の[[基底URI]]。
- [[文字]]、[[内部実体]]、[[属性]]に個別に[[基底URI]]を指定する方法はありません。

[47] [[システム識別子]]における[[基底URI]]については、
[[XML]]の仕様書に規定があります。
([[XML//URI//基底]]の項を参照。)

[48] [CODE(XML)@en[[[xmlns]]]]系[[属性]]については特に例外が規定されていないので、
>>46 の原則通りになりますが、[[名前空間URI]]が[[絶対URI参照]]で''ない''時にどう処理されるのかは[[XML]]系仕様書では定義していません。
[SRC[XML基底 附属書C (参考)]]

[[#comment]]


** 相対参照の解決

[49] [[XML基底]]仕様書には[CSECTION@en[4 Resolving Relative URIs]]という章がありますが、
[[基底URI]]の決定方法の説明だけで、[[相対URI参照]]の[[解決]]の方法は何ら規定していないようです。

[[XML基底]]仕様からの引用規格に[[RFC 2396]]および[[RFC 2732]]がありますし、
本文中でも再三引用されていますから、それらで定義された方法で[[解決]]すると解釈するのが自然でしょう。

[50] '''RFC 3986との関係'''

[[RFC 3986]]の[[相対参照]]の[[解決]]方法には[[RFC 2396]]のものと違いがあります。
問題となる変更点は2つあります。
- [[素片識別子]]''だけ''の[[参照]]
-- [[RFC 2396]]における[[素片識別子]]''だけ''の[[URI参照]]は、
同じ[[文書]]内での[[参照]]です。[[基底URI]]に対してではなく、
[[文書]]自体に対して解釈されます。
-- [[RFC 3986]]における[[素片識別子]]''だけ''の[[URI参照]]は、
[[基底URI]]に対するものとして解釈されます。
- 非階層的[[URI]]
-- [[RFC 2396]]では、[[相対URI]]は階層的な[[URI]]に関して定義されており、
[[基底URI]]が階層的でない場合は使うことができません。
-- [[RFC 3986]]では、どんな[[URI]]に対しても[[相対参照]]とその[[解決]]方法が定義されています。

;; 
[54]
[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性]]の[[基底URI]]が[[RFC 2396]]によれば階層的ではなく、[[相対URI]]を使えないにも関わらず、
[[属性値]]が[[相対URI]]の場合はどうなるのでしょうか。
>>40 が適用されるのでしょうか。
(その場合は[[RFC 3986]]の動作をしても[[適合]]します。)

;; [[XML基底]]を参照する仕様の1つ、[[RDF/XML]] (2004年版)
は、[[RFC 2396]]の[[同文書参照]]も[[基底URI]]に対して解釈すると規定しています。

;; [CITE[RDF/XML Syntax Specification (Revised)]] 
<http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#section-baseURIs>

[87] [[XML基底]]第1版正誤票 E04 および [[XML基底]]第2版[[勧告]]では、
[[RFC 3986]] 的解釈に従い、[[同文書参照]]であっても[[基底URL]] に基づき解釈する旨が規定されています。
ただし、 Note として、 [[RFC 2396]] 的に[[文書]]の [[URL]]
に基づく[[処理器]]が存在するため、[[同文書参照]]を [CODE(XMLa)@en[[[xml:base]]]]
[[属性]]で使うことは「[RUBYB[強く非推奨]@en[strongly discouraged]]」とされています。

[51] '''RFC 3987との関係'''

>>44 の通り、[[IRI参照]]の多くはそのまま[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性値]]として使うことができますが、
[[逃避]]して[[URI参照]]にして処理すると定義されていますから、
[[解決]]は[[IRI参照]]としてではなく、変換後の[[URI参照]]として行われます。

[[#comment]]


** XML名前空間およびスキーマとの関係

[41] '''XML名前空間を使わない場合'''

[[XML名前空間]]を使わない場合、
[[名前]]が[CODE(XMLa)@en[[[xml]]:[[base]]]]の[[属性]]を使うことができます。
[SRC[XML基底 3]]

[3] '''XML名前空間を使う場合'''

[[XML名前空間]]を使う場合、
[[名前空間名]]が[CODE(URI)@en[[[http://www.w3.org/XML/1998/namespace]]]]
([[名前空間接頭辞]]は[CODE(XML)@en[[[xml]]]])
で[[局所名]]が[CODE(XMLa)@en[[[base]]]]の[[属性]]を使うことができます。
[SRC[XML基底 3]]

[24]
[[XML基底]]仕様書にも注記がありますが、 
[CODE(XMLa)[xml:base]] 属性に DTD 
や外部スキーマで初期値が設定されていると、
[[妥当性]]を検証しない処理器などで正しい値が得られませんから、好ましくありません。

[11] >>5 ですから、既定値は DTD の内部部分集合で指定するか、
又は直接指定する'''べき'''だとされています。 
(<http://www.w3.org/TR/xmlbase/#matching>, <http://www.w3.org/2001/06/xmlbase-errata>)

[55] '''XML Schemaによる定義'''

[[XML Schema]]による定義 <http://www.w3.org/2001/xml.xsd>
(執筆時点での最新版は <http://www.w3.org/2005/08/xml.xsd>)
では、[CODE(XMLa)@en[[QN[[[xml]]:[[base]]] [http://www.w3.org/XML/1998/namespace]]]][[属性]]は[[データ型]][CODE(XML)@en[[QN[xs:[[anyURI]]] [http://www.w3.org/2001/XMLSchema]]]]として[[宣言]]されています。
また、[[属性集合]][CODE(XML)@en[[QN[[[xml]]:[[specialAttrs]]] [http://www.w3.org/XML/1998/namespace]]]]
に含まれています。

[[#comment]]


** 各種データ・モデルとの関係

[29] [[XML情報集合]]は、 XML 基底仕様書の規定に基づく[[要素情報項目]]の
[CODE(infoprop)[[[基底URI]]]] 特性を定義しています。
>>25 の E02 の通り、一旦情報集合を構築してしまった後は [CODE(XMLa)[xml:base]]
属性情報項目と [CODE(infoprop)[基底 URI]] 特性は切り離されてしまいます。

[30] [[DOM 3]] の [CODE(DOMi)[[[Node]]]] 界面の [CODE(DOMa)[[[baseURI]]]]
属性は基底 URI を保持しています。
XML 情報集合の [CODE(infoprop)[基底 URI]] とは異なり、
[CODE(DOMa)[baseURI]] の値は (XML 基底仕様書に基づく) 計算により求めます。
[CODE(XMLa)[xml:base]] 属性節と [CODE(DOMa)[baseURI]] は同期しています。

[59]
[CODE(InfoProp)[[[基底URI]]]]と[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性]]では、
[CODE(InfoProp)[[[基底URI]]]]の方を優先して[[相対参照]]の[[解決]]に使うべきとされています。
[SRC[XML情報集合 1]]

([[名無しさん]])

[60]
[CODE(InfoProp)[[[基底URI]]]]と[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性]]では、
[CODE(InfoProp)[[[基底URI]]]]の方を優先して[[相対参照]]の[[解決]]に使うべきとされています。
[SRC[XML情報集合 1]]

([[名無しさん]])

[61]
[CODE(InfoProp)[[[基底URI]]]]と[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性]]では、
[CODE(InfoProp)[[[基底URI]]]]の方を優先して[[相対参照]]の[[解決]]に使うべきとされています。
[SRC[XML情報集合 1]]

([[名無しさん]])

[[#comment]]


** 応用言語と xml:base 属性

[23]
[CODE(XMLa)[xmlns]] 系属性の値も URI 参照
(XML 名前空間 1.1 では [[IRI参照]]) で、相対 URI
参照である可能性があります (常識的な仕様とは思えません:))。
[WEAK[(一応今では非推奨になっています。)]]
しかしこの URI/IRI 参照は単なる識別子で、
解決する必要があるものではありませんから、そのまま扱います。
但しその名前空間 URI/IRI 参照をたどってみる場合には 
[CODE(XML)[xml:base]] 属性の値を使って解決するのも勝手だそうです。

(そういえば XML 基底では IRI 参照の解決の方法は書かれていない。
そのうち改訂されるのか? それとも IRI 参照を解決する時には
URI 参照に変換するのか?)

[4] [[XHTML]] の使用については XML Base 
仕様書は参考で曖昧なことを書いています。
実際のところ W3C の [[XHTML 1]] の [[DTD]]
には[CODE(XMLa)[xml:base]] 属性は定義されていませんから、
そのままでは使えません。

[[XHTML 2.0]] [[WD]] では明確に使用できると定義されています。

[5] XML Base を使用できると明記していない仕様では、 XML Base
対応 [[UA]] と非対応 UA で挙動が異なることになるので無理して使用しない方が良いと思われます。

[[#comment]]


*** xml:base 属性 (XML 型録)

[12] [[XML]] [[型録]]のほとんどの要素型
([[名前空間名]]が
[CODE(URI)[[[urn:oasis:names:tc:entity:xmlns:xml:catalog]]]]
及び
[CODE(URI)[[[urn:oasis:names:tc:entity:xmlns:tr9401:catalog]]]]
の全ての要素型。但し、 [CODE(XML)[[[rewriteSystem]]]],
[CODE(XML)[[[rewriteURI]]]] 両要素型を除く。) では
[CODE(XML)[xml:base]] 属性が使えます。
<http://www.oasis-open.org/committees/entity/spec.html#attrib.common>

[13] 唯二つ使えない両要素型も、 URI 参照を値に持つ
[CODE(XML)[[[rewritePrefix]]]] 属性を持っているのに
[CODE(XML)[xml:base]] 属性が無いのは不可解です。

これらの両要素型の [CODE(XML)[rewritePrefix]] 属性、
仕様書本文中の定義では [CODE[uri-reference]]
になっていますし、本文中の説明でも相対 URI
はその場の基底 URI で解決することになっていますが、
[[DTD]] では URI 参照ではなく単なる文字列になっています。
[WEAK[(もちろん実際の型は [CODE(XML)[[[CDATA]]]] ですが、[[引数実体]]を使って型が擬似的に示してあります。あと、 DTD でなくても [[XML Schema]] も示してありますが、こちらも同じ状況です。)]]

もしかしたら [CODE(XML)[rewritePrefix]] では URI
としては不正な値 [WEAK[([SAMP(URI)[http://foo.]] とか。)]]
も認めたかったから文字列型にしたのかもしれません。
でもなんだかなあ。

[[#comment]]


*** [CODE(XMLa)@en[xml:base]] 属性 (Atom)

[62]
[[Atom 1.0]] や [[AtomPub]] や [[RFC 6721]] で定義されているすべての[[要素]]には、[[XML基底]]で規定された
[CODE(XMLa)@en[[QN[[[xml]]:[[base]]] [http://www.w3.org/XML/1998/namespace]]]][[属性]]を持って'''構いません'''。
[[RFC 3986]] にある[[基底URI]] ([[基底IRI]])
として使われます。

**** 仕様書

[REFS[
- [103] [[RFC 4287]] <http://tools.ietf.org/html/rfc4287> 
-- [CSECTION@en[2. Atom Document]]
- [104] [CITE@en[RFC 5023 - The Atom Publishing Protocol]] ([TIME[2008-11-20 18:52:14 +09:00]] 版) <http://tools.ietf.org/html/rfc5023#section-2.1.3>
- [105] [CITE@en[RFC 6721 - The Atom "deleted-entry" Element]] ([TIME[2012-12-31 01:08:20 +09:00]] 版) <http://tools.ietf.org/html/rfc6721#page-4>
]REFS]

**** メモ

[63]
>>62 [[RFC 2396]]を参照する[[XML基底]]仕様を参照しながら、
[[RFC 3986]]の機能を持つといい、[Q@en[or [[IRI]]]]
とまで書いていますが、いったいどう理解しろというのでしょう。

** 歴史

[7] XML Base は [[XLink]] 
と一緒に開発されたものの汎用性を持たせるべく独立した仕様となったそうです。

* 関連

[81] 
[[HTML]] では [CODE(HTMLe)@en[[[base]]]] [[要素]]に [CODE(HTMLa)@en[[[href]]]]
[[属性]]を指定することによって[[文書]]の[[基底URL]] を指定することができます。
[CODE(XMLa)@en[[[xml:base]]]] [[属性]]はこの [CODE(HTMLe)@en[[[base]]]]
[[要素]]を参考に、より汎用的なものとして設計されたようです [SRC@en[[[XML基底]] 1.]]。

[82] [[HTML]] にはその他に [CODE(HTMLa)@en[[[codebase]]]] [[属性]]もあり、
それも[[基底URL]] を指定するものとして説明されています。

[36]
[[P3P]] に[[基底URI]] を指定するための [CODE(XMLa)[base]] 属性があります。

[83] 
[[HTTP]] には[[実体]]の[[基底URL]] を指定するための [CODE(HTTP)@en[[[Content-Base:]]]] 欄、
[CODE(HTTP)@en[[[Base:]]]] 欄や、[[基底URL]]を指定する役割も果たすことになっている
[CODE(HTTP)@en[[[Content-Location:]]]] 欄があります。 [[MIME]]
にも [CODE(MIME)@en[[[Content-Base:]]]] 欄や [CODE(MIME)@en[[[Content-Location:]]]]
欄があります。

* 例

[89] [CITE[『ジオどす』 京都通り名住所検索 ジオコーダー - 京都通り名ジオコーダーAPI『ジオどす』]] ([TIME[2009-03-24 23:51:35 +09:00]] 版) <http://geodosu.com/rss.xml>

>
[PRE(XML example code)[
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://geodosu.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
]PRE]

[[RSS 2.0]] で[[根要素]]に [CODE(XMLa)@en[[[xml:base]]]] [[属性]]を指定している例です。

* メモ

[9] XML 基底を使うとして、
[PRE(XML)[
<doc xml:base="http://foo.example/dir1/">
<style type="text/css" xml:base="http://foo.example/dir2/">
@import 'foo.css';
</style>
</doc>
]PRE]

の [SAMP(URI)[foo.css]] は [SAMP(URI)[dir2]]
からの相対 URI として解釈されるのかな?
(要素の内容だから。)

[10] HTML で
[PRE(HTML)[
<!-- base = <http://foo.example/dir1/> -->
<head>
<base href="http://foo.example/dir2/"/>
<style type="text/css">
@import 'foo.css';
</style>
</head>
]PRE]

は >>9 と同じように解釈されるのかなあ??

[31]
[CITE[XInclude, xml:base, and validation]] <http://norman.walsh.name/2005/04/01/xinclude>

[[XInclude]] の処理に伴って
[CODE(XMLa)[[[xml]]:[[base]]]] [[属性情報項目]]が追加されると[[妥当性検証]]に影響がでかねないという問題
([CODE(XMLa)[[[xml]]:[[lang]]]] でも)。

([[名無しさん]])

[32]
[CITE[2005 / 04 / 04: .NET developers want inconsistent schema validity on xml:* attributes?]] <http://monkey.workarea.jp/lb/archive/2005/4-04.html>

>>31 の問題で予想通り(藁) [CODE(XMLa)[[[xml]]:[VAR[*]]]]
は[[妥当性検証]]で無視すればよいという意見が出ていることに対して、
それでは [CODE(XMLa)[[[xml]]:[[lang]]]]
の値を制約したりできなくなるというおはなし。
([[名無しさん]] [WEAK[2005-04-05 00:21:13 +00:00]])

[56]
[[正準XML]] (1.0) 仕様によって特定の[[要素]]以下を[[直列化]]する際には、
[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性]]を含め、
[CODE(XML)@en[[[xml]]]][[名前空間]]に属する[[属性]]がその[[要素]]の[CODE(XPath)@en[[[ancestor-or-self]]]]のうちの一番近くにあるものが[[指定]]されます。
[SRC[正準XML 2.4]]

([[名無しさん]])

[57]
[[排他的XML正準化 1.0]]仕様では >>56 の規定を適用しないことになっています。
([[名無しさん]])

[58]
[[XInclude]]では[CODE(InfoProp)[[[基底URI]]]]との整合性を保持するために[CODE(XMLa)@en[[[xml]]:[[base]]]][[属性]]を追加することがあります。
([[名無しさん]])

[70]
[CITE@en[xml:base in M12N]] ([[Shane McCarron]] 著, [CODE[2007-07-13 21:52:09 +09:00]] 版) <http://lists.w3.org/Archives/Public/public-xhtml2/2007Jul/0024.html>
([[名無しさん]])

[73]
[CITE@EN[XML Base (Second Edition)]] ([CODE[2008-03-20 00:21:54 +09:00]] 版) <http://www.w3.org/TR/2008/PER-xmlbase-20080320/>
([[名無しさん]])

[74]
[CITE[Re: Issues concerning the <base> element and xml:base]] ([[Ian Hickson <ian@...>]] 著, [CODE[2008-02-13 01:15:07 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/13246>

[76] 
[[Firefox]] でも [[Opera]] でも、 [CODE(XMLa)@en[[[xml]]:[[base]]]] [[属性]]の値は
([[LEIRI]] ではなく) [[HTML5]] [[URL]] として処理されるようです。

;; [CITE[Index of /~wakaba/-temp/test/uri/leiri/xmlbase]] ([TIME[2008-11-18 20:42:03 +09:00]] 版) <http://suika.fam.cx/~wakaba/-temp/test/uri/leiri/xmlbase/>

;; [[Safari]] は[[空文字列]]な[[相対参照]]を [CODE(JS)@en[[[document]].[[URL]]]]
とみなすらしく ([[RFC 2396]] 時代の解釈)、 [[LEIRI]] か [[URL]]
か判断するいい方法が思いつきませんでした。

[77] [[Opera]] は [CODE(XMLa)@en[xlink:[[href]]]] [[属性]]の値を [[URL]]
ではなく [[LEIRI]] として処理するようですけど、これって多分、
[[基底URL]] は無変換で素通しして、最後に [[URL]] を使う場面でだけ [[HTML]]
か [[SVG]] かで処理を分けているんじゃ''なく''、
[[基底URL]] の段階で [[URI]] 化してるってことですよね。

[[#comment]]




* メモ

[78] [CITE[SMIL 3.0 Metainformation]] ([TIME[2008-12-02 00:45:09 +09:00]] 版) <http://www.w3.org/TR/2008/REC-SMIL3-20081201/smil-metadata.html#edef-meta>

[79] [CITE[Document Structure – SVG Tiny 1.2]] ([TIME[2008-12-20 02:31:29 +09:00]] 版) <http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/struct.html#XMLBaseAttribute>

[[RFC 3987]] [[IRI参照]]

[90] [CITE[XProc: An XML Pipeline Language]]
([TIME[2010-05-11 22:38:07 +09:00]] 版)
<http://www.w3.org/TR/2010/REC-xproc-20100511/#xml-base-attribute>

[91] [CITE@en[Speech Synthesis Markup Language (SSML) Version 1.1]]
( ([TIME[2010-09-08 00:26:19 +09:00]] 版))
<http://www.w3.org/TR/2010/REC-speech-synthesis11-20100907/#S3.1.3>

[93] [CITE@en[XFrames]]
( ([TIME[2010-12-17 00:45:08 +09:00]] 版))
<http://www.w3.org/TR/2010/NOTE-xframes-20101216/#s_frames-element>

[96] [CITE[Document Structure – SVG 1.1 (Second Edition)]]
( ([TIME[2011-08-10 12:35:27 +09:00]] 版))
<http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#Core.attrib>

[98] [CITE@en[Web Applications 1.0 r7267     Narrow the scope of the xml:base ban to HTML elements. If SVG wants to allow them, e.g., that's up to them.]]
( ([TIME[2012-08-25 04:02:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7266&to=7267>

[100] [CITE[IRC logs: freenode / #whatwg / 20130212]]
( ([TIME[2013-02-16 18:57:01 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20130212#l-368>

[101] [CITE@en-US[XBL 2.0]]
( ([TIME[2012-05-03 02:23:03 +09:00]] 版))
<http://dev.w3.org/2006/xbl2/Overview.html#rules-for-shadow-content-generation>

[102] [CITE@en-US[XBL 2.0]]
( ([TIME[2012-05-03 02:23:03 +09:00]] 版))
<http://dev.w3.org/2006/xbl2/Overview.html#shadow-content-and-xmlbase>

[106] [CITE@en[Bug 20976 – Define Node.baseURI properly]]
( ([TIME[2013-10-30 20:54:19 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=20976#c5>

[107] [CITE@en[903372 – Remove support for xml:base]]
( ([TIME[2013-10-30 20:55:33 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=903372>

[108] [CITE[Bug 17423 – ER: Add support for xml:base]]
( ([TIME[2013-11-10 02:33:35 +09:00]] 版))
<https://bugs.webkit.org/show_bug.cgi?id=17423>

[109] [CITE@en-gb[Tiny Tiny RSS • View topic - xml:base support in atom feed]]
( ([TIME[2013-11-18 08:26:12 +09:00]] 版))
<http://www.tt-rss.org/forum/viewtopic.php?t=2372>

[110] [CITE@en-gb[Tiny Tiny RSS • View topic - Problem with Tim Bray's ongoing blog]]
( ([TIME[2013-11-18 08:31:03 +09:00]] 版))
<http://tt-rss.org/forum/viewtopic.php?f=1&t=2310>

[111] [CITE@en-US[XML Binding Language (XBL) 2.0]]
( ([TIME[2007-03-16 22:20:16 +09:00]] 版))
<http://www.w3.org/TR/2007/CR-xbl-20070316/#rules>

[112] [CITE@en-US[XML Binding Language (XBL) 2.0]]
( ([TIME[2007-03-16 22:20:16 +09:00]] 版))
<http://www.w3.org/TR/2007/CR-xbl-20070316/#shadow1>

[113] [CITE@en[RDF 1.1 XML Syntax]]
( ([TIME[2014-04-25 12:18:21 +09:00]] 版))
<https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-xml/index.html#h3_section-baseURIs>

[114] [CITE@en[RFC 7303 - XML Media Types]]
( ([TIME[2014-07-07 20:56:43 +09:00]] 版))
<http://tools.ietf.org/html/rfc7303#section-6>

[8] [CITE[IRC logs: freenode / #whatwg / 20150130]]
([TIME[2015-01-31 13:00:47 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20150130#l-417>

[14] [CITE@en[Proposals/dropxmlattributes - SVG]]
([TIME[2015-01-30 22:52:07 +09:00]] 版)
<https://www.w3.org/Graphics/SVG/WG/wiki/Proposals/dropxmlattributes>

[15] [CITE[Issue 341854 - chromium - Remove vestigal xml:base support - An open-source project to help move the web forward. - Google Project Hosting]]
([TIME[2015-01-31 13:04:51 +09:00]] 版)
<https://code.google.com/p/chromium/issues/detail?id=341854>

[16] [CITE@en[903372 – Remove support for xml:base]]
([TIME[2015-02-26 11:36:51 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=903372>

[17] [CITE@en[20976 – Define base URLs in DOM]]
([TIME[2015-08-04 13:48:30 +09:00]] 版)
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=20976>

[18] [CITE@en[Remove xml:base dependency · whatwg/html@56f4346]] ([TIME[2015-09-03 23:43:41 +09:00]] 版) <https://github.com/whatwg/html/commit/56f4346ec71b2dc138038ce6512b626d6c563e00>


[FIG(quote)[
[FIGCAPTION[
[28] ( ([TIME[2016-05-05 02:17:44 +09:00]]))
<http://www.fdj.com/feed/atom>
]FIGCAPTION]

> <?xml version="1.0" encoding="UTF-8"?><feed
>   xmlns="http://www.w3.org/2005/Atom"
>   xmlns:thr="http://purl.org/syndication/thread/1.0"
>   xml:lang="ja"
>   xml:base="http://www.fdj.com/wp-atom.php"
>    >

]FIG]


[33] [CITE@en[XProc 2.0: An XML Pipeline Language]]
([TIME[2016-07-21 14:35:49 +09:00]])
<https://www.w3.org/TR/2016/NOTE-xproc20-20160721/#xml-base-attribute>

[34] ([TIME[2016-10-21 13:07:58 +09:00]])
<http://www.niso.org/apps/group_public/download.php/15933/z39_96-2015.pdf>

[FIG(quote)[
[FIGCAPTION[
[35] [CITE@en[AMP HTML Specification – AMP]]
([TIME[2018-02-14 10:04:22 +09:00]])
<https://www.ampproject.org/docs/reference/spec>
]FIGCAPTION]

> XML-related attributes, such as xmlns, xml:lang, xml:base, and xml:space are disallowed in AMP HTML.

]FIG]


[37] [CITE@en-US[Display objects (e.g. figures, tables, and boxed text) – JATS4R]]
([TIME[2020-10-28T09:34:58.000Z]], [TIME[2020-10-28T09:37:21.976Z]])
<https://jats4r.org/display-objects-figures-tables-boxed-text-etc/>