HLink: Link Recognition for the XHTML family

Added on Oct. 31, 2025Managed by lisa
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>HLink</title> <style type="text/css"> .unfinished { font-style: normal; background-color: #FFFF33} .dtd-code { font-family: monospace; background-color: #dfdfdf; white-space: pre; border: #000000; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px} code { color: green; font-family: monospace; font-weight: bold; } h4 { color: #005A9C; background: white } code.greenmono { color: green; font-family: monospace; font-weight: bold; } .example { border: solid green; border-width: 2px; color: green; font-weight: bold; margin-right: 5%; margin-left: 0; } .bad { border: solid red; border-width: 2px; margin-left: 0; margin-right: 5%; color: rgb(192, 101, 101); } div.navbar { text-align: center; } div.contents { background-color: rgb(204,204,255); padding: 0.5em; border: none; margin-right: 5%; } .tocline { list-style: none; } td { text-align: left } .ins { background-color: yellow } .del { background-color: yellow; text-decoration: line-through } .issue { background-color: #cfc ; border: none ; margin-right: 5% ; } pre.dtd, pre.rng, pre.xsd { white-space: pre; font-family: monospace; font-weight: normal; margin-right: 0; margin-left: 0; } </style> <link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-WG-NOTE" /> </head> <body> <div class="head"> <a href="https://www.w3.org/"><img height="48" width="72" alt="W3C" src="https://www.w3.org/Icons/w3c_home" /></a> <h1><a id="title" name="title">HLink</a></h1> <h2><a id="subtitle" name="subtitle">Link recognition for the XHTML Family</a></h2> <h2><a id="date" name="date">W3C Working Group Note 16 December 2010</a></h2> <dl> <dt>This version:</dt> <dd><a href="https://www.w3.org/TR/2010/NOTE-hlink-20101216">http://www.w3.org/TR/2010/NOTE-hlink-20101216</a></dd> <dt>Latest version:</dt> <dd><a href="https://www.w3.org/TR/hlink">http://www.w3.org/TR/hlink</a></dd> <dt>Previous version:</dt> <dd><a href="https://www.w3.org/TR/2002/WD-hlink-20020913/">http://www.w3.org/TR/2002/WD-hlink-20020913</a></dd> <dt>Diff-marked version:</dt> <dd><a href="hlink-diff.html">hlink-diff.html</a></dd> <dt>Editors:</dt> <dd><a href="mailto:[email protected]">Steven Pemberton</a>, <a href="http://www.cwi.nl/">CWI</a>/W3C</dd> <dd><a href="mailto:[email protected]">Masayasu Ishikawa</a>, W3C</dd> </dl> <p>This document is also available in these non-normative formats: <a href="hlink.ps">PostScript version</a>, <a href="hlink.pdf"><abbr title="Portable Document Format">PDF</abbr> version</a>, <a href="hlink.zip">ZIP archive</a>, and <a href="hlink.tgz">Gzip'd TAR archive</a>.</p> <p class="copyright"><a href="https://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> &copy; 2002-2010 <a href="https://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>&reg;</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="https://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="https://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="https://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p> <hr /> </div> <h2><a id="abstract" name="abstract">Abstract</a></h2> <p>The HLink module defined in this specification provides XHTML Family Members with the ability to specify which attributes of elements represent links, and how those links should be traversed, and extends XLink use to a wider class of languages than those restricted to the syntactic style allowed by XLink.</p> <h2><a id="status" name="status">Status of This Document</a></h2> <p><em>This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the <a href="https://www.w3.org/TR/">W3C technical reports index</a> at http://www.w3.org/TR/.</em></p> <p>This document is a Working Group Note. The XHTML2 Working Group's charter expired before it could complete work on this document. It is possible that the work will be continued by another group in the future.</p> <p>Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.</p> <p>This document has been produced by the <a href="https://www.w3.org/MarkUp/">W3C XHTML 2 Working Group</a> as part of the <a href="https://www.w3.org/MarkUp/Activity">HTML Activity</a>. The goals of the XHTML 2 Working Group are discussed in the <a href="https://www.w3.org/2007/03/XHTML2-WG-charter">XHTML 2 Working Group charter</a>.</p> <p>This document was produced by a group operating under the <a href="https://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent Policy</a>. W3C maintains a <a rel="disclosure" href="https://www.w3.org/2004/01/pp-impl/32107/status">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <a href="https://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the information in accordance with <a href="https://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the W3C Patent Policy</a>.</p> <p>Public discussion of HTML takes place on <a href="mailto:[email protected]">[email protected]</a> (<a href="http://lists.w3.org/Archives/Public/www-html/">archive</a>). To subscribe send an email to <a href="mailto:[email protected]">[email protected]</a> with the word <em>subscribe</em> in the subject line.</p> <p>Please report errors in this document to <a href="mailto:[email protected]">[email protected]</a> (<a href="http://lists.w3.org/Archives/Public/www-html-editor/">archive</a>). </p> <div class="toc"> <h2><a id="contents" name="contents">Contents</a></h2> <ul class="toc"> <li>1. <a href="#s_intro">Introduction</a></li> <li>2. Definitions</li> <li>3. <a href="#s_hlink_module">The HLink Module</a> <ul> <li>3.1. <a href="#s_hlinks-element">The hlinks Element</a></li> <li>3.2. <a href="#s_hlink-element">The hlink Element</a></li> <li>3.3. <a href="#s_examples">Examples</a></li> </ul> </li> <li>4. <a href="#s_usage">Usage</a></li> <li>A. <a href="#a_module_definition">Module Implementations</a> <ul> <li>A.1. <a href="#a_DTD_definition">DTD Implementation</a> <ul> <li>A.1.1. <a href="#a_DTD">HLink DTD</a></li> <li>A.1.2 <a href="#a_DTD_qname">HLink Qname Module</a></li> </ul> </li> <li>A.2. <a href="#a_RELAXNG_definition">RELAX NG Implementation</a></li> <li>A.3. <a href="#a_XMLSchema_definition">XML Schema Implementation</a></li> </ul> </li> <li>B. <a href="#s_refs">References</a> <ul> <li>B.1. <a href="#s_norm-refs">Normative References</a></li> <li>B.2. <a href="#s_other-refs">Other References</a></li> </ul> </li> </ul> </div> <!--OddPage--> <h2><a id="s_intro">1. Introduction</a></h2> <p><em>This section is informative.</em></p> <p>This document defines markup that can be used to describe links in XHTML Family members. It consists of two elements that are used to associate properties with markup elements and attributes to describe how they behave as links. Many of the descriptive properties are taken from XLink [<a href="#ref_xlink">XLINK</a>], but with additions to support the behaviour of links in XHTML.</p> <h2 id="s_definitions">2. Definitions</h2> <p>[TBD]</p> <!--OddPage--> <h2><a id="s_hlink_module">3. The HLink Module</a></h2> <p><em>This section is normative.</em></p> <p>This specification defines a module called HLink. The module uses the XML Namespaces [<a href="#ref_name">NAME</a>] identifier <code>http://www.w3.org/2002/06/hlink</code>.</p> <p>Examples in this document that use the namespace prefix "<code>hlink</code>" all assume an <code>xmlns</code> declaration <code>xmlns:hlink="http://www.w3.org/2002/06/hlink"</code> somewhere suitable in the document involved. All examples are informative.</p> <p>The remainder of this section describes the elements and attributes in this module, the semantics, and provides an abstract module definition as required in [<a href="#ref_xmod">XHTMLMOD</a>].</p> <p>The HLink Module supports the following element and attributes:</p> <table class="moduledef" border="1" summary="Element and Attributes for HLink Module"> <thead> <tr> <th>Element</th> <th>Attributes</th> <th>Minimal Content Model</th> </tr> </thead> <tbody> <tr> <td>hlinks</td> <td>-</td> <td>hlink+</td> </tr> <tr> <td>hlink</td> <td>namespace* (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI</a>), element (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_NAME">NAME</a>),<br /> locator (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_NAME">NAME</a>), locatorValue (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI</a>),<br /> <!--(<a href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI</a>),--> effect (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_NAME">NAME</a>), effectValue (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI</a>),<br /> <!--("new" | "replace"* | "embed" | "submit" | "map"),--> actuate (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_NAME">NAME</a>), <!--("onLoad" | "onRequest"* | "onRequestSecondary"),--> actuateValue (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI</a>),<br /> replacement (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_NAME">NAME</a>), replacementValue (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI</a>),<br /> role (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_NAME">NAME</a>), roleValue (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI),</a> <br /> shape (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_CDATA">CDATA</a>), <!--(<a href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_Shape">Shape</a>),--> shapeValue (TBD), <br /> coords (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_CDATA">CDATA</a>), coordsValue (TBD),<!--(<a href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_Coords">Coords</a>),--> <br /> contentType<!--(<a href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_ContentType">ContentType</a>),--> (ContentType), contentTypeValue (TBD), <br /> onSuccess (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_CDATA">CDATA</a>), onSuccessValue (TBD),<br /> <!--("processChildren" | "ignoreChildren"*),--> onFailure (<a href="https://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_CDATA">CDATA</a>), onFailureValue (TBD)<!--("processChildren" | "ignoreChildren" | "warn"* | "fail")--> </td> <td>EMPTY</td> </tr> </tbody> </table> <p>Implementations: <a href="#a_DTD_definition">DTD</a>, <a href="#a_RELAXNG_definition">RELAX NG</a>, <a href="#a_XMLSchema_definition">XML Schema</a></p> <h3><a id="s_hlinks-element" name="s_hlinks-element">3.1. The hlinks Element</a></h3> <p>The <code>hlinks</code> element exists only to be a root element for a document containing only <code>hlink</code> elements; see<a href="#s_usage">section 4 Usage</a>, and the hlink:definition attribute defined there.</p> <div class="issue"> <p>[[Issue: you could define inheritance in nested <code>hlink</code> elements:</p> <pre>&lt;hlink namespace="..."&gt; &lt;hlink element="a" ... /&gt; &lt;hlink element="b" ... /&gt; &lt;/hlink&gt;</pre> <p>which would make writing descriptions easier, and make an outer <code>hlinks</code> elements unnecessary, though at the cost of slightly complicating implementation]]</p> </div> <h3><a id="s_hlink-element" name="s_hlink-element">3.2. The hlink Element</a></h3> <p>Element <code>hlink</code> is used to identify an element and/or attributes within a namespace, and associate properties with them to specify how the element should be treated as a link, or how the attributes contribute to an element that is a link. The <code>hlink</code> element has the following attributes:</p> <dl> <dt>namespace</dt> <dd>This required attribute specifies a namespace URI that the element identified in the <code>element</code> attribute belongs to, or the other attributes when the <code>element</code> attribute is omitted.</dd> <dt>element</dt> <dd>This optional attribute specifies an element in the namespace identified by the attribute <code>namespace</code>. The rest of the attributes below specify properties of this element. If this attribute is absent, then the attributes describe global attributes (as defined in [<a href="#ref_name">NAME</a>]) within the namespace instead; these attributes then describe the element that they are actually on in the markup. If this attribute has the special value "<code>*</code>" then the rest of the attributes describe all suitable elements in the namespace (as defined by a DTD or schema); for instance, if the <code>hlink</code> element defines an attribute <code>href</code> for an <code>element</code> value of <code>*</code>, then all elements that the DTD allows to have an attribute <code>href</code> are so defined.</dd> </dl> <p>The remaining attributes come in two variants: one variant specifies a value that indicates how the element is to behave as a link-related element, and the other specifies the name of an attribute on the element being defined that supplies the value. For instance:</p> <pre>locatorValue="http://www.w3.org/"</pre> <p>says that the element in question is a locator for a fixed URI, namely <code>http://www.w3.org/</code>. On the other hand:</p> <pre>locator="href"</pre> <p>says that the element in question has an attribute named <code>href</code>, that contains the URI of the locator.</p> <p>If both variants are used, then the attribute-name version takes precedence: if the named attribute (for instance <code>locator</code>) has a value, that value is used, otherwise the value attribute is used (in this case <code>locatorValue</code>).</p> <p>As a shorthand, whenever this specification refers to a <em>property</em>, it means the final value via the combination of such a pair. For instance "if the <code>effect</code> property has the value <code>replace</code>" means "if the <code>effect</code> attribute refers to an attribute that has the value <code>replace</code> or the <code>effectValue</code> attribute has the value <code>replace</code>".</p> <p>The properties are:</p> <dl> <dt>locator</dt> <dd>This property specifies a URI-reference [anyURI] for the link. There is no default value.<br /> <span class="issue">[[Issue: URI lists, like html:archive]]</span></dd> <dt>effect</dt> <dd>This property specifies the effect of actuating the link. It has the following possible values: <dl> <dt>new</dt> <dd>The resource identified by the <code>locator</code> property is loaded in a new context. For instance in a windowing environment, the resource is loaded in a new window.</dd> <dt>replace</dt> <dd>A suitable context, as identified by the <code>replacement</code> property, is located, and the resource in that context is replaced by the resource identified by the <code>locator</code> property. If no such resource can be located, a new context with that name is created, initialised with the identified resource. If there is no <code>replacement</code> property then the initiating resource is replaced by the resource identified by the <code>locator</code> property.</dd> <dt>embed</dt> <dd>The resource identified by the <code>locator</code> property is considered to be embedded in the environment of the initiating resource. This includes images and other media resources, as well as such resources as scripts and style sheets. <p><span class="issue">[[Issue: define embed more precisely]]</span></p> </dd> <dt>submit</dt> <dd>The locator is used to submit a form. <p><span class="issue">[[More needs to be described here]]<br /> [[Issue: is form submission linking?]]</span></p> </dd> <dt>map</dt> <dd>The resource identified by the <code>locator</code> property describes how the presentation of the current element is to be interpreted as a series of links to further resources. <p><span class="issue">[[More/better: this is here as a placeholder to describe XHTML's image maps]]</span></p> </dd> </dl> <p>The default value is <code>replace</code>.</p> </dd> <dt>actuate</dt> <dd>This property specifies the manner that the link should or can be actuated. It has the following possible values: <dl> <dt>onLoad</dt> <dd>Actuation of the link is done on loading the initiating resource.</dd> <dt>onRequest</dt> <dd>Actuation is done by the user using the primary actuation method or by a method (such as scripting) imitating this behavior.</dd> <dt>onRequestSecondary</dt> <dd>Actuation is done by the user using a secondary actuation method or by a method (such as scripting) imitating this behavior. For instance, an element specifying a link (such as XHTML's <code>a</code> element) may contain an image (for instance using XHTML's <code>img</code> element) that additionally has a link to a resource describing that image (such as XHTML's <code>longdesc</code> attribute). The primary actuation method must activate the <code>a</code> element; the secondary actuation method must allow the user to request activation of any of the other resources available at that point (for instance via a pop-up menu).</dd> </dl> <p>The default value is <code>onRequest</code>.</p> </dd> <dt>replacement</dt> <dd>This property specifies an environment in the case that the <code>effect</code> property has the value <code>replace</code>. If the <code>effect</code> property does not have that value, the <code>replacement</code> property is ignored.</dd> <dt>role</dt> <dd><p>This property gives information to the user agent about the role the link plays. <span class="issue">[[More]]</span></p> <p class="issue">[[These are the values that rel and rev can take according to HTML 4: Contents Glossary Copyright Chapter Section Subsection Appendix Help Bookmark Index Next Prev Alternate Start Stylesheet, and other specifications have added other values; e.g. P3P]]</p> </dd> <dt>shape</dt> <dd class="issue">[[for image maps: default rect circle poly]]</dd> <dt>coords</dt> <dd class="issue">[[For image maps: list of coordinates [[or percentages?]]]]</dd> <dt>contentType</dt> <dd>This property specifies the allowable content types of the relevant resource. At its most general, it is a comma-separated list of media ranges with optional accept parameters, as defined in section 14.1 of [<a class="nref" href="https://www.w3.org/TR/2003/WD-xhtml2-20030131/references.html#ref_RFC2616">RFC2616</a>] as the field value of the accept request header. <p>In its simplest case, this is just a media type, such as "image/png" or "application/xml", but it may also contain asterisks, such as "image/*" or "*/*", or lists of acceptable media types, such as "image/png, image/gif, image/jpeg".</p> <p>The user agent must combine this list it with its own list of acceptable media types by taking the intersection, and then use the resulting list as the field value of the <code>accept</code> request header when requesting the resource using HTTP.</p> <p>For instance, if the property specifies the value "image/png, image/gif, image/jpeg", but the user agent does not accept images of type "image/gif" then the resultant accept header would contain "image/png, image/jpeg".</p> <p>A user agent should imitate similar behavior when using other methods than HTTP. For instance, when accessing files in a local filestore, a <code>contentType</code> property of <code>"image/png, image/jpeg"</code> might cause the user agent first to look for a file with extension <code>.png</code>, and then for one with extension <code>.jpg</code>.</p> <p>If this property is not present, "*/*" is used for its value.</p> </dd> <dt>onSuccess</dt> <dd>This property indicates the required processing after successfully actuating a link that has an <code>effect</code> property of <code>embed</code> and an <code>actuate</code> property of <code>onLoad</code>. It has two values: <dl> <dt>processChildren</dt> <dd>processing should continue by processing the children of the element</dd> <dt>ignoreChildren</dt> <dd>processing should continue by ignoring the children of the element</dd> </dl> <p>(If the element has no children, these two values are equivalent)</p> <p>The default value is <code>ignoreChildren</code>.</p> </dd> <dt>onFailure</dt> <dd>This property indicates the required processing when a link that has an <code>effect</code> property of <code>embed</code> and an <code>actuate</code> property of <code>onLoad</code> cannot be actuated, either because of network failure or the resource not being available or found, or because the user agent cannot process the resource or the <code>contentType</code> property indicates that the user agent would not be able to process the resource. It has four possible values: <dl> <dt>processChildren</dt> <dd>processing should continue by processing the children of the element</dd> <dt>ignoreChildren</dt> <dd>processing should continue by ignoring the children of the element</dd> <dt>warn</dt> <dd>processing continues, though it must be made obvious to the user that the actuation failed</dd> <dt>fail</dt> <dd>processing stops with an error message</dd> </dl> <p>The default value is <code>warn</code>.</p> </dd> </dl> <p class="issue">[[Issue: onSuccess and onFailure need more work to cover other onLoad cases]]</p> <p><span class="issue">[[Issue: replace onSuccess/onFailure with fallback="..."?]]</span></p> <p class="issue">[[Issue: markup for case where link has a side-effect needed?]]</p> <h2><a id="s_examples" name="s_examples">3.3. Examples</a></h2> <ol> <li>The definition of the <code>&lt;a href="..."&gt;</code> element in XHTML: <pre>&lt;hlink namespace="http://www.w3.org/1999/xhtml" element="a" locator="href" effectValue="replace" actuateValue="onRequest" replacement="target"/&gt;</pre> </li> <li>Defining <code>&lt;img/&gt;</code> in XHTML <pre>&lt;hlink namespace="http://www.w3.org/1999/xhtml" element="img" locator="src" effectValue="embed" actuateValue="onLoad" onFailureValue="warn"/&gt; &lt;hlink namespace="http://www.w3.org/1999/xhtml" element="img" locator="longdesc" effectValue="new" actuateValue="onRequestSecondary"/&gt; &lt;hlink namespace="http://www.w3.org/1999/xhtml" element="img" locator="usemap" effectValue="map" actuateValue="onLoad"/&gt;</pre> </li> <li>Defining <code>&lt;object&gt;</code> in XHTML <pre>&lt;hlink namespace="http://www.w3.org/1999/xhtml" element="object" locator="data" effectValue="embed" actuateValue="onLoad" onFailureValue="processChildren" onSuccessValue="ignoreChildren"/&gt;</pre> </li> <li>Defining a new <code>&lt;home/&gt;</code> element <pre>&lt;hlink namespace="http://www.example.com/markup" element="home" locatorValue="/" effectValue="replace" actuateValue="onRequest"/&gt; &lt;hlink namespace="http://www.example.com/markup" element="home" locatorValue="/icons/home.png" effectValue="embed" actuateValue="onLoad"/&gt;</pre> <p>In the context of this definition, and the namespace declaration</p> <pre>xmlns="http://www.example.com/markup"</pre> <p>the markup</p> <pre>&lt;home/&gt;</pre> <p>will display a clickable icon that takes the user to the home page.</p> </li> <li>Defining redirection: <pre>&lt;hlink namespace="http://www.example.com/markup" element="redirect" locator="href" effectValue="replace" actuateValue="onLoad"/&gt;</pre> <p>In the context of this definition and a suitable namespace declaration, the following markup will cause the initiating resource to be redirected:</p> <pre>&lt;redirect href="whereever"&gt;This page has moved&lt;/redirect&gt;</pre> </li> <li>Defining <code>&lt;html:blockquote&gt;</code> <pre>&lt;hlink namespace="http://www.w3.org/1999/xhtml" element="blockquote" locator="cite" effectValue="new" actuateValue="onRequestSecondary"/&gt;</pre> </li> <li>Defining RDF <pre>&lt;hlink namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#" element="Description" locator="about" effectValue="new" actuateValue="onRequestSecondary"/&gt; &lt;hlink namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#" locator="resource" effectValue="new" actuateValue="onRequestSecondary"/&gt;</pre> </li> </ol> <h2><a id="s_usage" name="s_usage">4. Usage</a></h2> <p><em>This section is normative.</em></p> <p>There are two ways to use HLink. The first is <span class="issue">[[by putting the <code>&lt;hlink&gt;s</code> in the <code>&lt;head&gt;</code>, and the other by putting them in a separate resource, and referring to that resource by a <code>hlink:definition</code> URI attribute on the root element of the document</span></p> <div class="issue"> <p>Either this</p> <pre>&lt;html hlink:definition="http://www.example.org/whatever" ...&gt;</pre> <p>or this:</p> <pre>&lt;html ...&gt; &lt;head&gt; &lt;hlink:hlink ... /&gt; ... &lt;/head&gt;</pre> <p>]]</p> </div> <!--OddPage--> <h2><a id="a_module_definition" name="a_module_definition">A. Module Implementations</a></h2> <p>This appendix is <em>normative</em>.</p> <p>[[NOT YET UP TO DATE]]</p> <h3><a id="a_DTD_definition" name="a_DTD_definition">A.1. DTD Implementation</a></h3> <h3><a id="a_DTD" name="a_DTD">A.1.1. HLink DTD</a></h3> <pre class="dtd">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!-- ...................................................................... --&gt; &lt;!-- HLink DTD ............................................................ --&gt; &lt;!-- URI: http://www.w3.org/2002/06/hlink.dtd This is HLink - a link recongnition mechanism for the XHTML Family. Copyright &copy;2002 W3C (MIT, INRIA, Keio), All Rights Reserved. Editor: Masayasu Ishikawa &lt;[email protected]&gt; Revision: $Id: Overview.html,v 1.5 2018/10/09 13:23:57 denis Exp $ Permission to use, copy, modify and distribute the HLink DTD and its accompanying documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of this DTD for any purpose. It is provided "as is" without expressed or implied warranty. This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//DTD HLink 1.0//EN" SYSTEM "http://www.w3.org/2002/06/hlink.dtd" Revisions: (none) ....................................................................... --&gt; &lt;!-- HLink hlinks, hlink This HLink DTD declares elements and attributes defining HLink, a link recongnition mechanism for the XHTML Family. --&gt; &lt;!-- Datatypes defines containers for the following datatypes, many of these imported from other specifications and standards - not quite used at the moment. --&gt; &lt;!-- media type, as per [RFC2045] --&gt; &lt;!ENTITY % ContentType.datatype "CDATA" &gt; &lt;!-- comma separated list of coordinates to use in defining areas --&gt; &lt;!ENTITY % Coords.datatype "CDATA" &gt; &lt;!-- space-separated list of link types --&gt; &lt;!ENTITY % LinkTypes.datatype "NMTOKENS" &gt; &lt;!-- the shape of a region --&gt; &lt;!ENTITY % Shape.datatype "( default | rect | circle | poly )"&gt; &lt;!-- a Uniform Resource Identifier reference, as per anyURI in XML Schema Part 2 [SCHEMA] --&gt; &lt;!ENTITY % URI.datatype "CDATA" &gt; &lt;!-- HLink Qname (Qualified Name) Module --&gt; &lt;!ENTITY % hlink-qname.mod PUBLIC "-//W3C//ENTITIES HLink Qualified Names 1.0//EN" "hlink-qname.mod" &gt; %hlink-qname.mod; &lt;!-- hlinks element .................................... --&gt; &lt;!ELEMENT %HLINK.hlinks.qname; ( %HLINK.hlink.qname; )+ &gt; &lt;!ATTLIST %HLINK.hlinks.qname; %HLINK.xmlns.attrib; &gt; &lt;!-- hlink element ..................................... --&gt; &lt;!ELEMENT %HLINK.hlink.qname; EMPTY &gt; &lt;!ATTLIST %HLINK.hlink.qname; %HLINK.xmlns.attrib; namespace %URI.datatype; #REQUIRED element NMTOKEN #IMPLIED locator CDATA #IMPLIED effect CDATA #IMPLIED actuate CDATA #IMPLIED replacement CDATA #IMPLIED role CDATA #IMPLIED reverseRole CDATA #IMPLIED shape CDATA #IMPLIED coords CDATA #IMPLIED arcrole CDATA #IMPLIED label CDATA #IMPLIED from CDATA #IMPLIED to CDATA #IMPLIED contentType CDATA #IMPLIED onSuccess CDATA #IMPLIED onFailure CDATA #IMPLIED &gt; &lt;!-- end of hlink.dtd --&gt;</pre> <h3><a id="a_DTD_qname" name="a_DTD_qname">A.1.2. HLink Qname Module</a></h3> <pre class="dtd">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!-- ....................................................................... --&gt; &lt;!-- HLink Qname Module ................................................... --&gt; &lt;!-- URI: http://www.w3.org/2002/06/hlink-qname.mod This is HLink - a link recongnition mechanism for the XHTML Family. Copyright &copy;2002 W3C (MIT, INRIA, Keio), All Rights Reserved. Revision: $Id: Overview.html,v 1.5 2018/10/09 13:23:57 denis Exp $ This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ENTITIES HLink Qualified Names 1.0//EN" SYSTEM "http://www.w3.org/2002/06/hlink-qname.mod" Revisions: (none) ....................................................................... --&gt; &lt;!-- HLink Qname (Qualified Name) Module This module is contained in two parts, labeled Section 'A' and 'B': Section A declares parameter entities to support namespace- qualified names, namespace declarations, and name prefixing for HLink and extensions. Section B declares parameter entities used to provide namespace-qualified names for all HLink element types: %HLINK.hlinks.qname; the xmlns-qualified name for &lt;hlinks&gt; ... --&gt; &lt;!-- Section A: HLink XML Namespace Framework :::::::::::::::::::: --&gt; &lt;!-- 1. Declare a %HLINK.prefixed; conditional section keyword, used to activate namespace prefixing. The default value should inherit '%HLINK.NS.prefixed;' from the DTD driver, so that unless overridden, the default behaviour follows the overall DTD prefixing scheme. --&gt; &lt;!ENTITY % HLINK.NS.prefixed "IGNORE" &gt; &lt;!ENTITY % HLINK.prefixed "%HLINK.NS.prefixed;" &gt; &lt;!-- 2. Declare a parameter entity (eg., %HLINK.xmlns;) containing the URI reference used to identify the HLink namespace --&gt; &lt;!ENTITY % HLINK.xmlns "http://www.w3.org/2002/06/hlink" &gt; &lt;!-- 3. Declare parameter entities (eg., %MODULE.prefix;) containing the default namespace prefix string(s) to use when prefixing is enabled. This may be overridden in the DTD driver or the internal subset of an document instance. If no default prefix is desired, this may be declared as an empty string. NOTE: As specified in [XMLNAMES], the namespace prefix serves as a proxy for the URI reference, and is not in itself significant. --&gt; &lt;!ENTITY % HLINK.prefix "hlink" &gt; &lt;!-- 4. Declare parameter entities (eg., %HLINK.pfx;) containing the colonized prefix(es) (eg., '%HLINK.prefix;:') used when prefixing is active, an empty string when it is not. --&gt; &lt;![%HLINK.prefixed;[ &lt;!ENTITY % HLINK.pfx "%HLINK.prefix;:" &gt; ]]&gt; &lt;!ENTITY % HLINK.pfx "" &gt; &lt;!-- declare qualified name extensions here ............ --&gt; &lt;!ENTITY % hlink-qname-extra.mod "" &gt; %hlink-qname-extra.mod; &lt;!-- 5. The parameter entity %HLINK.xmlns.extra.attrib; may be redeclared to contain any non-HLink namespace declaration attributes for namespaces embedded in XML. The default is an empty string. XLink should be included here if used in the DTD. --&gt; &lt;!ENTITY % HLINK.xmlns.extra.attrib "" &gt; &lt;![%HLINK.prefixed;[ &lt;!ENTITY % HLINK.NS.decl.attrib "xmlns:%HLINK.prefix; %URI.datatype; #FIXED '%HLINK.xmlns;' %HLINK.xmlns.extra.attrib;" &gt; ]]&gt; &lt;!ENTITY % HLINK.NS.decl.attrib "%HLINK.xmlns.extra.attrib;" &gt; &lt;!-- Declare a parameter entity %HLINK.NS.decl.attrib; containing all XML namespace declaration attributes used by HLink, including a default xmlns declaration when prefixing is inactive. --&gt; &lt;![%HLINK.prefixed;[ &lt;!ENTITY % HLINK.xmlns.attrib "%HLINK.NS.decl.attrib;" &gt; ]]&gt; &lt;!ENTITY % HLINK.xmlns.attrib "xmlns %URI.datatype; #FIXED '%HLINK.xmlns;' %HLINK.xmlns.extra.attrib;" &gt; &lt;!-- Section B: XML Qualified Names ::::::::::::::::::::::::::::: --&gt; &lt;!-- 6. This section declares parameter entities used to provide namespace-qualified names for all HLink element types. --&gt; &lt;!ENTITY % HLINK.hlinks.qname "%HLINK.pfx;hlinks" &gt; &lt;!ENTITY % HLINK.hlink.qname "%HLINK.pfx;hlink" &gt; &lt;!-- end of hlink-qname.mod --&gt;</pre> <h3><a id="a_RELAXNG_definition" name="a_RELAXNG_definition">A.2. RELAX NG Implementation</a></h3> <pre class="rng">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" ns="http://www.w3.org/2002/06/hlink" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"&gt; &lt;start&gt; &lt;choice&gt; &lt;ref name="hlinks"/&gt; &lt;/choice&gt; &lt;/start&gt; &lt;a:documentation&gt; HLink in RELAX NG URI: http://www.w3.org/2002/06/hlink.rng This is HLink - a link recongnition mechanism for the XHTML Family. Copyright &copy;2002 W3C (MIT, INRIA, Keio), All Rights Reserved. Editor: Masayasu Ishikawa ([email protected]) Revision: $Id: Overview.html,v 1.5 2018/10/09 13:23:57 denis Exp $ Permission to use, copy, modify and distribute the HLink RELAX NG schema and its accompanying documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of this RELAX NG schema for any purpose. It is provided "as is" without expressed or implied warranty. Revisions: (none) &lt;/a:documentation&gt; &lt;a:documentation&gt; HLink hlinks, hlink This HLink RELAX NG schema declares elements and attributes defining HLink, a link recongnition mechanism for the XHTML Family. &lt;/a:documentation&gt; &lt;a:documentation&gt; Datatypes defines containers for the following datatypes, many of these imported from other specifications and standards. &lt;/a:documentation&gt; &lt;define name="AttName"&gt; &lt;a:documentation&gt; the name of an attribute which begins with "@", a la @name &lt;/a:documentation&gt; &lt;data type="string"&gt; &lt;param name="pattern"&gt;@\c+&lt;/param&gt; &lt;/data&gt; &lt;/define&gt; &lt;define name="ContentType"&gt; &lt;a:documentation&gt; media type, as per [RFC2045] &lt;/a:documentation&gt; &lt;text/&gt; &lt;/define&gt; &lt;define name="Coords"&gt; &lt;a:documentation&gt; comma separated list of coordinates to use in defining areas &lt;/a:documentation&gt; &lt;data type="string"&gt; &lt;param name="pattern" &gt;[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*&lt;/param&gt; &lt;/data&gt; &lt;/define&gt; &lt;define name="LinkTypes"&gt; &lt;a:documentation&gt; space-separated list of link types &lt;/a:documentation&gt; &lt;data type="NMTOKENS"/&gt; &lt;/define&gt; &lt;define name="Shape"&gt; &lt;a:documentation&gt; the shape of a region &lt;/a:documentation&gt; &lt;choice&gt; &lt;value&gt;default&lt;/value&gt; &lt;value&gt;rect&lt;/value&gt; &lt;value&gt;circle&lt;/value&gt; &lt;value&gt;poly&lt;/value&gt; &lt;/choice&gt; &lt;/define&gt; &lt;define name="URI"&gt; &lt;a:documentation&gt; a Uniform Resource Identifier reference, as per anyURI in XML Schema Part 2 [SCHEMA] &lt;/a:documentation&gt; &lt;data type="anyURI"/&gt; &lt;/define&gt; &lt;define name="hlinks"&gt; &lt;a:documentation&gt; hlinks element &lt;/a:documentation&gt; &lt;element name="hlinks"&gt; &lt;oneOrMore&gt; &lt;ref name="hlink"/&gt; &lt;/oneOrMore&gt; &lt;/element&gt; &lt;/define&gt; &lt;define name="hlink"&gt; &lt;a:documentation&gt; hlink element &lt;/a:documentation&gt; &lt;element name="hlink"&gt; &lt;ref name="hlink.attlist"/&gt; &lt;/element&gt; &lt;/define&gt; &lt;define name="hlink.attlist"&gt; &lt;attribute name="namespace"&gt; &lt;ref name="URI"/&gt; &lt;/attribute&gt; &lt;optional&gt; &lt;attribute name="element"&gt; &lt;data type="NMTOKEN"/&gt; &lt;/attribute&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="locator"&gt; &lt;choice&gt; &lt;ref name="URI"/&gt; &lt;ref name="AttName"/&gt; &lt;/choice&gt; &lt;/attribute&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="effect" a:defaultValue="replace"&gt; &lt;choice&gt; &lt;value&gt;new&lt;/value&gt; &lt;value&gt;replace&lt;/value&gt; &lt;value&gt;embed&lt;/value&gt; &lt;value&gt;submit&lt;/value&gt; &lt;value&gt;map&lt;/value&gt; &lt;ref name="AttName"/&gt; &lt;/choice&gt; &lt;/attribute&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="actuate" a:defaultValue="onRequest"&gt; &lt;choice&gt; &lt;value&gt;onLoad&lt;/value&gt; &lt;value&gt;onRequest&lt;/value&gt; &lt;value&gt;onRequestSecondary&lt;/value&gt; &lt;ref name="AttName"/&gt; &lt;/choice&gt; &lt;/attribute&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="replacement"/&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="role"&gt; &lt;choice&gt; &lt;ref name="LinkTypes"/&gt; &lt;ref name="AttName"/&gt; &lt;/choice&gt; &lt;/attribute&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="reverseRole"&gt; &lt;choice&gt; &lt;ref name="LinkTypes"/&gt; &lt;ref name="AttName"/&gt; &lt;/choice&gt; &lt;/attribute&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="shape" a:defaultValue="default"&gt; &lt;choice&gt; &lt;ref name="Shape"/&gt; &lt;ref name="AttName"/&gt; &lt;/choice&gt; &lt;/attribute&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="coords"&gt; &lt;choice&gt; &lt;ref name="Shape"/&gt; &lt;ref name="AttName"/&gt; &lt;/choice&gt; &lt;/attribute&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="arcrole"&gt; &lt;choice&gt; &lt;ref name="URI"/&gt; &lt;ref name="AttName"/&gt; &lt;/choice&gt; &lt;/attribute&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="label"/&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="from"/&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="to"/&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="contentType"&gt; &lt;choice&gt; &lt;ref name="ContentType"/&gt; &lt;ref name="AttName"/&gt; &lt;/choice&gt; &lt;/attribute&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="onSuccess" a:defaultValue="ignoreChildren"&gt; &lt;choice&gt; &lt;value&gt;processChildren&lt;/value&gt; &lt;value&gt;ignoreChildren&lt;/value&gt; &lt;ref name="AttName"/&gt; &lt;/choice&gt; &lt;/attribute&gt; &lt;/optional&gt; &lt;optional&gt; &lt;attribute name="onFailure" a:defaultValue="warn"&gt; &lt;choice&gt; &lt;value&gt;processChildren&lt;/value&gt; &lt;value&gt;ignoreChildren&lt;/value&gt; &lt;value&gt;warn&lt;/value&gt; &lt;value&gt;fail&lt;/value&gt; &lt;ref name="AttName"/&gt; &lt;/choice&gt; &lt;/attribute&gt; &lt;/optional&gt; &lt;/define&gt; &lt;/grammar&gt;</pre> <h3><a id="a_XMLSchema_definition" name="a_XMLSchema_definition">A.3. XML Schema Implementation</a></h3> <pre class="xsd">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/2002/06/hlink" xmlns="http://www.w3.org/2002/06/hlink" elementFormDefault="qualified"&gt; &lt;xs:annotation&gt; &lt;xs:documentation&gt; HLink in XML Schema URI: http://www.w3.org/2002/06/hlink.xsd This is HLink - a link recongnition mechanism for the XHTML Family. Copyright &copy;2002 W3C (MIT, INRIA, Keio), All Rights Reserved. Editor: Masayasu Ishikawa ([email protected]) Revision: $Id: Overview.html,v 1.5 2018/10/09 13:23:57 denis Exp $ Permission to use, copy, modify and distribute the HLink XML Schema and its accompanying documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of this XML Schema for any purpose. It is provided "as is" without expressed or implied warranty. Revisions: (none) &lt;/xs:documentation&gt; &lt;/xs:annotation&gt; &lt;xs:annotation&gt; &lt;xs:documentation&gt; HLink hlinks, hlink This HLink XML Schema declares elements and attributes defining HLink, a link recongnition mechanism for the XHTML Family. &lt;/xs:documentation&gt; &lt;/xs:annotation&gt; &lt;xs:annotation&gt; &lt;xs:documentation&gt; Datatypes defines containers for the following datatypes, many of these imported from other specifications and standards. &lt;/xs:documentation&gt; &lt;/xs:annotation&gt; &lt;xs:simpleType name="AttName"&gt; &lt;xs:annotation&gt; &lt;xs:documentation&gt; the name of an attribute which begins with "@", a la @name &lt;/xs:documentation&gt; &lt;/xs:annotation&gt; &lt;xs:restriction base="xs:string"&gt; &lt;xs:pattern value="@\c+"/&gt; &lt;/xs:restriction&gt; &lt;/xs:simpleType&gt; &lt;xs:simpleType name="ContentType"&gt; &lt;xs:annotation&gt; &lt;xs:documentation&gt; media type, as per [RFC2045] &lt;/xs:documentation&gt; &lt;/xs:annotation&gt; &lt;xs:restriction base="xs:string"/&gt; &lt;/xs:simpleType&gt; &lt;xs:simpleType name="Coords"&gt; &lt;xs:annotation&gt; &lt;xs:documentation&gt; comma separated list of lengths &lt;/xs:documentation&gt; &lt;/xs:annotation&gt; &lt;xs:restriction base="xs:string"&gt; &lt;xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*"/&gt; &lt;/xs:restriction&gt; &lt;/xs:simpleType&gt; &lt;xs:simpleType name="LinkTypes"&gt; &lt;xs:annotation&gt; &lt;xs:documentation&gt; space-separated list of link types &lt;/xs:documentation&gt; &lt;/xs:annotation&gt; &lt;xs:restriction base="xs:NMTOKENS"/&gt; &lt;/xs:simpleType&gt; &lt;xs:simpleType name="Shape"&gt; &lt;xs:restriction base="xs:token"&gt; &lt;xs:enumeration value="default"/&gt; &lt;xs:enumeration value="rect"/&gt; &lt;xs:enumeration value="circle"/&gt; &lt;xs:enumeration value="poly"/&gt; &lt;/xs:restriction&gt; &lt;/xs:simpleType&gt; &lt;xs:simpleType name="URI"&gt; &lt;xs:annotation&gt; &lt;xs:documentation&gt; a Uniform Resource Identifier reference, as per anyURI in XML Schema Part 2 [SCHEMA] &lt;/xs:documentation&gt; &lt;/xs:annotation&gt; &lt;xs:restriction base="xs:anyURI"/&gt; &lt;/xs:simpleType&gt; &lt;xs:simpleType name="Effect"&gt; &lt;xs:restriction base="xs:token"&gt; &lt;xs:enumeration value="new"/&gt; &lt;xs:enumeration value="replace"/&gt; &lt;xs:enumeration value="embed"/&gt; &lt;xs:enumeration value="submit"/&gt; &lt;xs:enumeration value="map"/&gt; &lt;/xs:restriction&gt; &lt;/xs:simpleType&gt; &lt;xs:simpleType name="Actuate"&gt; &lt;xs:restriction base="xs:token"&gt; &lt;xs:enumeration value="onLoad"/&gt; &lt;xs:enumeration value="onRequest"/&gt; &lt;xs:enumeration value="onRequestSecondary"/&gt; &lt;/xs:restriction&gt; &lt;/xs:simpleType&gt; &lt;xs:simpleType name="OnSuccess"&gt; &lt;xs:restriction base="xs:token"&gt; &lt;xs:enumeration value="processChildren"/&gt; &lt;xs:enumeration value="ignoreChildren"/&gt; &lt;/xs:restriction&gt; &lt;/xs:simpleType&gt; &lt;xs:simpleType name="OnFailure"&gt; &lt;xs:restriction base="xs:token"&gt; &lt;xs:enumeration value="processChildren"/&gt; &lt;xs:enumeration value="ignoreChildren"/&gt; &lt;xs:enumeration value="warn"/&gt; &lt;xs:enumeration value="fail"/&gt; &lt;/xs:restriction&gt; &lt;/xs:simpleType&gt; &lt;xs:element name="hlinks"&gt; &lt;xs:annotation&gt; &lt;xs:documentation&gt; hlinks element &lt;/xs:documentation&gt; &lt;/xs:annotation&gt; &lt;xs:complexType&gt; &lt;xs:sequence&gt; &lt;xs:element maxOccurs="unbounded" ref="hlink"/&gt; &lt;/xs:sequence&gt; &lt;/xs:complexType&gt; &lt;/xs:element&gt; &lt;xs:element name="hlink"&gt; &lt;xs:annotation&gt; &lt;xs:documentation&gt; hlink element &lt;/xs:documentation&gt; &lt;/xs:annotation&gt; &lt;xs:complexType&gt; &lt;xs:attributeGroup ref="hlink.attlist"/&gt; &lt;/xs:complexType&gt; &lt;/xs:element&gt; &lt;xs:attributeGroup name="hlink.attlist"&gt; &lt;xs:attribute name="namespace" use="required" type="URI"/&gt; &lt;xs:attribute name="element" type="xs:NMTOKEN"/&gt; &lt;xs:attribute name="locator"&gt; &lt;xs:simpleType&gt; &lt;xs:union memberTypes="URI AttName"/&gt; &lt;/xs:simpleType&gt; &lt;/xs:attribute&gt; &lt;xs:attribute name="effect" default="replace"&gt; &lt;xs:simpleType&gt; &lt;xs:union memberTypes="Effect AttName"/&gt; &lt;/xs:simpleType&gt; &lt;/xs:attribute&gt; &lt;xs:attribute name="actuate" default="onRequest"&gt; &lt;xs:simpleType&gt; &lt;xs:union memberTypes="Actuate AttName"/&gt; &lt;/xs:simpleType&gt; &lt;/xs:attribute&gt; &lt;xs:attribute name="replacement"/&gt; &lt;xs:attribute name="role"&gt; &lt;xs:simpleType&gt; &lt;xs:union memberTypes="LinkTypes AttName"/&gt; &lt;/xs:simpleType&gt; &lt;/xs:attribute&gt; &lt;xs:attribute name="reverseRole"&gt; &lt;xs:simpleType&gt; &lt;xs:union memberTypes="LinkTypes AttName"/&gt; &lt;/xs:simpleType&gt; &lt;/xs:attribute&gt; &lt;xs:attribute name="shape" default="default"&gt; &lt;xs:simpleType&gt; &lt;xs:union memberTypes="Shape AttName"/&gt; &lt;/xs:simpleType&gt; &lt;/xs:attribute&gt; &lt;xs:attribute name="coords"&gt; &lt;xs:simpleType&gt; &lt;xs:union memberTypes="Coords AttName"/&gt; &lt;/xs:simpleType&gt; &lt;/xs:attribute&gt; &lt;xs:attribute name="arcrole"&gt; &lt;xs:simpleType&gt; &lt;xs:union memberTypes="URI AttName"/&gt; &lt;/xs:simpleType&gt; &lt;/xs:attribute&gt; &lt;xs:attribute name="label"/&gt; &lt;xs:attribute name="from"/&gt; &lt;xs:attribute name="to"/&gt; &lt;xs:attribute name="contentType"&gt; &lt;xs:simpleType&gt; &lt;xs:union memberTypes="ContentType AttName"/&gt; &lt;/xs:simpleType&gt; &lt;/xs:attribute&gt; &lt;xs:attribute name="onSuccess" default="ignoreChildren"&gt; &lt;xs:simpleType&gt; &lt;xs:union memberTypes="OnSuccess AttName"/&gt; &lt;/xs:simpleType&gt; &lt;/xs:attribute&gt; &lt;xs:attribute name="onFailure" default="warn"&gt; &lt;xs:simpleType&gt; &lt;xs:union memberTypes="OnFailure AttName"/&gt; &lt;/xs:simpleType&gt; &lt;/xs:attribute&gt; &lt;/xs:attributeGroup&gt; &lt;/xs:schema&gt;</pre> <!--OddPage--> <h2><a id="s_refs" name="s_refs">B. References</a></h2> <p>This appendix is <em>normative</em>.</p> <h3><a id="s_norm-refs" name="s_norm-refs">B.1. Normative References</a></h3> <dl> <dt>[<a id="ref_xlink" name="ref_xlink">XLINK</a>]</dt> <dd>"<cite><a href="https://www.w3.org/TR/2001/REC-xlink-20010627/">XML Linking Language (XLink)</a></cite>", W3C Recommendation, S. DeRose <span xml:lang="lt" lang="lt">et al.</span> (editors), 27 June 2001. Available at: http://www.w3.org/TR/2001/REC-xlink-20010627<br /> The <a href="https://www.w3.org/TR/xlink/">latest version</a> is available at: http://www.w3.org/TR/xlink</dd> <dt>[<a id="ref_uri" name="ref_uri">URI</a>]</dt> <dd>"<cite><a href="http://www.rfc-editor.org/rfc/rfc2396.txt">Uniform Resource Identifiers (URI): Generic Syntax</a></cite>" (RFC 2396), T. Berners-Lee <span xml:lang="lt" lang="lt">et al.</span>, August 1998. Available at: http://www.rfc-editor.org/rfc/rfc2396.txt</dd> <dt>[<a id="ref_xml" name="ref_xml">XML</a>]</dt> <dd>"<cite><a href="https://www.w3.org/TR/2000/REC-xml-20001006">Extensible Markup Language (XML) 1.0 Specification (Second Edition)</a></cite>", W3C Recommendation, T. Bray <span xml:lang="lt" lang="lt">et al.</span> (editors), 6 October 2000. Available at: http://www.w3.org/TR/2000/REC-xml-20001006<br /> The <a href="https://www.w3.org/TR/REC-xml">latest version</a> is available at: http://www.w3.org/TR/REC-xml</dd> <dt>[<a id="ref_name" name="ref_name">NAME</a>]</dt> <dd>"<cite><a href="https://www.w3.org/TR/1999/REC-xml-names-19990114/">Namespaces in XML</a></cite>", W3C Recommendation, T. Bray <span xml:lang="lt" lang="lt">et al.</span> (editors), 14 January 1999. Available at: http://www.w3.org/TR/1999/REC-xml-names-19990114<br /> The <a href="https://www.w3.org/TR/REC-xml-names/">latest version</a> is available at: http://www.w3.org/TR/REC-xml-names</dd> <dt>[<a id="ref_schema" name="ref_schema">SCHEMA</a>]</dt> <dd>"<cite><a href="https://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">XML Schema Part 2: Datatypes</a></cite>", W3C Recommendation, P. V. Biron <span xml:lang="lt" lang="lt">et al.</span> (editors), 2 May 2001. Available at: http://www.w3.org/TR/2001/REC-xmlschema-2-20010502<br /> The <a href="https://www.w3.org/TR/xmlschema-2/">latest version</a> is available at: http://www.w3.org/TR/xmlschema-2</dd> </dl> <h3><a id="s_other-refs" name="s_other-refs">B.2. Other References</a></h3> <dl> <dt>[<a id="ref_html4" name="ref_html4">HTML4</a>]</dt> <dd>"<cite><a href="https://www.w3.org/TR/1999/REC-html401-19991224/">HTML 4.01 Specification</a></cite>", W3C Recommendation, D. Raggett <span xml:lang="lt" lang="lt">et al.</span> (editors), 24 December 1999. Available at: http://www.w3.org/TR/1999/REC-html401-19991224<br /> The <a href="https://www.w3.org/TR/html401/">latest version of HTML 4.01</a> is available at: http://www.w3.org/TR/html401<br /> The <a href="https://www.w3.org/TR/html4/">latest version of HTML 4</a> is available at: http://www.w3.org/TR/html4</dd> <dt>[<a id="ref_xhtml" name="ref_xhtml">XHTML</a>]</dt> <dd>"<cite><a href="https://www.w3.org/TR/2002/REC-xhtml1-20020801/">XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition): A Reformulation of HTML 4 in XML 1.0</a></cite>", W3C Recommendation, S. Pemberton <span xml:lang="lt" lang="lt">et al.</span>, August 2002. Available at: http://www.w3.org/TR/2002/REC-xhtml1-20020801<br /> The <a href="https://www.w3.org/TR/xhtml1">latest version</a> is available at: http://www.w3.org/TR/xhtml1</dd> <dt>[<a id="ref_xmod" name="ref_xmod">XHTMLMOD</a>]</dt> <dd>"<cite><a href="https://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/">Modularization of XHTML™</a></cite>", W3C Recommendation, M. Altheim, <span xml:lang="lt" lang="lt">et al.</span> (editors), 10 April 2001. Available at: http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410<br /> The <a href="https://www.w3.org/TR/xhtml-modularization/">latest version</a> is at: http://www.w3.org/TR/xhtml-modularization</dd> </dl> <!--OddPage--> <h2><a id="s_acks" name="s_acks">C. Acknowledgments</a></h2> <p><em>This section is informative.</em></p> <p>This document was prepared by the <acronym title="World Wide Web Consortium">W3C</acronym> <acronym title="Extensible HyperText Markup Language">XHTML2</acronym> Working Group. The members at the time of publication of the Note were:</p> <ul> <li>Markus Gylling, <a href="http://www.daisy.org">DAISY Consortium</a> (<acronym title="Extensible HyperText Markup Language">XHTML</acronym> 2 Working Group Co-Chair)</li> <li>Steven Pemberton, <acronym title="Centrum voor Wiskunde en Informatica" xml:lang="nl">CWI</acronym> (<acronym title="Extensible HyperText Markup Language">XHTML</acronym> 2 Working Group Co-Chair)</li> <li>Mark Birbeck, Sidewinder Labs (Invited Expert)</li> <li>Susan Borgrink, Progeny Systems</li> <li>Christina Bottomley, Society for Technical Communication (STC)</li> <li>Alessio Cartocci, International Webmasters Association / HTML Writers Guild (IWA-HWG)</li> <li>Alexander Graf, University of Innsbruck</li> <li>Tina Holmboe, Greytower Technologies (Invited Expert)</li> <li>John Kugelman, Progeny Systems</li> <li>Luca Mascaro, International Webmasters Association / HTML Writers Guild (IWA-HWG)</li> <li>Shane McCarron, Applied Testing and Technology, Inc. (Invited Expert)</li> <li>Michael Rawling, IVIS Group Limited</li> <li>Gregory Rosmaita, Invited Expert</li> <li>Sebastian Schnitzenbaumer, Dreamlab Technologies AG</li> <li>Richard Schwerdtfeger, <acronym title="International Business Machines">IBM</acronym></li> <li>Elias Torres, <acronym title="International Business Machines">IBM</acronym></li> <li>Masataka Yakura, Mitsue-Links Co., Ltd.</li> <li>Toshihiko Yamakami, ACCESS Co., Ltd. </li> </ul> <script type="application/javascript" src="https://www.w3.org/scripts/TR/fixup.js"></script></body> </html>