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;
see
section
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: hlink-diff.html,v 1.3 2010/12/16 20:58:08 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 -->
<?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: hlink-diff.html,v 1.3 2010/12/16 20:58:08 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 -->
<?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: hlink-diff.html,v 1.3 2010/12/16 20:58:08 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>
<?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: hlink-diff.html,v 1.3 2010/12/16 20:58:08 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>
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: