[9] [[HTML]] の [CODE(HTMLe)[[[base]]]] 要素の [DFN[[CODE(HTMLa)[href]] 属性]]は、その HTML 文書内の[[相対URI参照]]を解決する際に使用する[[絶対URI]] を指定します。 [10] 仕様書: - [[HTML 2.0]]: [[RFC 1866]] 5.2.2. Base Address: BASE - [[HTML 4]] [CODE(HTMLa)[href]] [[#comment]] ** 属性値 [11] この属性は [CODE(SGML)[%[[URI]]]] ([[絶対URI参照]]) で、 [[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。 更に仕様書本文で絶対 URI に限定されています [SRC[HTML 2.0, HTML 4]]。 HTML 4 仕様書は[[素片識別子]]について全体的に曖昧で、 [CODE(HTMLe)[base]] [CODE(HTMLa)[href]] に素片識別子を含めて構わないのか否かは不明です。 (あってもなくても機能的に変わらないのですが。) RFC 1866 (HTML 2.0) も曖昧なところはありますが、 こちらは素片識別子は含まない[Q[絶対 URI]] である可能性が高そうです。 [12] 省略の可否: :HTML 2.0 (RFC 1866):必須。 :HTML 4 Strict:必須。 :HTML 4 Transitional:省略可能。 (その場合 [CODE(HTMLa)[[[target]]]] がないと [CODE(HTMLe)[base]] が意味を成さないのですが、仕様書には言及がありません。) :XHTML 1.0 FE:省略可能。 :XHTML 1.0 SE Strict:必須。 * 文脈 [26] [CODE(HTMLa)@en[[[href]]]] [[属性]]のある [CODE(HTMLe)@en[[[base]]]] [[要素]]は、 [[URL]] を値として持つ[[属性]]より前になければ[['''なりません''']] [SRC[[[HTML]]]]。ただしこれには幾つか例外があります。 - [27] [[システム識別子]]の値は [[URL]] であり、また[[公開識別子]]も値が [[URL]] となることがありますが、 これらは[[属性]]ではありませんから対象外です。 - [28] [CODE(XMLa)@en[[[xml-stylesheet]]]] [[処理指令]]には [CODE(XMLa)@en[[[href]]]] [[擬似属性]]がありますが、これは[[属性]]ではありませんから対象外です。 - [29] [CODE(HTMLe)@en[[[html]]]] [[要素]]の [CODE(HTMLa)@en[[[manifest]]]] [[属性]]は対象外です。 [SRC[[[HTML]]]] - [30] [CODE(HTMLe)@en[[[head]]]] [[要素]]の [CODE(HTMLa)@en[[[profile]]]] [[属性]]は既に廃止されていますが、 対象外と考えられます。 [SRC[[[OBSVOCAB]]]] - [32] [CODE(XMLa)@en[[[xmlns]]]] [[属性]]群の値は [[URL]] ですが、これは[[解決]]されることが無く、対象外と思われます。 - [31] [CODE(HTMLe)@en[[[html]]]] [[要素]]や [CODE(HTMLe)@en[[[head]]]] [[要素]]には [CODE(XMLa)@en[[[xml:base]]]] [[属性]]を指定できますが、これは対象内かもしれません。 ** 応用 [13] [CODE(HTMLa)[href]] 属性値は[[基底URI]]として使われます。 詳しくは [[HTML//基底URI]] をご覧ください。 [[#comment]] ** メモ [24] [CITE[ and xml:base="" and HTMLBaseElement.href]] ([CODE[2008-07-01 22:43:30 +09:00]] 版) ([[名無しさん]]) [25] >>24 :[[Firefox 2]]: [CODE(XMLa)@en[[[xml]]:[[base]]]] is applied to compute reflected DOM attribute value. (However, [CODE(XMLa)@en[[[xml]]:[[base]]]] does not affect to base URI computation for [CODE(HTMLe)@en[[[base]]]] [CODE(HTMLa)@en[[[href]]]]; relative URL in [CODE(HTMLe)@en[[[base]]]] [CODE(HTMLa)@en[[[href]]]] is simply ignored.) :[[Opera]] 9: [CODE(XMLa)@en[[[xml]]:[[base]]]] is applied to compute reflected DOM attribute value. ([CODE(XMLa)@en[[[xml]]:[[base]]]] on [CODE(HTMLe)@en[[[base]]]] doss also affect to base URL of the document.) :[[Safari]] 3.1:[CODE(DOMa)@en[[[href]]]] DOM attribute takes the same value as the [CODE(HTMLa)@en[[[href]]]] content attribute for [CODE(HTMLe)@en[[[base]]]] elements. ([CODE(XMLa)@en[[[xml]]:[[base]]]] on [CODE(HTMLe)@en[[[base]]]] dose not affect to the base URL of the document.)