This document is also available in these non-normative formats: PostScript version, PDF version, ZIP archive, and Gzip'd TAR archive.
The English version of this specification is the only normative version. Non-normative translations may also be available.
Copyright © 2007 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
The XHTML RDFa (RDF using attributes) modules define a collection of elements and attributes that enhance a document authors ability to annotate the relationships of content within and among documents. These modules can be integrated into any markup language based upon XHTML Modularization [XHTMLMOD].
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 an internal editors draft for development purposes. However, its content is based upon mature materials from [XHTML2] and is therefore considered nearly complete.
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 24 January 2002 CPP as amended by the W3C Patent Policy Transition Procedure. 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.
Publication as a Working Draft 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.
Please report errors in this specification to www-html-editor@w3.org (archive). It is inappropriate to send discussion email to this address. Public discussion may take place on www-html@w3.org (archive).
This section is informative.
This document contains three modules designed to be used to help extend the scope of XHTML-family markup languages into new environments. It has been developed in conjunction with the RDF and semantic web communities to make it easier to annotate XHTML documents so that RDF information can be automatically extracted.
This section is normative.
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
Note that all examples in this document are informative, and are not meant to be interpreted as normative requirements.
XHTML RDFa is not a stand-alone document type. It is intended to be integrated into other host languages such as XHTML. A conforming XHTML RDFa document is a document that requires only the facilities described as mandatory in this specification and the facilities described as mandatory in its host language. Such a document must meet all the following criteria:
The document MUST conform to the constraints expressed in Appendix A - Schema Implementation or Appendix B - DTD Implementation, combined with the constraints expressed in its host language implementation.
If the host language is not in the XHTML namespace, and the host language does not incorporate these modules into its own namespace, then the document MUST contain an
xmlns
declaration for the XHTML RDFa namespace [XMLNAMES]. The namespace for XHTML RDFa Module is defined to be
http://www.w3.org/1999/xhtml
. An example start tag of a root element might look like:
Example
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
When XHTML RDFa is included in a host language, all of the facilities required in this specification MUST be included in the host language. In addition, the elements and attributes defined in this specification MUST be included in the content model of the host language. Finally, XHTML RDFa requires the availability of the Core Attribute Collection as defined in XHTML Modularization.
A conforming user agent MUST support all of the features required in this specification.
This section is normative.
The Hypertext Attributes Module defines the Hypertext attribute collection. This collection allows an element to be the start point of a hypertext link to a remote resource. When this module is selected, this collection is added to the Common attribute collection as defined in [XHTMLMOD].
encoding
Do we need to bring the encoding attribute over too?This attribute specifies a URI to associate with the specified resource. Note that
when used in conjuction with elements such as a
in XHTML, this attribute has additional semantics.
Example
<link href="top.html" hreflang="en" hreftype="text/html" rel="contents"/>
This attribute specifies the primary language of the resource designated by href. It takes a value of type LanguageCodes. At its most general, it is a comma-separated list of language ranges with optional accept parameters, as defined in section 14.4 of [RFC2616] as the field value of the Accept-Language request header.
In its simplest case, this is just a language code, such as "nl", but it may also contain variant specifications such as "en-gb".
The user agent must use this list as the field value of the accept-language
request header when requesting the resource using HTTP.
If this attribute is not present, the user agent must use its default value of the accept-language request header.
Example
<p> <a href="http://www.w3.org/2003/06/semantictour-pressrelease" hreflang="fr"> The press release in French </a> </p>
This attribute indicates the type(s) of media to which to make available the content referenced by the associated href URI. It takes a value of type MediaDesc.
Example
<p> <a href="http://www.example.com/forPrinters.html" hrefmedia="print"> A printable version of this page. </a> </p>
This attribute specifies a value of type ContentTypes that indicates the allowable content types of the relevant href URI. See the definition of type ContentTypes for details of how it is used.
Example
<p> <a href="http://www.w3.org" hreftype="text/html,application/xhtml+xml"> The W3C Home Page </a> </p>
This section is normative.
The Metainformation Attributes Module defines the Metainformation attribute collection. This collection allows elements to be annotated with metadata throughout an XHTML-family document. When this module is selected, this collection is added to the Common attribute collection as defined in [XHTMLMOD].
Examples and Triples
All the examples in this section and the section following should clearly spell out the triples that are created by using the RDFa attributes in the ways described.This attribute specifies a URI that indicates which resource has a specified property.
If this attribute is not present then the resource being referred to by a property attribute on the same element is decided as follows:
Example
<meta about="http://www.example.com/" property="dc:created">2004-03-20</meta>
This attribute specifies a value of type CDATA that defines the metadata associated
with an element. If not specified, then the metadata for an element is its content. If it is specified, and there is no property
attribute, then the property is considered to be
reference
.
Example
<meta about="http://www.example.com/" property="dc:created" content="2004-03-20"/>
This attribute defines as a QName the datatype of the content metadata of the element. If the attribute is not specified, then the default value is string as defined by [XMLSCHEMA].
Example
<meta about="http://www.example.com/" property="dc:created" datatype="xsd:date">2004-03-20</meta>
This attribute indicates the rdf:type
of the associated triple(s).
Default instanceof value
What is the default value for this attribute?This attribute specifies a space-separated list of QNames that indicates which property is being defined by the element.
Example
<meta about="http://www.example.com/" property="dc:creator">John Smith</meta>
Authors may use the following properties, listed here with their conventional interpretations.
User agents, search engines, etc. are free to interpret these properties as necessary.
The list of predefined values (in the XHTML2 namesapce) are given below. Users may extend this collection of relationships, however new values must be defined in their own namespace, and the
relationship names must be referenced in documents as qualified names (e.g., dc:creator
for the Dublin Core "creator" relationship).
Note that in order to reference relationship definitions via QName, their namespace must be defined via an xmlns attribute somewhere suitable:
Example
<html .... xmlns:dc="http://purl.org/dc/elements/1.1/">
Note that previous versions of XHTML included an author
property; this has now been replaced with the Dublin Core creator
property.
Note that:
Example
<head> <title>My Life and Times</title> </head>
is just a shorthand for:
Example
<head> <meta property="title">My Life and Times</meta>
Note that the title attribute is just a shorthand for a common case:
Example
<a href="Jakob.html" title="Author biography">Jakob Nielsen</a>'s Alertbox for January 11, 1998
is equivalent to:
Example
<meta about="#jakob" property="title">Author biography</meta> <a href="Jakob.html" id="jakob">Jakob Nielsen</a>'s Alertbox for January 11, 1998
That this allows you to specify richer, marked-up text for a title when needed.
This attribute describes the relationship between the resource specified by the about attribute (or its default value) and the resource referred to by the href attribute. The type for this attribute is a space-separated list of QNames.
Example
<link href="top.html" rel="contents"/>
This example defines a link to a table of contents for the current document.
Example
<link href="doc.ps" rel="alternate" media="print" hreftype="application/postscript" />
This example defines a link to an alternate version of the document especially suited to printing.
Authors may use the following relationship names, listed here with their conventional interpretations.
User agents, search engines, etc. may interpret these relationships in a variety of ways. For example, user agents may provide access to linked documents through a navigation bar.
Users may extend this collection of relationships. However, extensions must be defined in their own namespace, and the relationship names must be referenced in documents as qualified names (e.g., dc:creator for the Dublin Core "creator" relationship).
Note that in order to reference relationship definitions via QName, their namespace must be defined via an xmlns attribute somewhere suitable:
Example
<html .... xmlns:dc="http://purl.org/dc/elements/1.1/">
Refers to a resource that defines a citation. In the following example, the cite
is used to reference the book from which the quotation is taken:
cite as book reference
As Gandalf the White said in <span rel="cite" about="http://www.example.com/books/the_two_towers"> The Two Towers </span>, <quote xml:lang="en">"The hospitality of your hall is somewhat lessened of late, Theoden King."</quote>
cite to reference another specification
More information can be found in <span property="cite" about="http://www.w3.org/TR/REC-xml">[XML]</cite>.
Refers to a resource that defines relationships or provides metadata, for instance in RDF. User agents may use this URI in two ways:
This example refers to a hypothetical profile that defines useful properties for document indexing. The properties defined by this profile -- including "author", "copyright", "keywords", and "date" -- have their values set by subsequent meta declarations.
Example
<html ... xmlns:mp="http://www.example.com/profiles/rels"> <head> <title>How to complete Memorandum cover sheets</title> <link rel="profile" href="http://www.example.com/profiles/slideshow" /> </head> <body> <div class="slide"> some slide content... </div> </body> ...
The use of the rel
value of profile
has the same effect as specifying a profile
attribute on the head
element of an XHTML document.
No end or last value
We have a value of "start", but no corresponding "end" value. Do we need one?This attribute can be used to define the resource referenced by a rel, rev, or
property attribute. When provided, the value of resource
supercedes any value for the href attribute on the same element.
This attribute is the complement of the rel attribute and describes the reverse relationship between the resource specified by the about attribute (or its default value) and the resource referred to by the href attribute. Its value is a space-separated list of QNames. For a list of relationship names, see the rel attribute.
Example
<link href="doc.html" rev="contents"/>
This example states that the current document is the table of contents for the referenced document.
The metadata attributes can be used to generate RDF statements, which consist of a subject, a predicate, and an object.
The attributes rel, rev and property represent predicates. The predicate is obtained by concatenating the namespace URI and the local part of the QName of the attribute value.
For attribute rel, the subject is the about property, and the object is the value of the href attribute; for attribute rev, the subject and object roles are reversed: the subject is the href
attribute, and the object is the value of the about property. In both cases, a relative href value is interpreted in the
context of the current document or, if present, by the value of a xml:base
attribute.
For attribute property, the subject is the about property, and the object is the string literal in the content attribute, or otherwise the XML literal that is the content of the element, decorated as necessary with the value of the datatype attribute.
The about property is obtained as follows:
One use of the metadata attributes is with elements that represent document content, since the same string literal can be used to specify both document content, and metadata.
For example, articles often have the following repetitive structure, where the same values are used for metadata properties and actual content rendered to the reader:
Example
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/"> <head> <title>... title ...</title> <meta property="dc:date">2004-03-23</meta> <meta property="dc:title"> High-tech rollers hit casino for £1.3m </meta> <meta property="dc:creator">Steve Bird</meta> </head> <body> ... <span class="date">2004-03-23</span> <span class="headline"> High-tech rollers hit casino for £1.3m </span> <span class="byline">By Steve Bird</span> <span class="standfirst"> Word of a hand-held device which can beat the roulette wheel has gambling bosses quaking </span> ... <p>...</p> </body> </html>
By making use of the metadata attributes this can be shortened to the following:
Example
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/"> <head> <title>... title ...</title> </head> <body> ... <span property="dc:date" class="date"> 2004-03-23 </span> <span property="dc:title" class="headline"> High-tech rollers hit casino for £1.3m </span> By <span property="dc:creator" class="byline">Steve Bird</span> <span class="standfirst"> Word of a hand-held device which can beat the roulette wheel has gambling bosses quaking </span> ... <p>...</p> </body> </html>
This is often easier to maintain since an author editing their document is at the same time editing the metadata.
Another use for the metadata attributes on other mark-up elements is to provide a normalized value for some text. This is especially important to certain types of consumers of metadata, such as search engines.
For example, the following article would be difficult to locate:
Example
Tomorrow the <span>Prime Minister</span> is expected to fly to ...
However, by using href and content we can indicate exactly which Prime Minister is being referred to, and when the journey is due to take place:
Example
<span content="2004-03-20">Tomorrow</span> the <span href="http://example.com/people/TonyBlair/1">Prime Minister</span> is expected to fly to ...
Note that if no property, rel, nor rev is present then a default predicate of
reference
is used; the example would then be equivalent to:
Example
<span property="reference" content="2004-03-20"> Tomorrow </span> the <span property="reference" href="http://example.com/people/TonyBlair/1"> Prime Minister </span> is expected to fly to ...
This appendix is normative.
The schema implementation of XHTML RDFa Module conforms to the requirements defined in [XHTMLSCHEMAMOD]. It is divided into an attributes module and an element module for the XHTML RDFa Module module defined in this Proposed Recommendation.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/" elementFormDefault="qualified" > <xs:annotation> <xs:documentation> This is the XML Schema Hypertext Attributes module for XHTML $Id: Overview.html,v 1.2 2007/08/11 19:11:28 jigsaw Exp $ </xs:documentation> <xs:documentation source="xhtml-rdfa-copyright-1.xsd"/> </xs:annotation> <xs:annotation> <xs:documentation> XHTML Hypertext Attributes </xs:documentation> </xs:annotation> <xs:attribute name="href" type="xs:anyURI"/> <xs:attribute name="hreflang" type="xh11d:LanguageCodes"/> <xs:attribute name="hrefmedia" type="xh11d:MediaDesc"/> <xs:attribute name="hreftype" type="xh11d:ContentTypes"/> <xs:attributeGroup name="XHTML.hyperAttributes.attlist"> <xs:attribute ref="href"/> <xs:attribute ref="hreflang"/> <xs:attribute ref="hrefmedia"/> <xs:attribute ref="hreftype"/> </xs:attributeGroup> </xs:schema>
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/" elementFormDefault="qualified" > <xs:annotation> <xs:documentation> This is the XML Schema Metainformation Attributes module for XHTML $Id: Overview.html,v 1.2 2007/08/11 19:11:28 jigsaw Exp $ </xs:documentation> <xs:documentation source="xhtml-rdfa-copyright-1.xsd"/> </xs:annotation> <xs:annotation> <xs:documentation> XHTML Metainformation Attributes </xs:documentation> </xs:annotation> <xs:attribute name="about" type="xs:anyURI"/> <xs:attribute name="content" type="xh11d:CDATA"/> <xs:attribute name="datatype" type="xs:QName"/> <xs:attribute name="property" type="xs:QName"/> <xs:attribute name="rel" type="xs:QName"/> <xs:attribute name="rev" type="xs:QName"/> <xs:attributeGroup name="XHTML.metaAttributes.attlist"> <xs:attribute ref="about"/> <xs:attribute ref="content"/> <xs:attribute ref="datatype"/> <xs:attribute ref="property"/> <xs:attribute ref="rel"/> <xs:attribute ref="rev"/> </xs:attributeGroup> </xs:schema>
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/" > <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" schemaLocation="xhtml-datatypes-1.xsd" /> <xs:annotation> <xs:documentation> This is the XML Schema Metainformation module for XHTML $Id: Overview.html,v 1.2 2007/08/11 19:11:28 jigsaw Exp $ </xs:documentation> <xs:documentation source="xhtml-rdfa-copyright-1.xsd"/> </xs:annotation> <xs:annotation> <xs:documentation> Meta Information * link * meta This module declares the link and meta element type and their attributes, used to provide declarative document metainformation. </xs:documentation> <xs:documentation source="http://www.w3.org/TR/2007/xhtml-rdfa/Overview.html#s_meta"/> </xs:annotation> <xs:attributeGroup name="xhtml.link.attlist"> <xs:attributeGroup ref="xhtml.Common.attrib"/> <xs:attribute name="charset" type="xh11d:Charset"/> <xs:attribute name="type" type="xh11d:ContentType"/> <xs:attribute name="media" type="xh11d:MediaDesc"/> </xs:attributeGroup> <xs:group name="xhtml.link.content"> <xs:sequence/> </xs:group> <xs:complexType name="xhtml.link.type"> <xs:group ref="xhtml.link.content"/> <xs:attributeGroup ref="xhtml.link.attlist"/> </xs:complexType> <xs:attributeGroup name="xhtml.meta.attlist"> <xs:attributeGroup ref="xhtml.Common.attrib"/> <xs:attribute name="http-equiv" type="xs:NMTOKEN"/> <xs:attribute name="name" type="xs:NMTOKEN"/> <xs:attribute name="scheme" type="xh11d:CDATA"/> </xs:attributeGroup> <xs:group name="xhtml.meta.content"> <xs:sequence/> </xs:group> <xs:complexType name="xhtml.meta.type"> <xs:group ref="xhtml.meta.content"/> <xs:attributeGroup ref="xhtml.meta.attlist"/> </xs:complexType> </xs:schema>
This appendix is normative.
The DTD implementation of XHTML RDFa Module conforms to the requirements defined in [XHTMLMOD]. Consequently, it provides a Qualified Names sub-module, and a module file for the XHTML RDFa Module module defined in this Proposed Recommendation.
Note that this module defines the parameter entity %xhtml-rdfa-attrs.qname;
. This entity is intended to be used in the attribute lists of elements in any host language that permits
the use of the RDFa attributes on elements in its own namespace. In this case the Host Language driver should set a parameter entity %XHTML-RDFA.prefixed;
to INCLUDE
and a
parameter entity %XHTML-RDFA.prefix;
to a value that is the prefix for the XHTML RDFa Module attributes.
<!-- ....................................................................... --> <!-- XHTML RDFa Qname Module ............................................ --> <!-- file: xhtml-rdfa-qname-1.mod This is XHTML RDFa - the RDFa Attribute Module for XHTML. Copyright 2007 W3C (MIT, ERCIM, Keio), All Rights Reserved. This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ENTITIES XHTML RDFa Attribute Qnames 1.0//EN" SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-qname-1.mod" Revisions: (none) ....................................................................... --> <!-- XHTML RDFa Attribute 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 XHTML RDFa and extensions. Section B declares parameter entities used to provide namespace-qualified names for the XHTML RDFa elements and attributes: %link.qname; the xmlns-qualified name for link ... XHTML RDFa extensions would create a module similar to this one. --> <!-- Section A: XHTML RDFa Attribute XML Namespace Framework ::::::::::::::: --> <!-- 1. Declare a %XHTML-RDFA.prefixed; conditional section keyword, used to activate namespace prefixing. The default value should inherit '%NS.prefixed;' from the DTD driver, so that unless overridden, the default behavior follows the overall DTD prefixing scheme. --> <!ENTITY % NS.prefixed "IGNORE" > <!ENTITY % XHTML-RDFA.prefixed "%NS.prefixed;" > <!-- 2. Declare a parameter entity (eg., %XHTML-RDFA.xmlns;) containing the URI reference used to identify the XHTML RDFa Attribute namespace --> <!ENTITY % XHTML-RDFA.xmlns "http://www.w3.org/1999/xhtml" > <!-- 3. Declare parameter entities (eg., %XML.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 % XHTML-RDFA.prefix "" > <!-- 4. Declare parameter entities (eg., %XHTML-RDFA.pfx;) containing the colonized prefix(es) (eg., '%XHTML-RDFA.prefix;:') used when prefixing is active, an empty string when it is not. --> <![%XHTML-RDFA.prefixed;[ <!ENTITY % XHTML-RDFA.pfx "%XHTML-RDFA.prefix;:" > ]]> <![%XHTML.prefixed;[ <!ENTITY % XHTML-RDFA.pfx "%XHTML.prefix;:" > ]]> <!ENTITY % XHTML-RDFA.pfx "" > <!-- declare qualified name extensions here ............ --> <!ENTITY % xhtml-rdfa-qname-extra.mod "" > %xhtml-rdfa-qname-extra.mod; <!-- 5. The parameter entity %XHTML-RDFA.xmlns.extra.attrib; may be redeclared to contain any non-XHTML RDFa Attribute 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 % XHTML-RDFA.xmlns.extra.attrib "" > <!-- Section B: XML Qualified Names ::::::::::::::::::::::::::::: --> <!-- 6. This section declares parameter entities used to provide namespace-qualified names for the XHTML RDFa attribute modules. Note that these names are NOT prefixed to be compatible with XHTML Modularization 1.1 --> <!-- end of xhtml-rdfa-qname-1.mod -->
<!-- ...................................................................... --> <!-- XHTML Hypertext Attributes Module ................................... --> <!-- file: xhtml-hyperAttributes-1.mod This is XHTML-RDFa, modules to annotate XHTML family documents. Copyright 2007 W3C (MIT, ERCIM, Keio), All Rights Reserved. Revision: $Id: Overview.html,v 1.2 2007/08/11 19:11:28 jigsaw Exp $ This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ENTITIES XHTML HyperAttributes 1.0//EN" SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml-hyperAttributes-1.mod" Revisions: ....................................................................... --> <!-- Common Attributes This module declares a collection of hypertext related attributes. %NS.decl.attrib; is declared in the XHTML Qname module. This file also includes declarations of "global" versions of the attributes. The global versions of the attributes are for use on elements in other namespaces. --> <!ENTITY % href.attrib "href %URI.datatype; #IMPLIED" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.href.attrib "%XHTML.prefix;:href %URI.datatype; #IMPLIED" > ]]> <!ENTITY % hreflang.attrib "hreflang %LanguageCode.datatype; #IMPLIED" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.hreflang.attrib "%XHTML.prefix;:hreflang %LanguageCode.datatype; #IMPLIED" > ]]> <!ENTITY % hrefmedia.attrib "hrefmedia %MediaDesc.datatype; #IMPLIED" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.hrefmedia.attrib "%XHTML.prefix;:hrefmedia %MediaDesc.datatype; #IMPLIED" > ]]> <!ENTITY % hreftype.attrib "hreftype %ContentTypes.datatype; #IMPLIED" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.hreftype.attrib "%XHTML.prefix;:hreftype %ContentTypes.datatype; #IMPLIED" > ]]> <!ENTITY % Hyper.attrib.extra "" > <!ENTITY % Hyper.attrib "%href.attrib; %hreflang.attrib; %hrefmedia.attrib; %hreftype.attrib; %Hyper.attrib.extra;" > <!ENTITY % XHTML.global.hyper.attrib.extra "" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.hyper.attrib "%XHTML.global.href.attrib; %XHTML.global.hreflang.attrib; %XHTML.global.hrefmedia.attrib; %XHTML.global.hreftype.attrib; %XHTML.global.hyper.attrib.extra;" > ]]> <!ENTITY % XHTML.global.hyper.attrib "" > <!-- end of xhtml-hyperAttributes-1.mod -->
<!-- ...................................................................... --> <!-- XHTML Common Attributes Module ...................................... --> <!-- file: xhtml-attribs-1.mod This is XHTML-RDFa, modules to annotate XHTML family documents. Copyright 2007 W3C (MIT, ERCIM, Keio), All Rights Reserved. Revision: $Id: Overview.html,v 1.2 2007/08/11 19:11:28 jigsaw Exp $ This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ENTITIES XHTML MetaAttributes 1.0//EN" SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml-metaAttributes-1.mod" Revisions: (none) ....................................................................... --> <!-- Common Attributes This module declares a collection of meta-information related attributes. %NS.decl.attrib; is declared in the XHTML Qname module. This file also includes declarations of "global" versions of the attributes. The global versions of the attributes are for use on elements in other namespaces. --> <!ENTITY % QName.datatype "CDATA" > <!ENTITY % QNames.datatype "CDATA" > <!ENTITY % about.attrib "about %URI.datatype; #IMPLIED" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.about.attrib "%XHTML.prefix;:about %URI.datatype; #IMPLIED" > ]]> <!ENTITY % instanceof.attrib "instanceof %QName.datatype; #IMPLIED" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.instanceof.attrib "%XHTML.prefix;:instanceof %QName.datatype; #IMPLIED" > ]]> <!ENTITY % property.attrib "property %QNames.datatype; #IMPLIED" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.property.attrib "%XHTML.prefix;:property %QNames.datatype; #IMPLIED" > ]]> <!ENTITY % resource.attrib "resource %URI.datatype; #IMPLIED" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.resource.attrib "%XHTML.prefix;:resource %URI.datatype; #IMPLIED" > ]]> <!ENTITY % content.attrib "content CDATA #IMPLIED" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.content.attrib "%XHTML.prefix;:content CDATA #IMPLIED" > ]]> <!ENTITY % datatype.attrib "datatype %QName.datatype; #IMPLIED" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.datatype.attrib "%XHTML.prefix;:datatype %QName.datatype; #IMPLIED" > ]]> <!ENTITY % rel.attrib "rel %QNames.datatype; #IMPLIED" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.rel.attrib "%XHTML.prefix;:rel %QNames.datatype; #IMPLIED" > ]]> <!ENTITY % rev.attrib "rev %QNames.datatype; #IMPLIED" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.rev.attrib "%XHTML.prefix;:rev %QNames.datatype; #IMPLIED" > ]]> <!ENTITY % Metainformation.extra.attrib "" > <!ENTITY % Metainformation.attrib "%about.attrib; %content.attrib; %datatype.attrib; %instanceof.attrib; %property.attrib; %rel.attrib; %resource.attrib; %rev.attrib; %Metainformation.extra.attrib;" > <!ENTITY % XHTML.global.metainformation.extra.attrib "" > <![%XHTML.global.attrs.prefixed;[ <!ENTITY % XHTML.global.metainformation.attrib "%XHTML.global.about.attrib; %XHTML.global.content.attrib; %XHTML.global.datatype.attrib; %XHTML.global.instanceof.attrib; %XHTML.global.property.attrib; %XHTML.global.rel.attrib; %XHTML.global.resource.attrib; %XHTML.global.rev.attrib; %XHTML.global.metainformation.extra.attrib;" > ]]> <!ENTITY % XHTML.global.metainformation.attrib "" > <!-- end of xhtml-metaAttributes-1.mod -->
<!-- ...................................................................... --> <!-- XHTML Document Metainformation Module ............................... --> <!-- file: xhtml-meta-2.mod This is XHTML-RDFa, modules to annotate XHTML family documents. Copyright 2007 W3C (MIT, ERCIM, Keio), All Rights Reserved. Revision: $Id: Overview.html,v 1.2 2007/08/11 19:11:28 jigsaw Exp $ This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 2.0//EN" SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml-meta-2.mod" Revisions: (none) ....................................................................... --> <!-- Meta Information meta link This module declares the meta and link element types, used to provide declarative document metainformation. --> <!-- meta: Generic Metainformation ..................... --> <!ENTITY % meta.element "INCLUDE" > <![%meta.element;[ <!ENTITY % meta.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % meta.qname "meta" > <!ELEMENT %meta.qname; %meta.content; > <!-- end of meta.element -->]]> <!ENTITY % meta.attlist "INCLUDE" > <![%meta.attlist;[ <!ATTLIST %meta.qname; %Common.attrib; http-equiv NMTOKEN #IMPLIED name NMTOKEN #IMPLIED scheme CDATA #IMPLIED > <!-- end of meta.attlist -->]]> <!-- link: Media-Independent Link ...................... --> <!ENTITY % link.element "INCLUDE" > <![%link.element;[ <!ENTITY % link.content "( %link.qname; | %meta.qname; )*" > <!ENTITY % link.qname "link" > <!ELEMENT %link.qname; %link.content; > <!-- end of link.element -->]]> <!ENTITY % link.attlist "INCLUDE" > <![%link.attlist;[ <!ATTLIST %link.qname; %Common.attrib; charset %Charset.datatype; #IMPLIED type %ContentType.datatype; #IMPLIED media %MediaDesc.datatype; #IMPLIED > <!-- end of link.attlist -->]]> <!-- end of xhtml-meta-2.mod -->
This appendix is informative.
This appendix includes an example of a markup language created using the modules in this specification, coupled with other modules from [XHTMLMOD]. The resulting markup language, "xhtml-rdfa" is provided solely as an example, and does not represent an intended direction in terms of a formal markup language from he W3C.
The following sample demonstrates some simple uses of RDFa within an xhtml-rdfa document.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>This is a test document</title> </head> <body> <p>This is a test <span rel="cite" href="Overview.html">citation to XHTML+RDFa</span> </p> <p>Here is more content: <span href="Overview.html" hreflang="en" hreftype="text/html"> the specification </span> That should NOT be a link. </p> <p> <span content="some information" rel="cite" resource="http://www.w3.org/TR"> The W3C TR page </span> </p> <div content="some information" rel="cite" resource="http://www.w3.org/TR"> The W3C TR page </div> </body> </html>
The actual markup language is created by combining the basics of XHTML 1.1 and the modules in this specification. This is done by using a content model module, and then a driver module:
<!-- ....................................................................... --> <!-- XHTML+RDFa Document Model Module ..................................... --> <!-- file: xhtml-rdfa-model-1.mod This is XHTML+RDFa. Copyright 1998-2007 W3C (MIT, ERCIM, Keio), All Rights Reserved. Revision: $Id: Overview.html,v 1.2 2007/08/11 19:11:28 jigsaw Exp $ SMI This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ENTITIES XHTML+RDFa Document Model 1.0//EN" SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-model-1.mod" Revisions: (none) ....................................................................... --> <!-- XHTML+RDFa Document Model This module describes the groupings of elements that make up common content models for XHTML elements. XHTML has three basic content models: %Inline.mix; character-level elements %Block.mix; block-like elements, eg., paragraphs and lists %Flow.mix; any block or inline elements Any parameter entities declared in this module may be used to create element content models, but the above three are considered 'global' (insofar as that term applies here). The reserved word '#PCDATA' (indicating a text string) is now included explicitly with each element declaration that is declared as mixed content, as XML requires that this token occur first in a content model specification. --> <!-- Extending the Model While in some cases this module may need to be rewritten to accommodate changes to the document model, minor extensions may be accomplished by redeclaring any of the three *.extra; parameter entities to contain extension element types as follows: %Misc.extra; whose parent may be any block or inline element. %Inline.extra; whose parent may be any inline element. %Block.extra; whose parent may be any block element. If used, these parameter entities must be an OR-separated list beginning with an OR separator ("|"), eg., "| a | b | c" All block and inline *.class parameter entities not part of the *struct.class classes begin with "| " to allow for exclusion from mixes. --> <!-- .............. Optional Elements in head .................. --> <!ENTITY % HeadOpts.mix "( %script.qname; | %style.qname; | %meta.qname; | %link.qname; | %object.qname; )*" > <!-- ................. Miscellaneous Elements .................. --> <!-- ins and del are used to denote editing changes --> <!ENTITY % Edit.class "| %ins.qname; | %del.qname;" > <!-- script and noscript are used to contain scripts and alternative content --> <!ENTITY % Script.class "| %script.qname; | %noscript.qname;" > <!ENTITY % Misc.extra "" > <!-- These elements are neither block nor inline, and can essentially be used anywhere in the document body. --> <!ENTITY % Misc.class "%Edit.class; %Script.class; %Misc.extra;" > <!-- .................... Inline Elements ...................... --> <!ENTITY % InlStruct.class "%br.qname; | %span.qname;" > <!ENTITY % InlPhras.class "| %em.qname; | %strong.qname; | %dfn.qname; | %code.qname; | %samp.qname; | %kbd.qname; | %var.qname; | %cite.qname; | %abbr.qname; | %acronym.qname; | %q.qname;" > <!ENTITY % InlPres.class "| %tt.qname; | %i.qname; | %b.qname; | %big.qname; | %small.qname; | %sub.qname; | %sup.qname;" > <!ENTITY % I18n.class "| %bdo.qname;" > <!ENTITY % Anchor.class "| %a.qname;" > <!ENTITY % InlSpecial.class "| %img.qname; | %map.qname; | %object.qname;" > <!ENTITY % InlForm.class "| %input.qname; | %select.qname; | %textarea.qname; | %label.qname; | %button.qname;" > <!ENTITY % Inline.extra "" > <!ENTITY % Ruby.class "| %ruby.qname;" > <!-- %Inline.class; includes all inline elements, used as a component in mixes --> <!ENTITY % Inline.class "%InlStruct.class; %InlPhras.class; %InlPres.class; %I18n.class; %Anchor.class; %InlSpecial.class; %InlForm.class; %Ruby.class; %Inline.extra;" > <!-- %InlNoRuby.class; includes all inline elements except ruby, used as a component in mixes --> <!ENTITY % InlNoRuby.class "%InlStruct.class; %InlPhras.class; %InlPres.class; %I18n.class; %Anchor.class; %InlSpecial.class; %InlForm.class; %Inline.extra;" > <!-- %NoRuby.content; includes all inlines except ruby --> <!ENTITY % NoRuby.content "( #PCDATA | %InlNoRuby.class; %Misc.class; )*" > <!-- %InlNoAnchor.class; includes all non-anchor inlines, used as a component in mixes --> <!ENTITY % InlNoAnchor.class "%InlStruct.class; %InlPhras.class; %InlPres.class; %I18n.class; %InlSpecial.class; %InlForm.class; %Ruby.class; %Inline.extra;" > <!-- %InlNoAnchor.mix; includes all non-anchor inlines --> <!ENTITY % InlNoAnchor.mix "%InlNoAnchor.class; %Misc.class;" > <!-- %Inline.mix; includes all inline elements, including %Misc.class; --> <!ENTITY % Inline.mix "%Inline.class; %Misc.class;" > <!-- ..................... Block Elements ...................... --> <!-- In the HTML 4.0 DTD, heading and list elements were included in the %block; parameter entity. The %Heading.class; and %List.class; parameter entities must now be included explicitly on element declarations where desired. --> <!ENTITY % Heading.class "%h1.qname; | %h2.qname; | %h3.qname; | %h4.qname; | %h5.qname; | %h6.qname;" > <!ENTITY % List.class "%ul.qname; | %ol.qname; | %dl.qname;" > <!ENTITY % Table.class "| %table.qname;" > <!ENTITY % Form.class "| %form.qname;" > <!ENTITY % Fieldset.class "| %fieldset.qname;" > <!ENTITY % BlkStruct.class "%p.qname; | %div.qname;" > <!ENTITY % BlkPhras.class "| %pre.qname; | %blockquote.qname; | %address.qname;" > <!ENTITY % BlkPres.class "| %hr.qname; " > <!ENTITY % BlkSpecial.class "%Table.class; %Form.class; %Fieldset.class;" > <!ENTITY % Block.extra "" > <!-- %Block.class; includes all block elements, used as an component in mixes --> <!ENTITY % Block.class "%BlkStruct.class; %BlkPhras.class; %BlkPres.class; %BlkSpecial.class; %Block.extra;" > <!-- %Block.mix; includes all block elements plus %Misc.class; --> <!ENTITY % Block.mix "%Heading.class; | %List.class; | %Block.class; %Misc.class;" > <!-- ................ All Content Elements .................. --> <!-- %Flow.mix; includes all text content, block and inline --> <!ENTITY % Flow.mix "%Heading.class; | %List.class; | %Block.class; | %Inline.class; %Misc.class;" > <!-- end of xhtml-rdfa-model-1.mod -->
<!-- ....................................................................... --> <!-- XHTML 1.1 + RDFa DTD ................................................. --> <!-- file: xhtml-rdfa.dtd --> <!-- XHTML 1.1 + RDFa DTD This is an example markup language combining XHTML 1.1 and the RDFa modules. XHTML+RDFa Copyright 1998-2007 World Wide Web Consortium (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). All Rights Reserved. Permission to use, copy, modify and distribute the XHTML 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 the DTD for any purpose. It is provided "as is" without expressed or implied warranty. --> <!-- This is the driver file for version 1 of the XHTML + RDFa DTD. Please use this public identifier to identify it: "-//W3C//DTD XHTML+RDFa 1.0//EN" --> <!ENTITY % XHTML.version "-//W3C//DTD XHTML+RDFa 1.0//EN" > <!-- Use this URI to identify the default namespace: "http://www.w3.org/1999/xhtml" See the Qualified Names module for information on the use of namespace prefixes in the DTD. Note that XHTML namespace elements are not prefixed by default, but the XHTML namespace prefix is defined as "xhtml" so that other markup languages can extend this one and use the XHTML prefixed global attributes if required. --> <!ENTITY % NS.prefixed "IGNORE" > <!ENTITY % XHTML.prefix "xhtml" > <!-- Be sure to include prefixed global attributes - we don't need them, but languages that extend XHTML 1.1 might. --> <!ENTITY % XHTML.global.attrs.prefixed "INCLUDE" > <!-- Reserved for use with the XLink namespace: --> <!ENTITY % XLINK.xmlns "" > <!ENTITY % XLINK.xmlns.attrib "" > <!-- For example, if you are using XHTML 1.1 directly, use the public identifier in the DOCTYPE declaration, with the namespace declaration on the document element to identify the default namespace: <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> ... </html> Revisions: (none) --> <!-- reserved for future use with document profiles --> <!ENTITY % XHTML.profile "" > <!-- ensure XHTML Notations are disabled --> <!ENTITY % xhtml-notations.module "IGNORE" > <!-- Bidirectional Text features This feature-test entity is used to declare elements and attributes used for bidirectional text support. --> <!ENTITY % XHTML.bidi "INCLUDE" > <!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --> <!-- Pre-Framework Redeclaration placeholder .................... --> <!-- this serves as a location to insert markup declarations into the DTD prior to the framework declarations. --> <!ENTITY % xhtml-prefw-redecl.module "IGNORE" > <!ENTITY % xhtml-prefw-redecl.mod "" > <![%xhtml-prefw-redecl.module;[ %xhtml-prefw-redecl.mod; <!-- end of xhtml-prefw-redecl.module -->]]> <!-- we need the datatypes now --> <!ENTITY % xhtml-datatypes.module "INCLUDE" > <![%xhtml-datatypes.module;[ <!ENTITY % xhtml-datatypes.mod PUBLIC "-//W3C//ENTITIES XHTML Datatypes 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-datatypes-1.mod" > %xhtml-datatypes.mod;]]> <!-- bring in the RDFa attributes cause we need them in Common --> <!ENTITY % xhtml-hyperAttributes.module "INCLUDE" > <![%xhtml-hyperAttributes.module;[ <!ENTITY % xhtml-hyperAttributes.mod PUBLIC "-//W3C//ENTITIES XHTML HyperAttributes 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-hyperAttributes-1.mod" > %xhtml-hyperAttributes.mod;]]> <!ENTITY % xhtml-metaAttributes.module "INCLUDE" > <![%xhtml-metaAttributes.module;[ <!ENTITY % xhtml-metaAttributes.mod PUBLIC "-//W3C//ENTITIES XHTML MetaAttributes 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-metaAttributes-1.mod" > %xhtml-metaAttributes.mod;]]> <!-- bring in the Role attribute cause we need them it in Common --> <!ENTITY % xhtml-role.module "INCLUDE" > <![%xhtml-role.module;[ <!ENTITY % xhtml-role.mod PUBLIC "-//W3C//ENTITIES XHTML Role Attribute Qnames 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-role-qname-1.mod" > %xhtml-role.mod;]]> <!ENTITY % xhtml-events.module "INCLUDE" > <!ENTITY % Common.extra.attrib "%Hyper.attrib; %Metainformation.attrib; %xhtml-role.attrs.qname;" > <!-- Inline Style Module ........................................ --> <!ENTITY % xhtml-inlstyle.module "INCLUDE" > <![%xhtml-inlstyle.module;[ <!ENTITY % xhtml-inlstyle.mod PUBLIC "-//W3C//ELEMENTS XHTML Inline Style 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-inlstyle-1.mod" > %xhtml-inlstyle.mod;]]> <!-- declare Document Model module instantiated in framework --> <!ENTITY % xhtml-model.mod PUBLIC "-//W3C//ENTITIES XHTML+RDFa Document Model 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-model-1.mod" > <!-- Modular Framework Module (required) ......................... --> <!ENTITY % xhtml-framework.module "INCLUDE" > <![%xhtml-framework.module;[ <!ENTITY % xhtml-framework.mod PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-framework-1.mod" > %xhtml-framework.mod;]]> <!-- Post-Framework Redeclaration placeholder ................... --> <!-- this serves as a location to insert markup declarations into the DTD following the framework declarations. --> <!ENTITY % xhtml-postfw-redecl.module "IGNORE" > <!ENTITY % xhtml-postfw-redecl.mod ""> <![%xhtml-postfw-redecl.module;[ %xhtml-postfw-redecl.mod; <!-- end of xhtml-postfw-redecl.module -->]]> <!-- Text Module (Required) ..................................... --> <!ENTITY % xhtml-text.module "INCLUDE" > <![%xhtml-text.module;[ <!ENTITY % xhtml-text.mod PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-text-1.mod" > %xhtml-text.mod;]]> <!-- Hypertext Module (required) ................................. --> <!ENTITY % a.attlist "IGNORE" > <!ENTITY % xhtml-hypertext.module "INCLUDE" > <![%xhtml-hypertext.module;[ <!ENTITY % xhtml-hypertext.mod PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-hypertext-1.mod" > %xhtml-hypertext.mod;]]> <!ATTLIST %a.qname; %Common.attrib; charset %Charset.datatype; #IMPLIED type %ContentType.datatype; #IMPLIED accesskey %Character.datatype; #IMPLIED tabindex %Number.datatype; #IMPLIED > <!-- Lists Module (required) .................................... --> <!ENTITY % xhtml-list.module "INCLUDE" > <![%xhtml-list.module;[ <!ENTITY % xhtml-list.mod PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-list-1.mod" > %xhtml-list.mod;]]> <!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --> <!-- Edit Module ................................................ --> <!ENTITY % xhtml-edit.module "INCLUDE" > <![%xhtml-edit.module;[ <!ENTITY % xhtml-edit.mod PUBLIC "-//W3C//ELEMENTS XHTML Editing Elements 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-edit-1.mod" > %xhtml-edit.mod;]]> <!-- BIDI Override Module ....................................... --> <!ENTITY % xhtml-bdo.module "%XHTML.bidi;" > <![%xhtml-bdo.module;[ <!ENTITY % xhtml-bdo.mod PUBLIC "-//W3C//ELEMENTS XHTML BIDI Override Element 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-bdo-1.mod" > %xhtml-bdo.mod;]]> <!-- Ruby Module ................................................ --> <!ENTITY % Ruby.common.attlists "INCLUDE" > <!ENTITY % Ruby.common.attrib "%Common.attrib;" > <!ENTITY % xhtml-ruby.module "INCLUDE" > <![%xhtml-ruby.module;[ <!ENTITY % xhtml-ruby.mod PUBLIC "-//W3C//ELEMENTS XHTML Ruby 1.0//EN" "http://www.w3.org/TR/ruby/xhtml-ruby-1.mod" > %xhtml-ruby.mod;]]> <!-- Presentation Module ........................................ --> <!ENTITY % xhtml-pres.module "INCLUDE" > <![%xhtml-pres.module;[ <!ENTITY % xhtml-pres.mod PUBLIC "-//W3C//ELEMENTS XHTML Presentation 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-pres-1.mod" > %xhtml-pres.mod;]]> <!-- Document Metainformation Module ............................ --> <!ENTITY % xhtml-meta.module "INCLUDE" > <![%xhtml-meta.module;[ <!ENTITY % xhtml-meta.mod PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-meta-1.mod" > %xhtml-meta.mod;]]> <!-- Base Element Module ........................................ --> <!ENTITY % xhtml-base.module "INCLUDE" > <![%xhtml-base.module;[ <!ENTITY % xhtml-base.mod PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-base-1.mod" > %xhtml-base.mod;]]> <!-- Scripting Module ........................................... --> <!ENTITY % xhtml-script.module "INCLUDE" > <![%xhtml-script.module;[ <!ENTITY % xhtml-script.mod PUBLIC "-//W3C//ELEMENTS XHTML Scripting 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-script-1.mod" > %xhtml-script.mod;]]> <!-- Style Sheets Module ......................................... --> <!ENTITY % xhtml-style.module "INCLUDE" > <![%xhtml-style.module;[ <!ENTITY % xhtml-style.mod PUBLIC "-//W3C//ELEMENTS XHTML Style Sheets 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-style-1.mod" > %xhtml-style.mod;]]> <!-- Image Module ............................................... --> <!ENTITY % xhtml-image.module "INCLUDE" > <![%xhtml-image.module;[ <!ENTITY % xhtml-image.mod PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-image-1.mod" > %xhtml-image.mod;]]> <!-- Client-side Image Map Module ............................... --> <!ENTITY % area.attlist "IGNORE" > <!ENTITY % xhtml-csismap.module "INCLUDE" > <![%xhtml-csismap.module;[ <!ENTITY % xhtml-csismap.mod PUBLIC "-//W3C//ELEMENTS XHTML Client-side Image Maps 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-csismap-1.mod" > %xhtml-csismap.mod;]]> <!ATTLIST %area.qname; %Common.attrib; shape %Shape.datatype; 'rect' coords %Coords.datatype; #IMPLIED nohref ( nohref ) #IMPLIED alt %Text.datatype; #REQUIRED tabindex %Number.datatype; #IMPLIED accesskey %Character.datatype; #IMPLIED > <!-- Server-side Image Map Module ............................... --> <!ENTITY % xhtml-ssismap.module "INCLUDE" > <![%xhtml-ssismap.module;[ <!ENTITY % xhtml-ssismap.mod PUBLIC "-//W3C//ELEMENTS XHTML Server-side Image Maps 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-ssismap-1.mod" > %xhtml-ssismap.mod;]]> <!-- Param Element Module ....................................... --> <!ENTITY % xhtml-param.module "INCLUDE" > <![%xhtml-param.module;[ <!ENTITY % xhtml-param.mod PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-param-1.mod" > %xhtml-param.mod;]]> <!-- Embedded Object Module ..................................... --> <!ENTITY % xhtml-object.module "INCLUDE" > <![%xhtml-object.module;[ <!ENTITY % xhtml-object.mod PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-object-1.mod" > %xhtml-object.mod;]]> <!-- Tables Module ............................................... --> <!ENTITY % xhtml-table.module "INCLUDE" > <![%xhtml-table.module;[ <!ENTITY % xhtml-table.mod PUBLIC "-//W3C//ELEMENTS XHTML Tables 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-table-1.mod" > %xhtml-table.mod;]]> <!-- Forms Module ............................................... --> <!ENTITY % xhtml-form.module "INCLUDE" > <![%xhtml-form.module;[ <!ENTITY % xhtml-form.mod PUBLIC "-//W3C//ELEMENTS XHTML Forms 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-form-1.mod" > %xhtml-form.mod;]]> <!-- Target Attribute Module .................................... --> <!ENTITY % xhtml-target.module "INCLUDE" > <![%xhtml-target.module;[ <!ENTITY % xhtml-target.mod PUBLIC "-//W3C//ELEMENTS XHTML Target 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-target-1.mod" > %xhtml-target.mod;]]> <!-- Legacy Markup ............................................... --> <!ENTITY % xhtml-legacy.module "IGNORE" > <![%xhtml-legacy.module;[ <!ENTITY % xhtml-legacy.mod PUBLIC "-//W3C//ELEMENTS XHTML Legacy Markup 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-legacy-1.mod" > %xhtml-legacy.mod;]]> <!-- Document Structure Module (required) ....................... --> <!ENTITY % head.attlist "IGNORE" > <!ENTITY % xhtml-struct.module "INCLUDE" > <![%xhtml-struct.module;[ <!ENTITY % xhtml-struct.mod PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-struct-1.mod" > %xhtml-struct.mod;]]> <!ENTITY % profile.attrib "profile %URI.datatype; '%XHTML.profile;'" > <!ATTLIST %head.qname; %Common.attrib; %profile.attrib; > <!-- end of XHTML-RDFa DTD ................................................ --> <!-- ....................................................................... -->
This appendix is normative.
This section is informative.
At the time of publication, the participants in the W3C HTML Working Group were: