--- a/master/linking.html Thu May 17 15:17:46 2012 +1000
+++ b/master/linking.html Thu May 17 15:17:55 2012 +1000
@@ -14,86 +14,93 @@
<h1>Linking</h1>
- <h2 id="IRIReference">References</h2>
- <h3 id="HeadOverview">Overview</h3>
+<h2 id="IRIReference">References</h2>
+<h3 id="HeadOverview">Overview</h3>
- <p>On the Internet, resources are identified using <a>IRIs</a>
- (Internationalized Resource Identifiers). For
- example, an SVG file called someDrawing.svg located at
- http://example.com might have the following <a>IRI</a>:</p>
+<p>On the Internet, resources are identified using <a>IRIs</a>
+(Internationalized Resource Identifiers). For
+example, an SVG file called someDrawing.svg located at
+http://example.com might have the following <a>IRI</a>:</p>
+
<pre>
http://example.com/someDrawing.svg
</pre>
- <p>An <a>IRI</a> can also address a particular element within an XML
- document by including an <a>IRI</a> fragment
- identifier as part of the <a>IRI</a>. An <a>IRI</a> which includes an
- <a>IRI</a> fragment identifier consists of an optional base <a>IRI</a>, followed by a "#" character,
- followed by the <a>IRI</a> fragment identifier. For example, the
- following <a>IRI</a> can be used to specify the element whose ID is
- "Lamppost" within file someDrawing.svg:</p>
+
+<p>An <a>IRI</a> can also address a particular element within an XML
+document by including an <a>IRI</a> fragment
+identifier as part of the <a>IRI</a>. An <a>IRI</a> which includes an
+<a>IRI</a> fragment identifier consists of an optional base <a>IRI</a>, followed by a "#" character,
+followed by the <a>IRI</a> fragment identifier. For example, the
+following <a>IRI</a> can be used to specify the element whose ID is
+"Lamppost" within file someDrawing.svg:</p>
+
<pre>
http://example.com/someDrawing.svg#Lamppost
</pre>
<!-- from 1.2T - add this too?
-
- <h4 id="AlteringXlinkHref">Altering the <span class="attr-name">'xlink:href'</span> attribute</h4>
-
- <p>If the <a href="animate.html#HrefAttribute"><span class="attr-name">'xlink:href'</span></a>
- attribute of an element in the tree is altered by any means (e.g. script, declarative
- animation) such that a new resource is referenced, the new resource must replace
- the existing resource, and must be rendered as appropriate. For specific effects
- on the scripting context when a
- <a href="script.html#ScriptElement"><span class="element-name">'script'</span></a> element's
- <a href="animate.html#HrefAttribute"><span class="attr-name">'xlink:href'</span></a> attribute
- is altered, see <a href="script.html#ScriptContentProcessing">Script processing</a>.</p>
-
- -->
+<h4 id="AlteringXlinkHref">Altering the <span class="attr-name">'xlink:href'</span> attribute</h4>
- <h3 id="IRIandURI">IRIs and URIs</h3>
- <p>Internationalized
- Resource Identifiers (<a>IRIs</a>) are a more generalized complement to Uniform Resource
- Identifiers (URIs). An <a>IRI</a> is a sequence of characters from the
- Universal Character Set [<a href="refs.html#ref-UNICODE">UNICODE</a>]. A URI is constructed from a much
- more restricted set of characters. All URIs are already conformant <a>IRIs</a>. A mapping from <a>IRIs</a> to
- URIs is defined by the <a>IRI</a> specification, which means that IRIs can be used instead of URIs
- in XML documents, to identify resources. <a>IRIs</a> can be converted to URIs for resolution
- on a network, if the protocol does not support <a>IRIs</a> directly.</p>
- <p>Previous versions of SVG, following XLink, defined an IRI reference type
- as a URI <em>or as a sequence of characters which must result in an IRI after a
- particular escaping procedure was applied</em>. The escaping procedure was repeated in the
- XLink 1.0 specification [<a href="refs.html#ref-XLINK">XLINK</a>], and in the W3C
- XML Schema Part 2: Datatypes specification [<a href="refs.html#ref-SCHEMA2">SCHEMA2</a>]. This copying introduced the
- possibility of error and divergence, but was done because the <a>IRI</a> specification was not
- yet standardized.</p>
- <p>In this specification, the correct term <a>IRI</a> 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 <a href="http://www.ietf.org/rfc/rfc3987.txt">IRI
- specification</a> [<a href="refs.html#ref-RFC3987">RFC3987</a>], 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 <a>IRI</a> directly.</p>
+<p>If the <a href="animate.html#HrefAttribute"><span class="attr-name">'xlink:href'</span></a>
+attribute of an element in the tree is altered by any means (e.g. script, declarative
+animation) such that a new resource is referenced, the new resource must replace
+the existing resource, and must be rendered as appropriate. For specific effects
+on the scripting context when a <a>'script'</a> element's
+<a>'script/xlink:href'</a> attribute is altered, see
+<a href="script.html#ScriptContentProcessing">Script processing</a>.</p>
+
+-->
- <h3 id="IRIforms">Syntactic forms: IRI and FuncIRI</h3>
-
- <p>IRIs are used in the <a href="animate.html#HrefAttribute"><span class="attr-name">'xlink:href'</span></a> attribute. Some attributes allow both IRIs and text strings as content. To disambiguate a text string from a relative IRI, the functional notation <a href="types.html#DataTypeFuncIRI"><FuncIRI></a> is used. This is simply an IRI delimited with a functional notation. <strong>Note:</strong> For historical reasons, the delimiters are "url(" and ")", for compatibility with the CSS specifications. The FuncIRI form is used in <a href="styling.html#StylingUsingPresentationAttributes">presentation attributes</a>
- <!-- not in 1.1
- and <a href="interact.html#navigation">navigation attributes</a>
- -->
- .</p>
-
+<h3 id="IRIandURI">IRIs and URIs</h3>
+<p>Internationalized Resource Identifiers (<a>IRIs</a>) are a more generalized
+complement to Uniform Resource Identifiers (URIs). An <a>IRI</a> is a sequence
+of characters from the Universal Character Set [<a href="refs.html#ref-UNICODE">UNICODE</a>].
+A URI is constructed from a much more restricted set of characters. All URIs are
+already conformant <a>IRIs</a>. A mapping from <a>IRIs</a> to URIs is defined by
+the <a>IRI</a> specification, which means that IRIs can be used instead of URIs
+in XML documents, to identify resources. <a>IRIs</a> can be converted to URIs
+for resolution on a network, if the protocol does not support <a>IRIs</a>
+directly.</p>
- <p>SVG makes extensive use of <a>IRI</a>
- references, both absolute and relative, to other
- objects. For example, to <a>fill</a> a rectangle with a linear
- gradient, you first define a <a>'linearGradient'</a> element and give
- it an ID, as in:</p>
- <edit:example href="images/linking/05_07.xml" image="no" link="no">
- </edit:example><p>You then reference the linear gradient as the value of the
- <a href="painting.html#FillProperty"><span class="property">'fill'</span></a> property for the rectangle, as in the following example:</p>
+<p>Previous versions of SVG, following XLink, defined an IRI reference type
+as a URI <em>or as a sequence of characters which must result in an IRI after a
+particular escaping procedure was applied</em>. The escaping procedure was repeated in the
+XLink 1.0 specification [<a href="refs.html#ref-XLINK">XLINK</a>], and in the
+W3C XML Schema Part 2: Datatypes specification [<a href="refs.html#ref-SCHEMA2">SCHEMA2</a>].
+This copying introduced the possibility of error and divergence, but was done
+because the <a>IRI</a> specification was not yet standardized.</p>
+
+<p>In this specification, the correct term <a>IRI</a> 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
+<a href="http://www.ietf.org/rfc/rfc3987.txt">IRI specification</a> [<a href="refs.html#ref-RFC3987">RFC3987</a>],
+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 <a>IRI</a> directly.</p>
+
+<h3 id="IRIforms">Syntactic forms: IRI and FuncIRI</h3>
- <edit:example href="images/linking/05_08.xml" image="no" link="no">
- </edit:example>
+<p>IRIs are used in the <a>'animate/xlink:href'</a> attribute. Some attributes
+allow both IRIs and text strings as content. To disambiguate a text string from
+a relative IRI, the functional notation
+<a href="types.html#DataTypeFuncIRI"><FuncIRI></a> is used. This is simply
+an IRI delimited with a functional notation. <strong>Note:</strong> For
+historical reasons, the delimiters are "url(" and ")", for compatibility with
+the CSS specifications. The FuncIRI form is used in <a href="styling.html#StylingUsingPresentationAttributes">presentation attributes</a><!--
+not in 1.1
+and <a href="interact.html#navigation">navigation attributes</a> -->.</p>
+
+<p>SVG makes extensive use of <a>IRI</a> references, both absolute and relative,
+to other objects. For example, to <a>fill</a> a rectangle with a linear
+gradient, you first define a <a>'linearGradient'</a> element and give
+it an ID, as in:</p>
+
+<edit:example href="images/linking/05_07.xml" image="no" link="no"/>
+
+<p>You then reference the linear gradient as the value of the
+<a>'fill'</a> property for the rectangle, as in the following example:</p>
+
+<edit:example href="images/linking/05_08.xml" image="no" link="no"/>
<!-- old stuff from 1.1 for checking
@@ -212,29 +219,31 @@
<h3 id="xlinkRefAttrs">IRI reference attributes</h3>
- <p id="xlinkRefAttrsEmbed"><a>IRI references</a> are normally specified with an <span
- class="attr-name">'href'</span> attribute in the XLink [<a
- href="http://www.w3.org/TR/xlink/">XLink</a>] namespace. For example,
- if the
- prefix of 'xlink' is used for attributes in the XLink
- namespace, then the attribute is <!-- not shall; could also have duplicate prefixes defined.--> be specified as <span
- class="attr-name">'xlink:href'</span>. The value of this
- attribute forms a reference for the desired resource (or
- secondary resource, if there is a fragment identifier).</p>
- <p>The value of the <span class="attr-name">'href'</span>
- attribute must be an <a href="types.html#DataTypeIRI"><span
- class="svg-term">Internationalized Resource Identifier</span></a>.</p>
+<p id="xlinkRefAttrsEmbed"><a>IRI references</a> are normally specified with an
+<span class="attr-name">'href'</span> attribute in the XLink
+[<a href="http://www.w3.org/TR/xlink/">XLink</a>] namespace. For example, if the
+prefix of 'xlink' is used for attributes in the XLink namespace, then the
+attribute is <!-- not "shall be"; could also have duplicate prefixes defined.-->
+specified as <span class="attr-name">'xlink:href'</span>. The value of this
+attribute forms a reference for the desired resource (or secondary resource, if
+there is a fragment identifier).</p>
- <p>If the protocol, such as HTTP, does not support <a>IRIs</a> directly,
- the <a>IRI</a> is converted to a URI by the SVG implementation, as described
- in section 3.1 of the <a href="http://www.ietf.org/rfc/rfc3987.txt">IRI specification</a> [<a href="refs.html#ref-RFC3987">RFC3987</a>.</p>
- <p>Because it is impractical for any application to check that
- a value is an <a>IRI reference</a>, this specification follows the lead
- of the <a href="http://www.ietf.org/rfc/rfc3986.txt">IRI Specification</a>
- in this matter and imposes no such conformance testing
- requirement on SVG applications.</p>
- <p>If the <a>IRI reference</a> is relative, its absolute version must be computed by the method described in
- <a href="http://www.w3.org/TR/xmlbase/">XML Base</a> before use [<a href="refs.html#ref-XML-BASE">XML-BASE</a>].</p>
+<p>The value of the <span class="attr-name">'href'</span>
+attribute must be an
+<a href="types.html#DataTypeIRI"><span class="svg-term">Internationalized Resource Identifier</span></a>.</p>
+
+<p>If the protocol, such as HTTP, does not support <a>IRIs</a> directly,
+the <a>IRI</a> is converted to a URI by the SVG implementation, as described
+in section 3.1 of the <a href="http://www.ietf.org/rfc/rfc3987.txt">IRI specification</a> [<a href="refs.html#ref-RFC3987">RFC3987</a>].</p>
+
+<p>Because it is impractical for any application to check that
+a value is an <a>IRI reference</a>, this specification follows the lead
+of the <a href="http://www.ietf.org/rfc/rfc3986.txt">IRI Specification</a>
+in this matter and imposes no such conformance testing
+requirement on SVG applications.</p>
+
+<p>If the <a>IRI reference</a> is relative, its absolute version must be computed by the method described in
+<a href="http://www.w3.org/TR/xmlbase/">XML Base</a> before use [<a href="refs.html#ref-XML-BASE">XML-BASE</a>].</p>
<div class="adef-list">
<dl>
@@ -350,19 +359,14 @@
</dl>
</div>
- <p>In all cases, for compliance with either the "Namespaces in XML 1.0" or the "Namespaces in XML 1.1"
- Recommendation [<a
- href="http://www.w3.org/TR/REC-xml-names/">XML-NS10</a>][<a
- href="http://www.w3.org/TR/xml-names11/">XML-NS</a>], 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 <span class="attr-name">'xmlns'</span> attribute
- for the XLink namespace on the <a href="struct.html#SVGElement"><span
- class="element-name">'svg'</span></a> element for content that uses
- XLink attributes. For example:</p>
-
-
+<p>In all cases, for compliance with either the "Namespaces in XML 1.0" or the "Namespaces in XML 1.1"
+Recommendation [<a href="http://www.w3.org/TR/REC-xml-names/">XML-NS10</a>][<a href="http://www.w3.org/TR/xml-names11/">XML-NS</a>],
+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 <span class="attr-name">'xmlns'</span> attribute
+for the XLink namespace on the <a>'svg'</a> element for content that uses
+XLink attributes. For example:</p>
<pre class='xml'><![CDATA[
<svg xmlns:xlink="http://www.w3.org/1999/xlink" ...>
@@ -381,8 +385,8 @@
<p>SVG uses XLink ([<a href="http://www.w3.org/TR/2001/REC-xlink-20010627/">XLink</a>])
for all link definitions. SVG 1.1 only requires
that user agents support XLink's notion of
-<a href="http://www.w3.org/TR/2001/REC-xlink-20010627/#simple-links">
-simple links</a>. Each simple link associates exactly two resources, one
+<a href="http://www.w3.org/TR/2001/REC-xlink-20010627/#simple-links">simple links</a>.
+Each simple link associates exactly two resources, one
local and one remote, with an arc going from the former to the latter.</p>
<p>A simple link is defined for each separate rendered element contained
@@ -392,12 +396,11 @@
element is the local resource (the source anchor for the link).</p>
<p>The remote resource (the destination for the link) is defined by
-a <a href="linking.html#IRIReference">IRI</a> specified by the XLink
-<a>'xlink:href'</a> attribute on the <a>'a'</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
+an <a>IRI</a> specified by the <a>'xlink:href'</a> attribute on the <a>'a'</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.</p>
<p id="ExampleLink01"><span class="example-ref">Example link01</span> assigns
@@ -503,7 +506,6 @@
<h3 id="IntroFragmentsViews">Introduction: IRI fragments and SVG views</h3>
-
<p>Because SVG content often represents a picture or drawing
of something, a common need is to link into a particular
<em>view</em> of the document, where a view indicates
@@ -597,13 +599,14 @@
(e.g., <span class="attr-value">#svgView(viewBox(0,0,200,200))</span>)
and semicolons are used to separate attributes (e.g.,
<span class="attr-value">#svgView(viewBox(0,0,200,200);preserveAspectRatio(none))</span>).</p>
-<p>
-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.
-</p>
-<p>The five types of <span class="code-fragment">SVGViewAttribute</span> may occur in any order, but each type may only occur at most one time in a correctly formed <span class="code-fragment">SVGViewSpec</span>.</p>
+<p>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.</p>
+
+<p>The five types of <span class="code-fragment">SVGViewAttribute</span> may occur
+in any order, but each type may only occur at most one time in a correctly
+formed <span class="code-fragment">SVGViewSpec</span>.</p>
<p>When a source document performs a link into an SVG document, for example
via an <a href="http://www.w3.org/TR/1999/REC-html401-19991224/struct/links.html#h-12.2">HTML anchor element</a>
@@ -644,8 +647,7 @@
<edit:with element='view'>
-<p>The <span class="element-name">'view'</span> element is defined
-as follows:</p>
+<p>The <span class="element-name">'view'</span> element is defined as follows:</p>
<edit:elementsummary name='view'/>
@@ -667,12 +669,16 @@
<h3 id="ViewHighlight">Highlighting views</h3>
-<p>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.</p>
+<p>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
+<a>SVG user agent</a> has no way to determine what changes would make the
+elements more visible.</p>
-<p>The CSS :target selector ([<a href="refs.html#ref-SELECTORS">SELECTORS</a>], section 6.2.2) may be used in a stylesheet to provide alternate styling for elements which are the target of links. For example:</p>
+<p>The CSS :target selector ([<a href="refs.html#ref-SELECTORS">SELECTORS</a>],
+section 6.2.2) may be used in a stylesheet to provide alternate styling for
+elements which are the target of links. For example:</p>
- <edit:example href="images/linking/target.xml" image="no" link="no">
- </edit:example>
+<edit:example href="images/linking/target.xml" image="no" link="no"/>
<h2 id="DOMInterfaces">DOM interfaces</h2>