目次詳細目次前章次章要素属性プロパティ

17 リンク

目次

17.1 参照

17.1.1 概観

インターネットにおいては、リソースは IRI (Internationalized Resource Identifiers — 国際化リソース識別子)により識別される。 例えば、 http://example.com に置かれた SVG ファイル someDrawing.svg の IRI は次のようになる: On the Internet, resources are identified using IRIs (Internationalized Resource Identifiers). For example, an SVG file called someDrawing.svg located at http://example.com might have the following IRI:

http://example.com/someDrawing.svg

IRI はその一部に IRI 素片識別子を含めることにより、 XML 文書内の特定の要素を指すようにすることもできる。 IRI 素片識別子を含む IRI は、省略可能な基底 IRI, および 後続する文字 "#" と IRI 素片識別子の並びからなる。 例えば次の IRI は、ファイル someDrawing.svg 内の ID が "Lamppost" の要素を指す: An IRI can also address a particular element within an XML document by including an IRI fragment identifier as part of the IRI. An IRI which includes an IRI fragment identifier consists of an optional base IRI, followed by a "#" character, followed by the IRI fragment identifier. For example, the following IRI can be used to specify the element whose ID is "Lamppost" within file someDrawing.svg:

http://example.com/someDrawing.svg#Lamppost

17.1.2 IRI と URI

国際化リソース識別子( IRI )は、統一リソース識別子( URI )をより一般化する補完である。 IRI は Universal Character Set [UNICODE] に属する文字の並びである。 URI はそれよりはるかに限定された文字の集合からなる。 すべての URI はすでに IRI に適合している。 IRI から URI への対応付けは IRI 仕様に定められているので、XML 文書内では, URI の代わりに IRI をリソースの識別に利用できる。 プロトコルが IRI を直接的にサポートしていない場合、ネットワーク上のアドレス解決のために IRI を URI に変換できる。 Internationalized Resource Identifiers (IRIs) are a more generalized complement to Uniform Resource Identifiers (URIs). An IRI is a sequence of characters from the Universal Character Set [UNICODE]. A URI is constructed from a much more restricted set of characters. All URIs are already conformant IRIs. A mapping from IRIs to URIs is defined by the IRI specification, which means that IRIs can be used instead of URIs in XML documents, to identify resources. IRIs can be converted to URIs for resolution on a network, if the protocol does not support IRIs directly.

以前のバージョンの SVG では、 XLink にならい, IRI 参照型を URI , または 特定のエスケープ処理を施した結果が IRI にならなければならない文字の並び として定義していた。 エスケープの手続きは XLink 1.0 仕様 [XLINK] および W3C による XML スキーマ第2部:データ型仕様 [SCHEMA2] でも繰り返された。 この模倣は誤りと分岐をもたらし得るものであったが、 IRI 仕様が標準化されていなかったために行われた。 Previous versions of SVG, following XLink, defined an IRI reference type as a URI or as a sequence of characters which must result in an IRI after a particular escaping procedure was applied. The escaping procedure was repeated in the XLink 1.0 specification [XLINK], and in the W3C XML Schema Part 2: Datatypes specification [SCHEMA2]. This copying introduced the possibility of error and divergence, but was done because the IRI specification was not yet standardized.

この仕様では、この IRI を URI に変換する「URI または文字列+アルゴリズム」およびエスケープの仕方に用いられていた IRI の正しい語を, IETF の標準化提案になった IRI 仕様 [RFC3987] から定義されるものとする。 他の W3C 仕様はある程度の期間の後、これらのエスケープ手続きの重複した記述を削除し, IRI を直接参照するように改められることが予期されている。 In this specification, the correct term IRI is used for this "URI or sequence of characters plus an algorithm" and the escaping method, which turns IRIs into URIs, is defined by reference to the IRI specification [RFC3987], which has since become an IETF Proposed Standard. Other W3C specifications are expected to be revised over time to remove these duplicate descriptions of the escaping procedure and to refer to IRI directly.

17.1.3 構文形式: IRI と FuncIRI

IRI は xlink:href 属性で利用される。 一部の属性では IRI とテキスト文字列が内容に許されている。 相対 IRI と文字列との区別を明確にするため、相対 IRI には関数表記 <FuncIRI> が用いられる。 これは単純に関数表記で区切られた IRI である。 注記: 歴史的な理由から、 CSS 仕様との互換性をとるため、区切り子は "url(" と ")" になっている。 FuncIRI 形式は 呈示属性 で用いられる。 IRIs are used in the ‘xlink:href’ attribute. Some attributes allow both IRIs and text strings as content. To disambiguate a text string from a relative IRI, the functional notation <FuncIRI> is used. This is simply an IRI delimited with a functional notation. Note: For historical reasons, the delimiters are "url(" and ")", for compatibility with the CSS specifications. The FuncIRI form is used in presentation attributes .

SVG では、広範に渡り,絶対と相対の両方において,他のオブジェクトへの IRI 参照を利用する。 例えば,矩形に線型グラデーションによる fill を行うには、まず次のように linearGradient 要素を定義して ID を与える。 SVG makes extensive use of IRI references, both absolute and relative, to other objects. For example, to fill a rectangle with a linear gradient, you first define a ‘linearGradient’ element and give it an ID, as in:

<linearGradient xml:id="MyGradient">...</linearGradient>

次に、線型グラデーションへの参照を矩形の fill プロパティの値として与える: You then reference the linear gradient as the value of the ‘fill’ property for the rectangle, as in the following example:

<rect fill="url(#MyGradient)"/>

SVG は2種類の IRI 参照をサポートする: SVG supports two types of IRI references:

17.1.4 IRI 参照の処理

次の規則が IRI 参照の処理に適用される: The following rules apply to the processing of IRI references:

IRI 参照が許容される要素とプロパティ,およびその有効な参照先を以下に挙げる: The following list describes the elements and properties that allow IRI references and the valid target types for those references:

参照元参照可能なリソース
a 要素 任意の局所/非局所リソース the ‘a’ element can reference any local or non-local resource
altGlyph 要素 altGlyphDef 要素, glyph 要素 the ‘altGlyph’ element must reference either an ‘altGlyphDef’ element or a ‘glyph’ element
アニメーション要素
animate, animateColor,
animateMotion,
animateTransform, set
(参照規則は アニメーションの対象となる要素を特定する属性 を見よ) the ‘animate’, ‘animateColor’, ‘animateMotion’, ‘animateTransform’, and ‘set’ element (see Identifying the target element for an animation for reference rules)
clip-path プロパティ clipPath 要素 the ‘clip-path’ property must reference a ‘clipPath’ element
color-profile 要素 ICC プロファイルリソース the ‘color-profile’ element must reference an ICC profile resource
color-profile プロパティ ICC プロファイルリソース, color-profile 要素 the ‘color-profile’ property must reference an ICC profile resource or a ‘color-profile’ element
@color-profile 定義の 'src' 記述子 ICC プロファイルリソース, color-profile 要素 the 'src' descriptor on an @color-profile definition must reference an ICC profile resource or a ‘color-profile’ element
cursor 要素 カーソルグラフィックの画像を提供するリソース the ‘cursor’ element must reference a resource that can provide an image for the cursor graphic
cursor プロパティ カーソルグラフィックの画像を提供するリソース the ‘cursor’ property must reference a resource that can provide an image for the cursor graphic
feImage 要素 任意の局所/非局所リソース the ‘feImage’ element must reference any local or non-local resource
fill プロパティ (参照規則は 塗りの指定 を見よ) the ‘fill’ property (see Specifying paint for reference rules)
filter 要素 filter 要素 the ‘filter’ element must reference a ‘filter’ element
filter プロパティ filter 要素 the ‘filter’ property must reference a ‘filter’ element
image 要素 任意の局所/非局所リソース the ‘image’ element must reference any local or non-local resource
linearGradient 要素 linearGradient 要素, radialGradient 要素 the ‘linearGradient’ element must reference a ‘linearGradient’ or ‘radialGradient’ element
マーカプロパティ
marker, marker-start,
marker-mid, marker-end
marker 要素 the ‘marker’, ‘marker-start’, ‘marker-mid’ and ‘marker-end’ properties must reference a ‘marker’ element.
mask プロパティ mask 要素 the ‘mask’ property must reference a ‘mask’ element
pattern 要素 pattern 要素 the ‘pattern’ element must reference a ‘pattern’ element
radialGradient 要素 linearGradient 要素, radialGradient 要素 the ‘radialGradient’ element must reference a ‘linearGradient’ or ‘radialGradient’ element
script 要素 スクリプト内容を提供する外部リソース the ‘script’ element must reference an external resource that provides the script content
stroke プロパティ (参照規則は 塗りの指定 を見よ) the ‘stroke’ property (see Specifying paint for reference rules)
textPath 要素 path 要素 the ‘textPath’ element must reference a ‘path’ element
tref 要素 任意の SVG 要素 the ‘tref’ element can reference any SVG element
use 要素 任意の局所/非局所リソース the ‘use’ element can reference any local or non-local resource

無効な IRI 参照に対しては以下の規則が適用される: The following rules apply to the processing of invalid IRI references:

17.1.5 IRI 参照属性

IRI 参照は通常 XLink [XLink] 名前空間の href 属性で指定される。 例えば、接頭辞 'xlink' が XLink 名前空間の属性に利用される場合、その属性名は xlink:href で指定できる。 この属性の値は望ましいリソース(または素片識別子があれば二次のリソース)への IRI 参照になる。 IRI references are normally specified with an ‘href’ attribute in the XLink [XLink] namespace. For example, if the prefix of 'xlink' is used for attributes in the XLink namespace, then the attribute is be specified as ‘xlink:href’. The value of this attribute forms a reference for the desired resource (or secondary resource, if there is a fragment identifier).

属性の値は 国際化リソース識別子 でなければならない。 The value of the ‘href’ attribute must be an Internationalized Resource Identifier.

HTTP などのプロトコルが IRI を直接サポートしていない場合、 IRI は SVG の実装により IRI 仕様 [RFC3987] 3.1 節に従って URI へ変換される。 If the protocol, such as HTTP, does not support IRIs directly, the IRI is converted to a URI by the SVG implementation, as described in section 3.1 of the IRI specification [RFC3987.

アプリケーションにとっては値が IRI 参照であるかどうかチェックすることは非現実的なことなので、この仕様はこの事項については IRI 仕様 の模範に従うだけであり, SVG アプリケーションにそのような適合性テストの要件を課すものではない。 Because it is impractical for any application to check that a value is an IRI reference, this specification follows the lead of the IRI Specification in this matter and imposes no such conformance testing requirement on SVG applications.

IRI 参照が相対参照の場合、使用される前に XML Base [XML-BASE] に従って,絶対参照版が算出されなければならない。 If the IRI reference is relative, its absolute version must be computed by the method described in XML Base before use [XML-BASE].

xlink:type = "simple"

用いられている XLink のタイプを識別する。 SVG 1.1 においては、単純リンク( simple link )のみが利用できる。 リンクの既定は単純リンクであり,単純リンクについては属性 xlink:type="simple" の指定はオプションになるので、省略されてもよい。 XML リンク付け言語 (XLink) [XLINK] を参照。 Identifies the type of XLink being used. In SVG 1.1, only simple links are available. Links are simple links by default, so the attribute xlink:type="simple" is optional and may be omitted on simple links. Refer to the XML Linking Language (XLink) [XLINK].

アニメーション:不可
xlink:role = "<IRI>"

リンクに意図されている特性について述べる,何らかのリソースを特定する IRI 参照(省略可能)。 [RFC3987] に従う IRI 参照を指定しなければならないが,利用されている IRI スキームが絶対と相対の両方の形式に対応している場合は、 IRI 部分は絶対形式のみが許される。 値が指定されていない場合、いかなるロール( role )も既定されないものとする。 XML リンク付け言語 (XLink) [XLINK] を参照のこと。 An optional IRI reference that identifies some resource that describes the intended property. The value must be an IRI reference as defined in [RFC3987], except that if the IRI scheme used is allowed to have absolute and relative forms, the IRI portion must be absolute. When no value is supplied, no particular role value shall be inferred. Refer to the XML Linking Language (XLink) [XLINK].

アニメーション:不可
xlink:arcrole = "<IRI>"

リンクに意図されている特性について述べる,何らかのリソースを特定するオプションの IRI 参照。 [RFC3987] に定めらる形で IRI 参照を指定しなければならないが,利用されている IRI スキームが絶対と相対の両方の形式に対応している場合、 IRI 部分は絶対形式のみが許される。 値が指定されていない場合、いかなるロールも既定されないものとする。 arcrole 属性は [RDF-PRIMER] におけるプロパティの概念に相当する。 ここで、そのロールを「始点リソースはアークロール(arc-role)終点リソースを持つ」と解釈できる。 この文脈上のロールはこの特定のアーク( arc )の文脈から離れた場合においては、アークロール終点リソースの趣意と異なっていてもよい。 例えば,リソースが一般的に「個人」を表現しているとするとき、特定のアークの文脈では「母親」であっても,別の文脈では「娘」かもしれない。 XML リンク付け言語 (XLink) [XLINK] を参照のこと。 An optional IRI reference that identifies some resource that describes the intended property. The value must be an IRI reference as defined in [RFC3987], except that if the IRI scheme used is allowed to have absolute and relative forms, the IRI portion must be absolute. When no value is supplied, no particular role value shall be inferred. The arcrole attribute corresponds to the [RDF-PRIMER] notion of a property, where the role can be interpreted as stating that "starting-resource HAS arc-role ending-resource." This contextual role can differ from the meaning of an ending resource when taken outside the context of this particular arc. For example, a resource might generically represent a "person," but in the context of a particular arc it might have the role of "mother" and in the context of a different arc it might have the role of "daughter." Refer to the XML Linking Language (XLink) [XLINK].

アニメーション:不可
xlink:title = "<anything>"

title 属性は role や arcrole 属性に即した形でリンク先の趣旨を人間が読める形に記述するために用いられる。 この属性は省略可能であり、指定する場合はリソースについての記述を含むものとする。 一般的には title 属性より title 子要素を利用する方が望ましい。 この情報の利用はどのような類いの処理を行うかに大きく依存する。 例えば、視覚障碍者から利用されるアプリケーションにタイトルを知らしめたり, リンク一覧の作成, 利用者がマウスポインタを始点リソースの上に重ねた際にヘルプを表示させる,などが挙げられる。 XML リンク付け言語 (XLink) [XLINK] を参照のこと。 The title attribute shall be used to describe the meaning of a link or resource in a human-readable fashion, along the same lines as the role or arcrole attribute. A value is optional; if a value is supplied, it shall contain a string that describes the resource. In general it is preferable to use a ‘title’ child element rather than a ‘title’ attribute. The use of this information is highly dependent on the type of processing being done. It may be used, for example, to make titles available to applications used by visually impaired users, or to create a table of links, or to present help text that appears when a user lets a mouse pointer hover over a starting resource. Refer to the XML Linking Language (XLink) [XLINK].

アニメーション:不可
xlink:show = "new' | 'replace' | 'embed' | 'other' | 'none'

この属性は SVG 1.1 に対する後方互換性のために提供されている。 これは XLink を扱えるプロセッサに情報を与えるものである。 target 属性と衝突する場合はそちらの方がより広範囲の値を表記できるので、 target 属性が優先される。 XML リンク付け言語 (XLink) [XLINK] を参照のこと。 This attribute is provided for backwards compatibility with SVG 1.1. It provides documentation to XLink-aware processors. In case of a conflict, the target attribute has priority, since it can express a wider range of values. Refer to the XML Linking Language (XLink) [XLINK].

アニメーション:不可
xlink:actuate = "onLoad'

この属性は SVG 1.1 に対する後方互換性のために提供されている。 これは XLink を扱えるプロセッサに情報を与えるものである。 XML リンク付け言語 (XLink) [XLINK] を参照のこと。 This attribute is provided for backwards compatibility with SVG 1.1. It provides documentation to XLink-aware processors. Refer to the XML Linking Language (XLink) [XLINK].

アニメーション:不可

いかなる場合でも,上記 XLink 属性のいずれかを SVG 内容で利用する際には、「XML 名前空間 1.0」 または 「XML 名前空間 1.0」勧告 [XML-NS10] [XML-NS] に適合するように XLink 名前空間宣言が明示的に与えられなければならない。 このような XLink 名前空間宣言を与える簡単な方法の一つは、 XLink 属性を利用する内容の svg 要素に XLink 名前空間のための xmlns 属性を与えることである。 例えば: In all cases, for compliance with either the "Namespaces in XML 1.0" or the "Namespaces in XML 1.1" Recommendation [XML-NS10][XML-NS], an explicit XLink namespace declaration must be provided whenever one of the above XLink attributes is used within SVG content. One simple way to provide such an XLink namespace declaration is to include an ‘xmlns’ attribute for the XLink namespace on the ‘svg’ element for content that uses XLink attributes. For example:

<svg xmlns:xlink="http://www.w3.org/1999/xlink" ...>
  <image xlink:href="foo.png" .../>
</svg>

SVG は(ハイパーリンクあるいはウェブリンクとしても知られる)リンクを指示するための a 要素を提供する。 a 要素には、自身を除き,その親が含められる任意の要素を含ませられる。 SVG provides an ‘a’ element, to indicate links (also known as hyperlinks or Web links). The ‘a’ element may contain any element that its parent may contain, except itself.

SVG では、すべてのリンク定義に XLink [XLink] が用いられる。 SVG 1.1 においては、 UA には XLink における 単純リンク の概念のみのサポートが要求される。 それぞれの単純リンクは、ローカルとリモートのきっちり2つのリソースを,アーク( arc )が前者から後者へ向くように結び付ける。 SVG uses XLink ([XLink]) for all link definitions. SVG 1.1 only requires that user agents support XLink's notion of simple links. Each simple link associates exactly two resources, one local and one remote, with an arc going from the former to the latter.

単純リンクは a 要素内の描画される要素ごとに個別に定められる。 例えば a 要素が複数の circle 要素を含むならば、各 circle ごとにリンクが作成される。 a 要素内の描画される各要素はローカルリソース(リンク元のアンカー)になる。 A simple link is defined for each separate rendered element contained within the ‘a’ element; thus, if the ‘a’ element contains three ‘circle’ elements, a link is created for each circle. For each rendered element within an ‘a’ element, the given rendered element is the local resource (the source anchor for the link).

リモートリソース(リンク先)は a 要素の XLink xlink:href 属性で指定される IRI により定められる。 リモートリソースには、任意のウェブリソース(例えば画像, ビデオクリップ, サウンドバイト(sound bite), プログラム, 別の SVG 文書, HTML 文書, 現在の文書内の要素, 異なる文書内の要素, 等々)が可能である。 これらリンクの活性化により(マウスクリック, キーボード入力, ボイスコマンド, 等々)、利用者はリンク先のリソースを訪れることができる。 The remote resource (the destination for the link) is defined by a IRI specified by the XLink ‘xlink:href’ attribute on the ‘a’ element. The remote resource may be any Web resource (e.g., an image, a video clip, a sound bite, a program, another SVG document, an HTML document, an element within the current document, an element within a different document, etc.). By activating these links (by clicking with the mouse, through keyboard input, voice commands, etc.), users may visit these resources.

Example link01 では楕円にリンクをあてがっている。 Example link01 assigns a link to an ellipse.

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="5cm" height="3cm" viewBox="0 0 5 3" version="1.1"
     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <desc>Example link01 - 楕円形の上のリンク
  </desc>
  <rect x=".01" y=".01" width="4.98" height="2.98" 
        fill="none" stroke="blue"  stroke-width=".03"/>
  <a xlink:href="http://www.w3.org">
    <ellipse cx="2.5" cy="1.5" rx="2" ry="1"
             fill="red" />
  </a>
</svg>
Example link01
Example link01 — a link on an ellipse

この例を SVG で表示( SVG 対応ブラウザのみ)

上の SVG ファイルが SVG と HTML をサポートする UA で表示された場合、楕円のクリックにより,現在のウィンドウまたはフレームが W3C のホームページに置換される。 If the above SVG file is viewed by a user agent that supports both SVG and HTML, then clicking on the ellipse will cause the current window or frame to be replaced by the W3C home page.

a
分類:
コンテナ要素
内容モデル:
以下の要素の任意個数, 任意順序の組み合わせ:
属性:
DOM インタフェース:

属性定義

xlink:show = "new" | "replace"

これは XLink を扱えるプロセッサに情報を供するものである。 target="_blank" の場合は xlink:show="new" を用い、そうでなければ replace を用いる。 target 属性と衝突する場合は target の方がより広範囲の値を表記できるので target 属性が優先される。 XML リンク付け言語 (XLink) [XLINK] 参照。 This attribute provides documentation to XLink-aware processors. If target="_blank" then use xlink:show="new" else use 'replace'. In case of a conflict, the target attribute has priority, since it can express a wider range of values. Refer to the XML Linking Language (XLink) [XLINK].

アニメーション:不可
xlink:actuate = "onRequest"

この属性は、 XLink を扱えるプロセッサに対し,アプリケーションは追跡( traversal )の目的を持つ読み込み終了イベント( post-loading event )が誘発されたときにのみ,始点リソースから終点リソースへの追跡をすべきである旨を指示する。 XML リンク付け言語 (XLink) [XLINK] 参照。 This attribute provides documentation to XLink-aware processors that an application should traverse from the starting resource to the ending resource only on a post-loading event triggered for the purpose of traversal. Refer to the XML Linking Language (XLink) [XLINK].

アニメーション:不可
xlink:href = "<IRI>"

IRI 参照 により表記される参照先のオブジェクトの所在。 The location of the referenced object, expressed as an IRI reference.

アニメーション:
target = "_replace" | "_self" | "_parent" | "_top" | "_blank" | "<XML-Name>"

この属性は、親の文書が複数フレームの HTML または XHTML 文書であるときなど,終点リソースに複数の対象が可能なときに利用すべきである。 この属性はリンクが発動されたときに文書が読み込まれる対象のウィンドウ, フレーム, ペイン, タブ, その他関連する表示文脈(例えば HTML や XHTML の frame, iframe, object 要素など)の名前や一部分を指定する。 この属性の値と意味論は: This attribute should be used when there are multiple possible targets for the ending resource, such as when the parent document is a multi-frame HTML or XHTML document. This attribute specifies the name or portion of the target window, frame, pane, tab, or other relevant presentation context (e.g., an HTML or XHTML frame, iframe, or object element) into which a document is to be opened when the link is activated:

_replace
現在の SVG 画像は、同じフレームの同じ矩形領域に現在の SVG 画像として、リンク先の内容に置換される。 The current SVG image is replaced by the linked content in the same rectangular area in the same frame as the current SVG image.
_self
現在の SVG 画像は、現在の SVG 画像と同じフレームにおいて,リンク先の内容に置換される。 この属性が指定されていない場合、 _self と見なされる。 The current SVG image is replaced by the linked content in the same frame as the current SVG image. If the attribute is not specified, '_self' is assumed.
_parent
SVG 画像の直上の親フレームセットが、リンク先の内容に置換される。 The immediate frameset parent of the SVG image is replaced by the linked content.
_top
フレームを含むウィンドウまたはタブ全体の内容が、リンク先の内容に置換される。 The content of the full window or tab, including any frames, is replaced by the linked content
_blank
リンク先の内容の表示のために、名前の無い,新たなウィンドウ/タブが要求される。 これが機能しない場合の結果は _top と同じになる。 A new un-named window or tab is requested for the display of the linked content. If this fails, the result is the same as _top
<XML-Name>
リンク先の内容を表示するためのフレーム, ペインその他,関連の表示文脈の、名前を指定する。 すでに存在する場合、それが再利用され,既存の内容は置換される。 存在しない場合、新たに作成される(名前が付けられること以外は _blank と同じになる)。 Specifies the name of the frame, pane, or other relevant presentation context for display of the linked content. If this already exists, it is re-used, replacing the existing content. If it does not exist, it is created (the same as '_blank', except that it now has a name).

注記:値 _new は target に合法な値ではない_blank を用いよ)。 Note: The value '_new' is not a legal value for target (use '_blank').

アニメーション:

17.3 SVG 内容の中へのリンク:IRI 素片と SVG ビュー

17.3.1 概要: IRI 素片と SVG ビュー

SVG 内容は通常,何らかの絵や図面を表現するので、 SVG ビュー と呼ばれる文書の特定の部分への,その部分を大写しに表示するための初期変換を指示する ビュー へのリンクが、一般的に望まれている。 Because SVG content often represents a picture or drawing of something, a common need is to link into a particular view of the document, where a view indicates the initial transformations so as to present a closeup of a particular section of the document.

17.3.2 SVG 素片識別子

SVG 文書の特定のビューへリンクさせるためには、 IRI 素片識別子は SVG 素片識別子 として正しい形式になっている必要がある。 SVG 素片識別子は、 MIME メディアタイプ "image/svg+xml" のリソースを指す, IRI の「セレクタ( "selector" )」または「素片識別子」( "fragment identifier" )の持つ意味を定める。 To link into a particular view of an SVG document, the IRI fragment identifier needs to be a correctly formed SVG fragment identifier. An SVG fragment identifier defines the meaning of the "selector" or "fragment identifier" portion of IRIs that locate resources of MIME media type "image/svg+xml".

SVG 素片識別子には2通りの形式がある: An SVG fragment identifier can come in two forms:

SVG 素片識別子の構文は次で与えられる: An SVG fragment identifier is defined as follows:

SVGFragmentIdentifier ::= BareName |
                          SVGViewSpec
                
BareName ::= XML_Name
SVGViewSpec ::= 'svgView(' SVGViewAttributes ')'
SVGViewAttributes ::= SVGViewAttribute |
                      SVGViewAttribute ';' SVGViewAttributes
                      
SVGViewAttribute ::= viewBoxSpec |
                     preserveAspectRatioSpec |
                     transformSpec |
                     zoomAndPanSpec |
                     viewTargetSpec
viewBoxSpec ::= 'viewBox(' ViewBoxParams ')'
preserveAspectRatioSpec = 'preserveAspectRatio(' AspectParams ')'
transformSpec ::= 'transform(' TransformParams ')'
zoomAndPanSpec ::= 'zoomAndPan(' ZoomAndPanParams ')'
viewTargetSpec ::= 'viewTarget(' ViewTargetParams ')'

ここで: where:

素片識別子には空白は許されない。 したがって SVG ビュー指定における数値はコンマで区切り(例えば #svgView(viewBox(0,0,200,200)) )、属性はセミコロンで区切ることになる(例えば #svgView(viewBox(0,0,200,200);preserveAspectRatio(none)) )。 Spaces are not allowed in fragment specifications; thus, commas are used to separate numeric values within an SVG view specification (e.g., #svgView(viewBox(0,0,200,200))) and semicolons are used to separate attributes (e.g., #svgView(viewBox(0,0,200,200);preserveAspectRatio(none))).

SVG 素片内の 'SVGViewAttribute' を区切るセミコロンは url-エスケープ( %3B )されていてもよい。 これはセミコロンがリストの区切り子に解釈されないようにして,(セミコロンで区切られた) IRI のリストをアニメートする際に有用になる。 Semicolons used to separate 'SVGViewAttribute' in SVG fragments may be url-escaped (as %3B); this is useful when animating a (semi-colon separated) list of IRIs because otherwise the semicolon would be interpreted as a list separator.

5 種類の SVGViewAttributeSVGViewSpec においてどのような順序で現れてもよいが、現れるのは各種類 高々 1 回まででなければ,正しい形式とは見なされない。 The five types of SVGViewAttribute may occur in any order, but each type may only occur at most one time in a correctly formed SVGViewSpec.

リンク元の文書が例えば HTML のアンカー要素 ([HTML4], 12.2 節) (すなわち HTML の <a href=...> 要素)または XLink 仕様 [XLINK] による SVG 文書へのリンクを活性化する場合、次の様に SVG 文書に対する初期ビューが SVG 素片識別子から指定される: When a source document performs a link into an SVG document, for example via an HTML anchor element ([HTML4], section 12.2; i.e., <a href=...> element in HTML) or an XLink specification [XLINK], then the SVG fragment identifier specifies the initial view into the SVG document, as follows:

17.3.3 定義済みの表示: view 要素

view 要素の定義は以下で与えられる: The ‘view’ element is defined as follows:

view
分類:
None
内容モデル:
以下の要素の任意個数, 任意順序の組み合わせ:
属性:
DOM インタフェース:

属性定義

viewTarget = "XML_Name [XML_NAME]*"

SVG ビューに結び付けられる対象のオブジェクトを指示する。 Indicates the target object associated with the view.

アニメーション:不可

17.3.4 表示の強調

対象の要素の表示を強調できれば利用者にとっては助けになる。 SVG UA にとっては、どのような変化で要素をより目立たせるかを決めるすべは無いので,この強調の視覚スタイル付けは文書作成者により定められるべきである。 It is helpful to users if the target element(s) are highlighted. The visual styling of this highlight should be decided by the document author, because the SVG User Agent has no way to determine what changes would make the elements more visible.

スタイルシートで CSS :target セレクタ( [SELECTORS], 6.2.2 節 )を用いると、リンクターゲットの要素に別のスタイル付けを与えることができる。 例えば: The CSS :target selector ([SELECTORS], section 6.2.2) may be used in a stylesheet to provide alternate styling for elements which are the target of links. For example:

<style type="text/css">

#foo:target {filter: url(#glow)}
/* リンク移動により id foo の要素へ移動したとき,
   その要素には glow フィルタが用いられるようにする */

.bar :target {stroke: green; fill-opacity: 0.5}
/* リンク移動により class bar の要素の子孫へ移動したとき,
   その子孫は内部が半透明に, 外形線が緑色に塗られるようにする */

:target {stroke: red }
/* 他のリンク移動先については外形線が赤色に塗られるようにする */ 
</style>

17.4 DOM インタフェース

17.4.1 インタフェース SVGAElement

SVGAElement インタフェースは a 要素に対応する。 The SVGAElement interface corresponds to the ‘a’ element.

interface SVGAElement : SVGElement,
                        SVGURIReference,
                        SVGTests,
                        SVGLangSpace,
                        SVGExternalResourcesRequired,
                        SVGStylable,
                        SVGTransformable {
  readonly attribute SVGAnimatedString target;
};
属性
target (readonly SVGAnimatedString)

a 要素の target 属性に対応する。 Corresponds to attribute ‘target’ on the given ‘a’ element.

17.4.2 インタフェース SVGViewElement

SVGViewElement インタフェースは view 要素に対応する。 The SVGViewElement interface corresponds to the ‘view’ element.

interface SVGViewElement : SVGElement,
                           SVGExternalResourcesRequired,
                           SVGFitToViewBox,
                           SVGZoomAndPan {
  readonly attribute SVGStringList viewTarget;
};
属性
viewTarget (readonly SVGStringList)

view 要素の viewTarget 属性に対応する。 viewTarget 属性に挙げられている名前の DOMString 値のリスト。 getElementById() メソッド呼び出しを用いて、それぞれの DOMString 値を対応する要素に結びつけられる。 Corresponds to attribute ‘viewTarget’ on the given ‘view’ element. A list of DOMString values which contain the names listed in the ‘viewTarget’ attribute. Each of the DOMString values can be associated with the corresponding element using the getElementById() method call.

目次詳細目次前章次章要素属性プロパティ