* a 要素・link 要素 href 属性 (HTML 4, XHTML 1) [1] [[HTML]] の [CODE(HTMLe)[[[a]]]] 要素・[CODE(HTMLe)[[[link]]]] 要素の [DFN[[CODE(HTMLa)[href]] 属性]]は、ウェブ[[資源]]の位置を指定します。 そして、指定された資源が[[終点アンカー]], その [CODE(HTMLe)[a]] 要素が[[始点アンカー]]である[[連結]]になります。 仕様書: [[HTML 4]] [CODE(HTMLa)[href]] [[#comment]] ** 属性値 [4] この属性の属性値は [CODE(SGML)[%[[URI]]]]、すなわち [[URI参照]]です。 [[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。 [5] この属性は省略可能です。省略した場合は、 そのアンカー ([CODE(HTMLa)[[[a]]]] 要素) は始点アンカーではないものとなります。 [CODE(HTMLe)[link]] 要素の場合は省略すると意味を失ってしまうと思うのですが、 HTML 4 仕様書には何も書かれていません。 [[#comment]] ** レンダリング [6] 多くの視覚 UA は、 [CODE(HTMLe)[a]] 要素や [CODE(HTMLe)[link]] 要素に [CODE(CSS)[[[hover]]]] したときに [[状態棒]]や窓の[[題名棒]]、あるいは [[tool tip]] などとして [CODE(HTMLa)[href]] 属性で指定された URI 参照を表示します。 表現が比較的貧しい媒体では、[[脚注]]として出力されることもあります。 [7] ほとんどの実装では、 [CODE(HTMLa)[href]] 属性が指定された [CODE(HTMLe)[a]] 要素を他の要素とは異なってレンダリングします。 たとえば多くの視覚 UA では青字で下線付きで表示します。 詳しくは [CODE(HTMLe)[[[a]]]] 要素のレンダリングの項をご覧下さい。 [CODE(HTMLe)[link]] 要素のレンダリングは [CODE(HTMLe)[[[link]]]] 要素のレンダリングの項をご覧ください。 [[#comment]] ** 他との関係 [8] 属性 [CODE(HTMLa)[[[hreflang]]]], [CODE(HTMLa)[[[charset]]]], [CODE(HTMLa)[[[type]]]], [CODE(HTMLa)[[[rel]]]], [CODE(HTMLa)[[[rev]]]] は意味的に [CODE(HTMLa)[href]] 属性の存在に依存しています。 また、 HTML 4 以前には [CODE(HTMLe)[a]] 要素の [CODE(HTMLa)[[[title]]]], [CODE(HTMLa)[[[subject]]]] 属性も意味的に [CODE(HTMLa)[href]] に依存する使われ方がなされたことがあります。 HTML 4 によれば、 [CODE(HTMLa)[hreflang]] 属性は [CODE(HTMLa)[href]] 属性があるときのみ指定できます。 他の属性もそうであるはずですが、仕様書に明記されていません。 [[#comment]] ** メモ [[#comment]] * base 要素 href 属性 (HTML, XHTML 1) [9] [[HTML]] の [CODE(HTMLe)[[[base]]]] 要素の [DFN[[CODE(HTMLa)[href]] 属性]]は、その HTML 文書内の[[相対URI参照]]を解決する際に使用する[[絶対URI]] を指定します。 [10] 仕様書: - [[HTML 4]] [CODE(HTMLa)[href]] [[#comment]] ** 属性値 [11] この属性は [CODE(SGML)[%[[URI]]]] ([[絶対URI参照]]) で、 [[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。 更に仕様書本文で絶対 URI に限定されています。 HTML 4 仕様書は[[素片識別子]]について全体的に曖昧で、 [CDOE(HTMLe)[base]] [CODE(HTMLa)[href]] に素片識別子を含めて構わないのか否かは不明です。 (あってもなくても機能的に変わらないのですが。) [12] 省略の可否: :HTML 4 Strict:必須 :HTML 4 Transitional:省略可能。 (その場合 [CODE(HTMLa)[[[target]]]] がないと [CODE(HTMLe)[base]] が意味を成さないのですが、仕様書には言及がありません。) :XHTML 1.0 FE:省略可能 :XHTML 1.0 SE Strict:必須 [[#comment]] ** 応用 [13] [CODE(HTMLa)[href]] 属性値は[[基底URI]]として使われます。 詳しくは [[HTML//基底URI]] をご覧ください。 [[#comment]] ** メモ [[#comment]] * href 要素型 (WebDAV) [[#comment]] ** 仕様書から *** RFC 2518 (WebDAV) 12.3 href XML Element :Name:[CODE(DAVe)[href]] :Namespace:[CODE(URI)[[[DAV:]]]] :Purpose:Identifies the content of the element as a URI. :Value:URI ; See section 3.2.1 of [RFC2068] :目的:要素の内容を [[URI]] として識別します。 > *** RFC の部分の License [[RFCのライセンス]] * xlink:href 属性 (XLink) [2] [DFN[[CODE(XMLa)[[VAR[xlink:]]href]]]] 属性は、 [[遠隔資源]]を指定するために使用します。 [CODE(XML)[[[locator]]]] 型要素では必須、 [CODE(XML)[[[simple]]]] 型要素では省略可能です。 仕様書: [3] この属性の値は、 [[IRI参照]]です (仕様書の表現は [Q[must be a URI reference as defined in [IETF RFC 2396], or must result in a URI reference after the escaping procedure described below is applied]])。 [[URI]] 解決器に渡す時に IRI 参照から [[URI参照]]に変換します (変換については [[XML//URI]] 参照)。 URI 参照が[[相対URI参照]]であるときには、 [[XML基底]]に基づき解決します。 XLink 応用はこの属性の値が URI 参照であるか適合性検査する義務はありません。 [[#comment]] * メモ