« SVG Attribute reference home
The xlink:href
attribute basically define a link to a resource as a reference <IRI>. The exact meaning of that link depend on the context of each element using it, see above for more specific usage.
Usage context
- <IRI>
-
An Internationalized Resource Identifier.
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
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
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 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>
You then reference the linear gradient as the value of the
fill
attribute for the rectangle, as in the following example:<rect fill="url(#MyGradient)"/>
SVG supports two types of IRI references:
- local IRI references, where the IRI reference does not contain an
<absoluteIRI>
or<relativeIRI>
and thus only contains a fragment identifier (i.e.,#<elementID>
or#xpointer(id<elementID>)
) - non-local IRI references, where the IRI reference does contain an
<absoluteIRI>
or<relativeIRI>
For the full specification of IRI references in SVG, see SVG 1.1 (2nd Edition): IRI references.
- local IRI references, where the IRI reference does not contain an
Elements
The following elements can use the xlink:href
attribute
- Animation elements »
- An <IRI> reference to the element which is the target of this animation and which therefore will be modified over time. The target element must be part of the current SVG document. If the
xlink:href
attribute is not provided, then the target element will be the immediate parent element of the current animation element. - Gradient elements »
- An <IRI> reference to a different
<lineargradient>
or<radialgradient>
element within the current SVG document. Any<lineargradient>
or<lineargradient>
attributes which are defined on the referenced element which are not defined on this element are inherited by this element if this element is of the same type as the referenced element. If this element has no defined gradient stops, and the referenced element does (possibly due to its ownxlink:href
attribute), then this element inherits the gradient stop from the referenced element. Inheritance can be indirect to an arbitrary level; thus, if the referenced element inherits attribute or gradient stops due to its ownxlink:href
attribute, then the current element can inherit those attributes or gradient stops. On the gradient elements, thexlink:href
attribute is animatable. <a>
- The location of the referenced object, expressed as an <IRI> reference. On the
<a>
element, thexlink:href
attribute is animatable. <altglyph>
- An <IRI> reference either to a
<glyph>
element in an SVG document or to an<altglyphdef>
element.
If the reference is to a<glyph>
element and that glyph is available, then that glyph is rendered instead of the character(s) that are inside of the<altglyph>
element.
If the reference is to an<altglyphdef>
element, then if an appropriate set of alternate glyphs is located from processing the<altglyphdef>
element, then those alternate glyphs are rendered instead of the character(s) that are inside of the<altglyph>
element. <color-profile>
- The location of an ICC profile resource.
<cursor>
- A <funcIRI> reference to the file or element which provides the image of the cursor. On the
<cursor>
element, thexlink:href
attribute is animatable. <feimage>
- An <IRI> reference to the image source. On the
<feimage>
element, thexlink:href
attribute is animatable. <filter>
- An <IRI> reference to another
<filter>
element within the current SVG document. Any attributes which are defined on the referenced<filter>
element which are not defined on this element are inherited by this element. If this element has no defined filter nodes, and the referenced element has defined filter nodes (possibly due to its ownxlink:href
attribute), then this element inherits the filter nodes defined from the referenced<filter>
element. Inheritance can be indirect to an arbitrary level; thus, if the referenced<filter>
element inherits attributes or its filter node specification due to its ownxlink:href
attribute, then the current element can inherit those attributes or filter node specifications. On the<filter>
element, thexlink:href
attribute is animatable. <font-face-uri>
- The
xlink:href
attribute specifies the location of the referenced font. <glyphref>
- An <IRI> reference to a
<glyph>
element in an SVG document. The referenced<glyph>
is rendered as an alternate glyph. <image>
- An <IRI> reference to the image source. On the
<image>
element, thexlink:href
attribute is animatable. <mpath>
- An <IRI> reference to the
<path>
element which defines the motion path. <pattern>
- An <IRI> reference to a different
<pattern>
element within the current SVG document. Any attributes which are defined on the referenced element which are not defined on this element are inherited by this element. If this element has no children, and the referenced element does (possibly due to its ownxlink:href
attribute), then this element inherits the children from the referenced element. Inheritance can be indirect to an arbitrary level; thus, if the referenced element inherits attributes or children due to its ownxlink:href
attribute, then the current element can inherit those attributes or children. On the<pattern>
element, thexlink:href
attribute is animatable. <script>
- An <IRI> reference to an external resource containing the script code.
<textpath>
- An <IRI> reference to the
<path>
element onto which the text will be rendered. On the<textpath>
element, thexlink:href
attribute is animatable. <use>
- An <IRI> reference to an element/fragment within an SVG document. On the
<use>
element, thexlink:href
attribute is animatable. <tref>
- An <IRI> reference to an element whose character data content shall be used as character data for this
<tref>
element. On the<tref>
element, thexlink:href
attribute is animatable.