<html xmlns="http://www.w3.org/1999/xhtml" a0:Name="SuikaWiki" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:Version="0.9"><head></head><body><p><a0:anchor-end a0:anchor="1">[1]</a0:anchor-end> <a0:anchor>HTML</a0:anchor> <a0:anchor>文書</a0:anchor>中の<a0:anchor>相対URI</a0:anchor>は、
<a0:anchor-external a0:resParameter="HTML4:&quot;struct/links.html#resolving-relative-uris&quot;" a0:resScheme="IW">IW:HTML4:&quot;struct/links.html#resolving-relative-uris&quot;</a0:anchor-external>
によりますと、次の優先順序で決定される<dfn><a0:anchor>基底URI</a0:anchor></dfn>
によって<a0:anchor>解決</a0:anchor>します。</p><ol><li><code class="HTMLe"><a0:anchor>base</a0:anchor></code> 要素があれば、
その <code class="HTMLa"><a0:anchor>href</a0:anchor></code> 属性の値</li><li><a0:anchor>HTTP</a0:anchor> の<a0:anchor>頭欄</a0:anchor>などのプロトコルの解釈で得られる値があれば、それ</li><li>現在の文書の URI</li><li>以上で基底 URI が決定できない場合には、
その HTML 文書は誤っていると考えられる</li></ol><p>なお、 <code class="HTMLe">base</code> 属性の
<code class="HTMLa">href</code> 属性は<a0:anchor>絶対URI</a0:anchor>
とすることになっています。</p><p><a0:anchor-end a0:anchor="2">[2]</a0:anchor-end> 例外的に、 <code class="HTMLa"><a0:anchor>codebase</a0:anchor></code>
属性がある要素の特定の属性では、
URI 参照を解決する際には、 <code class="HTMLa">codebase</code>
属性があればそれを、なければ文書の基底
URI を使います。</p><p><code class="HTMLa">codebase</code> 属性の影響する属性:<ul><li><code class="HTMLe"><a0:anchor>object</a0:anchor></code> 要素<ul><li><code class="HTMLa"><a0:anchor>archive</a0:anchor></code> 属性</li><li><code class="HTMLa"><a0:anchor>classid</a0:anchor></code> 属性</li><li><code class="HTMLa"><a0:anchor>data</a0:anchor></code> 属性</li></ul></li><li><code class="HTMLe"><a0:anchor>applet</a0:anchor></code> 要素<ul><li><code class="HTMLa"><a0:anchor>archive</a0:anchor></code> 属性</li><li><code class="HTMLa"><a0:anchor>code</a0:anchor></code> 属性</li><li><code class="HTMLa"><a0:anchor>object</a0:anchor></code> 属性</li></ul></li></ul></p><p><a0:anchor-end a0:anchor="3">[3]</a0:anchor-end>
<code class="HTMLe">base</code> 要素は <code class="HTMLe"><a0:anchor>head</a0:anchor></code> 要素内の他の参照を持つ要素より前に来ないといけないことになっています。ところが、 <code class="HTMLe">head</code> 要素には <code class="HTMLa"><a0:anchor>profile</a0:anchor></code> 属性にはあって、その中に URI を入れることができます。
<code class="HTMLa">profile</code> 属性には相対 URI 参照は使わない方が安全です。</p><p><a0:anchor-end a0:anchor="3">[3]</a0:anchor-end> <a0:anchor>XHTML</a0:anchor> で <code class="HTMLe">base</code> 要素を使ったときに、 XHTML 以外の語彙にどのような影響が出るのかは分かりません。危険ですから使わないほうがいいでしょう。</p><p>また、 <code class="XMLa"><a0:anchor>xml</a0:anchor>:<a0:anchor>base</a0:anchor></code> 属性は、対応している <a0:anchor>XHTML1</a0:anchor> <a0:anchor>UA</a0:anchor> はどれだけあるか分かりませんし、 <code class="HTMLe">base</code> 要素がどう影響するか分かりませんから、使わないほうがいいでしょう。
(<a0:anchor>名無しさん</a0:anchor>)</p></body></html>