You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1486 lines
58 KiB
1486 lines
58 KiB
<?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="http://www.w3.org/StyleSheets/TR/W3C-WG-NOTE" />
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div class="head">
|
|
<a href="http://www.w3.org/"><img height="48" width="72" alt="W3C"
|
|
src="http://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="http://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="http://www.w3.org/TR/hlink">http://www.w3.org/TR/hlink</a></dd>
|
|
<dt>Previous version:</dt>
|
|
<dd><a href="http://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:steven.pemberton@cwi.nl">Steven Pemberton</a>, <a
|
|
href="http://www.cwi.nl/">CWI</a>/W3C</dd>
|
|
<dd><a href="mailto:mimasa@w3.org">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="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2002-2010 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</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="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://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="http://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="http://www.w3.org/MarkUp/">W3C XHTML 2 Working Group</a> as part of the <a href="http://www.w3.org/MarkUp/Activity">HTML Activity</a>. The goals of
|
|
the XHTML 2 Working Group are discussed in the <a href="http://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="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent Policy</a>. W3C maintains a <a rel="disclosure"
|
|
href="http://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="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
|
|
Claim(s)</a> must disclose the information in accordance with <a href="http://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:www-html@w3.org">www-html@w3.org</a>
|
|
(<a href="http://lists.w3.org/Archives/Public/www-html/">archive</a>).
|
|
To subscribe send an email to
|
|
<a href="mailto:www-html-request@w3.org">www-html-request@w3.org</a>
|
|
with the word <em>subscribe</em> in the subject line.</p>
|
|
|
|
<p>Please report errors in this document to
|
|
<a href="mailto:www-html-editor@w3.org">www-html-editor@w3.org</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="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI</a>),
|
|
element (<a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_NAME">NAME</a>),<br
|
|
/>
|
|
locator (<a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_NAME">NAME</a>),
|
|
locatorValue (<a
|
|
href="http://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="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_NAME">NAME</a>),
|
|
effectValue (<a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI</a>),<br
|
|
/>
|
|
<!--("new" | "replace"* | "embed" | "submit" | "map"),-->
|
|
actuate (<a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_NAME">NAME</a>), <!--("onLoad" | "onRequest"* | "onRequestSecondary"),-->
|
|
actuateValue (<a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI</a>),<br
|
|
/>
|
|
replacement (<a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_NAME">NAME</a>),
|
|
replacementValue (<a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI</a>),<br
|
|
/>
|
|
role (<a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_NAME">NAME</a>),
|
|
roleValue (<a
|
|
href="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_URI">URI),</a>
|
|
<br />
|
|
shape (<a
|
|
href="http://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="http://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="http://www.w3.org/TR/xhtml-modularization/abstraction.html#dt_CDATA">CDATA</a>),
|
|
onSuccessValue (TBD),<br />
|
|
<!--("processChildren" | "ignoreChildren"*),-->
|
|
onFailure (<a
|
|
href="http://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><hlink namespace="...">
|
|
<hlink element="a" ... />
|
|
<hlink element="b" ... />
|
|
</hlink></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="http://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><a href="..."></code> element in
|
|
XHTML:
|
|
<pre><hlink namespace="http://www.w3.org/1999/xhtml"
|
|
element="a"
|
|
locator="href"
|
|
effectValue="replace"
|
|
actuateValue="onRequest"
|
|
replacement="target"/></pre>
|
|
</li>
|
|
<li>Defining <code><img/></code> in XHTML
|
|
<pre><hlink namespace="http://www.w3.org/1999/xhtml"
|
|
element="img"
|
|
locator="src"
|
|
effectValue="embed"
|
|
actuateValue="onLoad"
|
|
onFailureValue="warn"/>
|
|
<hlink namespace="http://www.w3.org/1999/xhtml"
|
|
element="img"
|
|
locator="longdesc"
|
|
effectValue="new"
|
|
actuateValue="onRequestSecondary"/>
|
|
<hlink namespace="http://www.w3.org/1999/xhtml"
|
|
element="img"
|
|
locator="usemap"
|
|
effectValue="map"
|
|
actuateValue="onLoad"/></pre>
|
|
</li>
|
|
<li>Defining <code><object></code> in XHTML
|
|
<pre><hlink namespace="http://www.w3.org/1999/xhtml"
|
|
element="object"
|
|
locator="data"
|
|
effectValue="embed"
|
|
actuateValue="onLoad"
|
|
onFailureValue="processChildren"
|
|
onSuccessValue="ignoreChildren"/></pre>
|
|
</li>
|
|
<li>Defining a new <code><home/></code> element
|
|
<pre><hlink namespace="http://www.example.com/markup"
|
|
element="home"
|
|
locatorValue="/"
|
|
effectValue="replace"
|
|
actuateValue="onRequest"/>
|
|
<hlink namespace="http://www.example.com/markup"
|
|
element="home"
|
|
locatorValue="/icons/home.png"
|
|
effectValue="embed"
|
|
actuateValue="onLoad"/></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><home/></pre>
|
|
<p>will display a clickable icon that takes the user to the home page.</p>
|
|
</li>
|
|
<li>Defining redirection:
|
|
<pre><hlink namespace="http://www.example.com/markup"
|
|
element="redirect"
|
|
locator="href"
|
|
effectValue="replace"
|
|
actuateValue="onLoad"/></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><redirect href="whereever">This page has moved</redirect></pre>
|
|
</li>
|
|
<li>Defining <code><html:blockquote></code>
|
|
<pre><hlink namespace="http://www.w3.org/1999/xhtml"
|
|
element="blockquote"
|
|
locator="cite"
|
|
effectValue="new"
|
|
actuateValue="onRequestSecondary"/></pre>
|
|
</li>
|
|
<li>Defining RDF
|
|
<pre><hlink namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
element="Description"
|
|
locator="about"
|
|
effectValue="new"
|
|
actuateValue="onRequestSecondary"/>
|
|
<hlink namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
locator="resource"
|
|
effectValue="new"
|
|
actuateValue="onRequestSecondary"/></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><hlink>s</code> in the <code><head></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><html hlink:definition="http://www.example.org/whatever" ...></pre>
|
|
|
|
<p>or this:</p>
|
|
<pre><html ...>
|
|
<head>
|
|
<hlink:hlink ... />
|
|
...
|
|
</head></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"><?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- ...................................................................... -->
|
|
<!-- HLink DTD ............................................................ -->
|
|
<!-- URI: http://www.w3.org/2002/06/hlink.dtd
|
|
|
|
This is HLink - a link recongnition mechanism for the XHTML Family.
|
|
|
|
Copyright ©2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
|
|
|
|
Editor: Masayasu Ishikawa <mimasa@w3.org>
|
|
Revision: $Id: Overview.html,v 1.3 2010/12/16 20:58:10 plehegar 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)
|
|
....................................................................... -->
|
|
|
|
<!-- HLink
|
|
|
|
hlinks, hlink
|
|
|
|
This HLink DTD declares elements and attributes defining
|
|
HLink, a link recongnition mechanism for the XHTML Family.
|
|
-->
|
|
|
|
<!-- Datatypes
|
|
|
|
defines containers for the following datatypes, many of
|
|
these imported from other specifications and standards -
|
|
not quite used at the moment.
|
|
-->
|
|
|
|
<!-- media type, as per [RFC2045] -->
|
|
<!ENTITY % ContentType.datatype "CDATA" >
|
|
|
|
<!-- comma separated list of coordinates to use in defining areas -->
|
|
<!ENTITY % Coords.datatype "CDATA" >
|
|
|
|
<!-- space-separated list of link types -->
|
|
<!ENTITY % LinkTypes.datatype "NMTOKENS" >
|
|
|
|
<!-- the shape of a region -->
|
|
<!ENTITY % Shape.datatype "( default | rect | circle | poly )">
|
|
|
|
<!-- a Uniform Resource Identifier reference, as per anyURI in
|
|
XML Schema Part 2 [SCHEMA]
|
|
-->
|
|
<!ENTITY % URI.datatype "CDATA" >
|
|
|
|
<!-- HLink Qname (Qualified Name) Module -->
|
|
<!ENTITY % hlink-qname.mod
|
|
PUBLIC "-//W3C//ENTITIES HLink Qualified Names 1.0//EN"
|
|
"hlink-qname.mod" >
|
|
%hlink-qname.mod;
|
|
|
|
<!-- hlinks element .................................... -->
|
|
<!ELEMENT %HLINK.hlinks.qname; ( %HLINK.hlink.qname; )+ >
|
|
<!ATTLIST %HLINK.hlinks.qname;
|
|
%HLINK.xmlns.attrib;
|
|
>
|
|
|
|
<!-- hlink element ..................................... -->
|
|
<!ELEMENT %HLINK.hlink.qname; EMPTY >
|
|
<!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
|
|
>
|
|
|
|
<!-- end of hlink.dtd --></pre>
|
|
|
|
<h3><a id="a_DTD_qname" name="a_DTD_qname">A.1.2. HLink Qname Module</a></h3>
|
|
<pre class="dtd"><?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- ....................................................................... -->
|
|
<!-- HLink Qname Module ................................................... -->
|
|
<!-- URI: http://www.w3.org/2002/06/hlink-qname.mod
|
|
|
|
This is HLink - a link recongnition mechanism for the XHTML Family.
|
|
|
|
Copyright ©2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
|
|
|
|
Revision: $Id: Overview.html,v 1.3 2010/12/16 20:58:10 plehegar 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)
|
|
....................................................................... -->
|
|
|
|
<!-- 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 <hlinks>
|
|
...
|
|
-->
|
|
|
|
<!-- Section A: HLink XML Namespace Framework :::::::::::::::::::: -->
|
|
|
|
<!-- 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.
|
|
-->
|
|
<!ENTITY % HLINK.NS.prefixed "IGNORE" >
|
|
<!ENTITY % HLINK.prefixed "%HLINK.NS.prefixed;" >
|
|
|
|
<!-- 2. Declare a parameter entity (eg., %HLINK.xmlns;) containing
|
|
the URI reference used to identify the HLink namespace
|
|
-->
|
|
<!ENTITY % HLINK.xmlns "http://www.w3.org/2002/06/hlink" >
|
|
|
|
<!-- 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.
|
|
-->
|
|
<!ENTITY % HLINK.prefix "hlink" >
|
|
|
|
<!-- 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.
|
|
-->
|
|
<![%HLINK.prefixed;[
|
|
<!ENTITY % HLINK.pfx "%HLINK.prefix;:" >
|
|
]]>
|
|
<!ENTITY % HLINK.pfx "" >
|
|
|
|
<!-- declare qualified name extensions here ............ -->
|
|
<!ENTITY % hlink-qname-extra.mod "" >
|
|
%hlink-qname-extra.mod;
|
|
|
|
<!-- 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.
|
|
-->
|
|
<!ENTITY % HLINK.xmlns.extra.attrib "" >
|
|
|
|
<![%HLINK.prefixed;[
|
|
<!ENTITY % HLINK.NS.decl.attrib
|
|
"xmlns:%HLINK.prefix; %URI.datatype; #FIXED '%HLINK.xmlns;'
|
|
%HLINK.xmlns.extra.attrib;"
|
|
>
|
|
]]>
|
|
<!ENTITY % HLINK.NS.decl.attrib
|
|
"%HLINK.xmlns.extra.attrib;"
|
|
>
|
|
|
|
<!-- 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.
|
|
-->
|
|
<![%HLINK.prefixed;[
|
|
<!ENTITY % HLINK.xmlns.attrib
|
|
"%HLINK.NS.decl.attrib;"
|
|
>
|
|
]]>
|
|
<!ENTITY % HLINK.xmlns.attrib
|
|
"xmlns %URI.datatype; #FIXED '%HLINK.xmlns;'
|
|
%HLINK.xmlns.extra.attrib;"
|
|
>
|
|
|
|
<!-- Section B: XML Qualified Names ::::::::::::::::::::::::::::: -->
|
|
|
|
<!-- 6. This section declares parameter entities used to provide
|
|
namespace-qualified names for all HLink element types.
|
|
-->
|
|
|
|
<!ENTITY % HLINK.hlinks.qname "%HLINK.pfx;hlinks" >
|
|
<!ENTITY % HLINK.hlink.qname "%HLINK.pfx;hlink" >
|
|
|
|
<!-- end of hlink-qname.mod --></pre>
|
|
|
|
<h3><a id="a_RELAXNG_definition" name="a_RELAXNG_definition">A.2. RELAX NG
|
|
Implementation</a></h3>
|
|
<pre class="rng"><?xml version="1.0" encoding="UTF-8"?>
|
|
<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">
|
|
|
|
<start>
|
|
<choice>
|
|
<ref name="hlinks"/>
|
|
</choice>
|
|
</start>
|
|
|
|
<a:documentation>
|
|
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 ©2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
|
|
|
|
Editor: Masayasu Ishikawa (mimasa@w3.org)
|
|
Revision: $Id: Overview.html,v 1.3 2010/12/16 20:58:10 plehegar 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)
|
|
</a:documentation>
|
|
|
|
<a:documentation>
|
|
HLink
|
|
|
|
hlinks, hlink
|
|
|
|
This HLink RELAX NG schema declares elements and attributes defining
|
|
HLink, a link recongnition mechanism for the XHTML Family.
|
|
</a:documentation>
|
|
|
|
<a:documentation>
|
|
Datatypes
|
|
|
|
defines containers for the following datatypes, many of
|
|
these imported from other specifications and standards.
|
|
</a:documentation>
|
|
|
|
<define name="AttName">
|
|
<a:documentation>
|
|
the name of an attribute which begins with "@", a la @name
|
|
</a:documentation>
|
|
<data type="string">
|
|
<param name="pattern">@\c+</param>
|
|
</data>
|
|
</define>
|
|
|
|
<define name="ContentType">
|
|
<a:documentation>
|
|
media type, as per [RFC2045]
|
|
</a:documentation>
|
|
<text/>
|
|
</define>
|
|
|
|
<define name="Coords">
|
|
<a:documentation>
|
|
comma separated list of coordinates to use in defining areas
|
|
</a:documentation>
|
|
<data type="string">
|
|
<param name="pattern"
|
|
>[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*</param>
|
|
</data>
|
|
</define>
|
|
|
|
<define name="LinkTypes">
|
|
<a:documentation>
|
|
space-separated list of link types
|
|
</a:documentation>
|
|
<data type="NMTOKENS"/>
|
|
</define>
|
|
|
|
<define name="Shape">
|
|
<a:documentation>
|
|
the shape of a region
|
|
</a:documentation>
|
|
<choice>
|
|
<value>default</value>
|
|
<value>rect</value>
|
|
<value>circle</value>
|
|
<value>poly</value>
|
|
</choice>
|
|
</define>
|
|
|
|
<define name="URI">
|
|
<a:documentation>
|
|
a Uniform Resource Identifier reference, as per anyURI in
|
|
XML Schema Part 2 [SCHEMA]
|
|
</a:documentation>
|
|
<data type="anyURI"/>
|
|
</define>
|
|
|
|
<define name="hlinks">
|
|
<a:documentation>
|
|
hlinks element
|
|
</a:documentation>
|
|
<element name="hlinks">
|
|
<oneOrMore>
|
|
<ref name="hlink"/>
|
|
</oneOrMore>
|
|
</element>
|
|
</define>
|
|
|
|
<define name="hlink">
|
|
<a:documentation>
|
|
hlink element
|
|
</a:documentation>
|
|
<element name="hlink">
|
|
<ref name="hlink.attlist"/>
|
|
</element>
|
|
</define>
|
|
|
|
<define name="hlink.attlist">
|
|
<attribute name="namespace">
|
|
<ref name="URI"/>
|
|
</attribute>
|
|
<optional>
|
|
<attribute name="element">
|
|
<data type="NMTOKEN"/>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="locator">
|
|
<choice>
|
|
<ref name="URI"/>
|
|
<ref name="AttName"/>
|
|
</choice>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="effect" a:defaultValue="replace">
|
|
<choice>
|
|
<value>new</value>
|
|
<value>replace</value>
|
|
<value>embed</value>
|
|
<value>submit</value>
|
|
<value>map</value>
|
|
<ref name="AttName"/>
|
|
</choice>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="actuate" a:defaultValue="onRequest">
|
|
<choice>
|
|
<value>onLoad</value>
|
|
<value>onRequest</value>
|
|
<value>onRequestSecondary</value>
|
|
<ref name="AttName"/>
|
|
</choice>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="replacement"/>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="role">
|
|
<choice>
|
|
<ref name="LinkTypes"/>
|
|
<ref name="AttName"/>
|
|
</choice>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="reverseRole">
|
|
<choice>
|
|
<ref name="LinkTypes"/>
|
|
<ref name="AttName"/>
|
|
</choice>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="shape" a:defaultValue="default">
|
|
<choice>
|
|
<ref name="Shape"/>
|
|
<ref name="AttName"/>
|
|
</choice>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="coords">
|
|
<choice>
|
|
<ref name="Shape"/>
|
|
<ref name="AttName"/>
|
|
</choice>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="arcrole">
|
|
<choice>
|
|
<ref name="URI"/>
|
|
<ref name="AttName"/>
|
|
</choice>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="label"/>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="from"/>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="to"/>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="contentType">
|
|
<choice>
|
|
<ref name="ContentType"/>
|
|
<ref name="AttName"/>
|
|
</choice>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="onSuccess" a:defaultValue="ignoreChildren">
|
|
<choice>
|
|
<value>processChildren</value>
|
|
<value>ignoreChildren</value>
|
|
<ref name="AttName"/>
|
|
</choice>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="onFailure" a:defaultValue="warn">
|
|
<choice>
|
|
<value>processChildren</value>
|
|
<value>ignoreChildren</value>
|
|
<value>warn</value>
|
|
<value>fail</value>
|
|
<ref name="AttName"/>
|
|
</choice>
|
|
</attribute>
|
|
</optional>
|
|
</define>
|
|
|
|
</grammar></pre>
|
|
|
|
<h3><a id="a_XMLSchema_definition" name="a_XMLSchema_definition">A.3. XML
|
|
Schema Implementation</a></h3>
|
|
<pre class="xsd"><?xml version="1.0" encoding="UTF-8"?>
|
|
<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">
|
|
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
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 ©2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
|
|
|
|
Editor: Masayasu Ishikawa (mimasa@w3.org)
|
|
Revision: $Id: Overview.html,v 1.3 2010/12/16 20:58:10 plehegar 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)
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
HLink
|
|
|
|
hlinks, hlink
|
|
|
|
This HLink XML Schema declares elements and attributes defining
|
|
HLink, a link recongnition mechanism for the XHTML Family.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
Datatypes
|
|
|
|
defines containers for the following datatypes, many of
|
|
these imported from other specifications and standards.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType name="AttName">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
the name of an attribute which begins with "@", a la @name
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="@\c+"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="ContentType">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
media type, as per [RFC2045]
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="Coords">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
comma separated list of lengths
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern
|
|
value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="LinkTypes">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
space-separated list of link types
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:NMTOKENS"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="Shape">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="default"/>
|
|
<xs:enumeration value="rect"/>
|
|
<xs:enumeration value="circle"/>
|
|
<xs:enumeration value="poly"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="URI">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
a Uniform Resource Identifier reference, as per anyURI in
|
|
XML Schema Part 2 [SCHEMA]
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:anyURI"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="Effect">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="new"/>
|
|
<xs:enumeration value="replace"/>
|
|
<xs:enumeration value="embed"/>
|
|
<xs:enumeration value="submit"/>
|
|
<xs:enumeration value="map"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="Actuate">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="onLoad"/>
|
|
<xs:enumeration value="onRequest"/>
|
|
<xs:enumeration value="onRequestSecondary"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="OnSuccess">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="processChildren"/>
|
|
<xs:enumeration value="ignoreChildren"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="OnFailure">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="processChildren"/>
|
|
<xs:enumeration value="ignoreChildren"/>
|
|
<xs:enumeration value="warn"/>
|
|
<xs:enumeration value="fail"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:element name="hlinks">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
hlinks element
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element maxOccurs="unbounded" ref="hlink"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="hlink">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
hlink element
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:attributeGroup ref="hlink.attlist"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:attributeGroup name="hlink.attlist">
|
|
<xs:attribute name="namespace" use="required" type="URI"/>
|
|
<xs:attribute name="element" type="xs:NMTOKEN"/>
|
|
<xs:attribute name="locator">
|
|
<xs:simpleType>
|
|
<xs:union memberTypes="URI AttName"/>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="effect" default="replace">
|
|
<xs:simpleType>
|
|
<xs:union memberTypes="Effect AttName"/>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="actuate" default="onRequest">
|
|
<xs:simpleType>
|
|
<xs:union memberTypes="Actuate AttName"/>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="replacement"/>
|
|
<xs:attribute name="role">
|
|
<xs:simpleType>
|
|
<xs:union memberTypes="LinkTypes AttName"/>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="reverseRole">
|
|
<xs:simpleType>
|
|
<xs:union memberTypes="LinkTypes AttName"/>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="shape" default="default">
|
|
<xs:simpleType>
|
|
<xs:union memberTypes="Shape AttName"/>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="coords">
|
|
<xs:simpleType>
|
|
<xs:union memberTypes="Coords AttName"/>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="arcrole">
|
|
<xs:simpleType>
|
|
<xs:union memberTypes="URI AttName"/>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="label"/>
|
|
<xs:attribute name="from"/>
|
|
<xs:attribute name="to"/>
|
|
<xs:attribute name="contentType">
|
|
<xs:simpleType>
|
|
<xs:union memberTypes="ContentType AttName"/>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="onSuccess" default="ignoreChildren">
|
|
<xs:simpleType>
|
|
<xs:union memberTypes="OnSuccess AttName"/>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="onFailure" default="warn">
|
|
<xs:simpleType>
|
|
<xs:union memberTypes="OnFailure AttName"/>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:attributeGroup>
|
|
|
|
</xs:schema></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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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>
|
|
|
|
</body>
|
|
</html>
|