This document is also available in these non-normative formats: PostScript version, PDF version, ZIP archive, and Gzip'd TAR archive.
Copyright © 2002-2010 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
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.
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 W3C technical reports index at http://www.w3.org/TR/.
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.
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.
This document has been produced by the W3C XHTML 2 Working Group as part of the HTML Activity. The goals of the XHTML 2 Working Group are discussed in the XHTML 2 Working Group charter.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures 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 Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
Public discussion of HTML takes place on www-html@w3.org (archive). To subscribe send an email to www-html-request@w3.org with the word subscribe in the subject line.
Please report errors in this document to www-html-editor@w3.org (archive).
This section is informative.
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 [XLINK], but with additions to support the behaviour of links in XHTML.
[TBD]
This section is normative.
This specification defines a module called HLink. The module uses the XML
Namespaces [NAME] identifier
http://www.w3.org/2002/06/hlink.
Examples in this document that use the namespace prefix
"hlink" all assume an xmlns declaration
xmlns:hlink="http://www.w3.org/2002/06/hlink" somewhere suitable
in the document involved. All examples are informative.
The remainder of this section describes the elements and attributes in this module, the semantics, and provides an abstract module definition as required in [XHTMLMOD].
The HLink Module supports the following element and attributes:
| Element | Attributes | Minimal Content Model |
|---|---|---|
| hlinks | - | hlink+ |
| hlink | namespace* (URI),
element (NAME), locator (NAME), locatorValue (URI), effect (NAME), effectValue (URI), actuate (NAME), actuateValue (URI), replacement (NAME), replacementValue (URI), role (NAME), roleValue (URI), shape (CDATA), shapeValue (TBD), coords (CDATA), coordsValue (TBD), contentType (ContentType), contentTypeValue (TBD), onSuccess (CDATA), onSuccessValue (TBD), onFailure (CDATA), onFailureValue (TBD) |
EMPTY |
Implementations: DTD, RELAX NG, XML Schema
The hlinks element exists only to be a root element for a
document containing only hlink elements; seesection 4 Usage, and the hlink:definition attribute
defined there.
[[Issue: you could define inheritance in nested hlink
elements:
<hlink namespace="...">
<hlink element="a" ... />
<hlink element="b" ... />
</hlink>
which would make writing descriptions easier, and make an outer
hlinks elements unnecessary, though at the cost of slightly
complicating implementation]]
Element hlink 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 hlink element has the
following attributes:
element attribute belongs to, or the
other attributes when the element attribute is
omitted.namespace. 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 [NAME]) 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 "*" then
the rest of the attributes describe all suitable elements in the
namespace (as defined by a DTD or schema); for instance, if the
hlink element defines an attribute href for
an element value of *, then all elements that
the DTD allows to have an attribute href are so
defined.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:
locatorValue="http://www.w3.org/"
says that the element in question is a locator for a fixed URI, namely
http://www.w3.org/. On the other hand:
locator="href"
says that the element in question has an attribute named
href, that contains the URI of the locator.
If both variants are used, then the attribute-name version takes
precedence: if the named attribute (for instance locator) has a
value, that value is used, otherwise the value attribute is used (in this
case locatorValue).
As a shorthand, whenever this specification refers to a property,
it means the final value via the combination of such a pair. For instance "if
the effect property has the value replace" means
"if the effect attribute refers to an attribute that has the
value replace or the effectValue attribute has the
value replace".
The properties are:
locator property is
loaded in a new context. For instance in a windowing environment,
the resource is loaded in a new window.replacement property, is located, and the resource
in that context is replaced by the resource identified by the
locator 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
replacement property then the initiating resource is
replaced by the resource identified by the locator
property.locator 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.
[[Issue: define embed more precisely]]
[[More needs to be described here]]
[[Issue: is form submission linking?]]
locator property
describes how the presentation of the current element is to be
interpreted as a series of links to further resources.
[[More/better: this is here as a placeholder to describe XHTML's image maps]]
The default value is replace.
a element) may contain an image (for
instance using XHTML's img element) that
additionally has a link to a resource describing that image (such
as XHTML's longdesc attribute). The primary
actuation method must activate the a 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).The default value is onRequest.
effect property has the value replace. If the
effect property does not have that value, the
replacement property is ignored.This property gives information to the user agent about the role the link plays. [[More]]
[[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]]
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".
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 accept request
header when requesting the resource using HTTP.
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".
A user agent should imitate similar behavior when using other
methods than HTTP. For instance, when accessing files in a local
filestore, a contentType property of "image/png,
image/jpeg" might cause the user agent first to look for a file
with extension .png, and then for one with extension
.jpg.
If this property is not present, "*/*" is used for its value.
effect property of
embed and an actuate property of
onLoad. It has two values:
(If the element has no children, these two values are equivalent)
The default value is ignoreChildren.
effect property of embed and an
actuate property of onLoad 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 contentType property indicates that the user
agent would not be able to process the resource. It has four possible
values:
The default value is warn.
[[Issue: onSuccess and onFailure need more work to cover other onLoad cases]]
[[Issue: replace onSuccess/onFailure with fallback="..."?]]
[[Issue: markup for case where link has a side-effect needed?]]
<a href="..."> element in
XHTML:
<hlink namespace="http://www.w3.org/1999/xhtml"
element="a"
locator="href"
effectValue="replace"
actuateValue="onRequest"
replacement="target"/>
<img/> in XHTML
<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"/>
<object> in XHTML
<hlink namespace="http://www.w3.org/1999/xhtml"
element="object"
locator="data"
effectValue="embed"
actuateValue="onLoad"
onFailureValue="processChildren"
onSuccessValue="ignoreChildren"/>
<home/> element
<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"/>
In the context of this definition, and the namespace declaration
xmlns="http://www.example.com/markup"
the markup
<home/>
will display a clickable icon that takes the user to the home page.
<hlink namespace="http://www.example.com/markup"
element="redirect"
locator="href"
effectValue="replace"
actuateValue="onLoad"/>
In the context of this definition and a suitable namespace declaration, the following markup will cause the initiating resource to be redirected:
<redirect href="whereever">This page has moved</redirect>
<html:blockquote>
<hlink namespace="http://www.w3.org/1999/xhtml"
element="blockquote"
locator="cite"
effectValue="new"
actuateValue="onRequestSecondary"/>
<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"/>
This section is normative.
There are two ways to use HLink. The first is [[by
putting the <hlink>s in the <head>, and
the other by putting them in a separate resource, and referring to that
resource by a hlink:definition URI attribute on the root element
of the document
Either this
<html hlink:definition="http://www.example.org/whatever" ...>
or this:
<html ...>
<head>
<hlink:hlink ... />
...
</head>
]]
This appendix is normative.
[[NOT YET UP TO DATE]]
<?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.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)
....................................................................... -->
<!-- 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 -->
<?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.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)
....................................................................... -->
<!-- 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 -->
<?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.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)
</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>
<?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.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)
</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>
This appendix is normative.
This section is informative.
This document was prepared by the W3C XHTML2 Working Group. The members at the time of publication of the Note were: