Annotation of embedaddon/libxml2/result/valid/xhtml1.xhtml, revision 1.1.1.1

1.1       misho       1: <?xml version="1.0"?>
                      2: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "dtds/xhtml1-strict.dtd">
                      3: <?xml-stylesheet href="W3C-PR.css" type="text/css"?>
                      4: <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
                      5: <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                      6: <title>XHTML 1.0: The Extensible HyperText Markup
                      7: Language</title>
                      8: <link rel="stylesheet" href="W3C-PR.css" type="text/css" />
                      9: <style type="text/css">
                     10: span.term { font-style: italic; color: rgb(0, 0, 192) }
                     11: code {
                     12:        color: green;
                     13:        font-family: monospace;
                     14:        font-weight: bold;
                     15: }
                     16: 
                     17: code.greenmono {
                     18:        color: green;
                     19:        font-family: monospace;
                     20:        font-weight: bold;
                     21: }
                     22: .good {
                     23:        border: solid green;
                     24:        border-width: 2px;
                     25:        color: green;
                     26:        font-weight: bold;
                     27:        margin-right: 5%;
                     28:        margin-left: 0;
                     29: }
                     30: .bad  {
                     31:        border: solid red;
                     32:        border-width: 2px;
                     33:        margin-left: 0;
                     34:        margin-right: 5%;
                     35:        color: rgb(192, 101, 101);
                     36: }
                     37: 
                     38: img {
                     39:        color: white;
                     40:        border: none;
                     41: }
                     42: 
                     43: div.navbar { text-align: center; }
                     44: div.contents {
                     45:        background-color: rgb(204,204,255);
                     46:        padding: 0.5em;
                     47:        border: none;
                     48:        margin-right: 5%;
                     49: }
                     50: .tocline { list-style: none; }
                     51: table.exceptions { background-color: rgb(255,255,153); }
                     52: </style>
                     53: </head>
                     54: <body>
                     55: <div class="navbar">
                     56:   <a href="#toc">table of contents</a> 
                     57:   <hr />
                     58: </div>
                     59: <div class="head"><p><a href="http://www.w3.org/"><img class="head" src="w3c_home.gif" alt="W3C" /></a></p>
                     60: 
                     61: <h1 class="head"><a name="title" id="title">XHTML</a><sup>&#x2122;</sup> 1.0:
                     62: The Extensible HyperText Markup Language</h1>
                     63: 
                     64: <h2>A Reformulation of HTML 4.0 in XML 1.0</h2>
                     65: 
                     66: <h3>W3C Proposed Recommendation 10 December 1999</h3>
                     67: 
                     68: <dl>
                     69: <dt>This version:</dt>
                     70: 
                     71: <dd><a href="http://www.w3.org/TR/1999/PR-xhtml1-19991210">
                     72: http://www.w3.org/TR/1999/PR-xhtml1-19991210</a> <br />
                     73: (<a href="xhtml1.ps">Postscript version</a>,
                     74: <a href="xhtml1.pdf">PDF version</a>,
                     75: <a href="xhtml1.zip">ZIP archive</a>, or
                     76: <a href="xhtml1.tgz">Gzip'd TAR archive</a>)
                     77: </dd>
                     78: 
                     79: <dt>Latest version:</dt>
                     80: 
                     81: <dd><a href="http://www.w3.org/TR/xhtml1">
                     82: http://www.w3.org/TR/xhtml1</a></dd>
                     83: 
                     84: <dt>Previous versions:</dt>
                     85: 
                     86: <dd><a href="http://www.w3.org/TR/1999/WD-xhtml1-19991124">
                     87: http://www.w3.org/TR/1999/WD-xhtml1-19991124</a></dd>
                     88: <dd><a href="http://www.w3.org/TR/1999/PR-xhtml1-19990824">
                     89: http://www.w3.org/TR/1999/PR-xhtml1-19990824</a></dd>
                     90: 
                     91: <dt>Authors:</dt>
                     92: 
                     93: <dd>See <a href="#acks">acknowledgements</a>.</dd>
                     94: </dl>
                     95: 
                     96: <p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">
                     97: Copyright</a> &copy; 1999 <a href="http://www.w3.org/">W3C</a><sup>&reg;</sup>
                     98: (<a href="http://www.lcs.mit.edu/">MIT</a>, <a href="http://www.inria.fr/">INRIA</a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">
                     99: liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">
                    100: trademark</a>, <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document
                    101: use</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-software">software
                    102: licensing</a> rules apply.</p>
                    103: <hr />
                    104: </div>
                    105: 
                    106: <h2 class="notoc">Abstract</h2>
                    107: 
                    108: <p>This specification defines <abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 1.0, a reformulation of HTML
                    109: 4.0 as an XML 1.0 application, and three <abbr title="Document Type Definition">DTDs</abbr> corresponding to
                    110: the ones defined by HTML 4.0. The semantics of the elements and
                    111: their attributes are defined in the W3C Recommendation for HTML
                    112: 4.0. These semantics provide the foundation for future
                    113: extensibility of XHTML. Compatibility with existing HTML user
                    114: agents is possible by following a small set of guidelines.</p>
                    115: 
                    116: <h2>Status of this document</h2>
                    117: 
                    118: <p><em>This section describes the status of this document at the time
                    119: of its publication. Other documents may supersede this document. The
                    120: latest status of this document series is maintained at the W3C.</em></p>
                    121: 
                    122: <p>This specification is a Proposed Recommendation of the HTML Working Group. It is 
                    123: a revision of the Proposed Recommendation dated <a href="http://www.w3.org/TR/1999/PR-xhtml1-19990824/">24 August
                    124: 1999</a> incorporating changes as a result of comments from the Proposed
                    125: Recommendation review, and 
                    126: comments and further deliberations of the W3C HTML Working Group. A 
                    127: <a href="xhtml1-diff-19991210.html">diff-marked version</a> from the previous
                    128: proposed recommendation is available for comparison purposes.</p>
                    129: 
                    130: <p>On 10 December 1999, this document enters a
                    131: <a href="http://www.w3.org/Consortium/Process/#RecsPR">
                    132: Proposed Recommendation</a> review period. From that date until 8 January
                    133: 2000,
                    134: W3C Advisory Committee representatives are encouraged
                    135: to review this specification and return comments in their completed
                    136: ballots to w3c-html-review@w3.org. Please send any comments of a
                    137: confidential nature in separate email to w3t-html@w3.org, which is
                    138: visible to the Team only.</p>
                    139: 
                    140: <p>No sooner than 14 days after the end of the review period, the
                    141: Director will announce the document's disposition: it may become a W3C
                    142: Recommendation (possibly with minor changes), it may revert to Working
                    143: Draft status, or it may be dropped as a W3C work item.</p>
                    144: 
                    145: <p>Publication as a Proposed Recommendation does not imply endorsement
                    146: by the W3C membership.  This is still a draft document and may be
                    147: updated, replaced or obsoleted by other documents at any time. It is
                    148: inappropriate to cite W3C Proposed Recommendation as other than "work
                    149: in progress."</p>
                    150: 
                    151: <p>This document has been produced as part of the <a href="http://www.w3.org/MarkUp/">W3C HTML Activity</a>. The goals of
                    152: the <a href="http://www.w3.org/MarkUp/Group/">HTML Working
                    153: Group</a> <i>(<a href="http://cgi.w3.org/MemberAccess/">members
                    154: only</a>)</i> are discussed in the <a href="http://www.w3.org/MarkUp/Group/HTMLcharter">HTML Working Group
                    155: charter</a> <i>(<a href="http://cgi.w3.org/MemberAccess/">members
                    156: only</a>)</i>.</p>
                    157: 
                    158: <p>A list of current W3C Recommendations and other technical documents
                    159: can be found at <a href="http://www.w3.org/TR">http://www.w3.org/TR</a>.</p>
                    160: 
                    161: <p>Public discussion on <abbr title="HyperText Markup Language">HTML</abbr> features takes place on the mailing list <a href="mailto:www-html@w3.org"> www-html@w3.org</a> (<a href="http://lists.w3.org/Archives/Public/www-html/">archive</a>). The W3C
                    162: staff contact for work on HTML is <a href="mailto:dsr@w3.org">Dave
                    163: Raggett</a>.</p>
                    164: 
                    165: <p>Please report errors in this document to <a href="mailto:www-html-editor@w3.org">www-html-editor@w3.org</a>.</p>
                    166: 
                    167: <p>The list of known errors in this specification is available at <a href="http://www.w3.org/1999/12/PR-xhtml1-19991210-errata">http://www.w3.org/1999/12/PR-xhtml1-19991210-errata</a>.</p>
                    168: 
                    169: <h2 class="notoc"><a id="toc" name="toc">Contents</a></h2>
                    170: 
                    171: <div class="contents">
                    172: <ul class="toc">
                    173: <li class="tocline">1. <a href="#xhtml">What is XHTML?</a> 
                    174: 
                    175: <ul class="toc">
                    176: <li class="tocline">1.1 <a href="#html4">What is HTML 4.0?</a></li>
                    177: 
                    178: <li class="tocline">1.2 <a href="#xml">What is XML?</a></li>
                    179: 
                    180: <li class="tocline">1.3 <a href="#why">Why the need for XHTML?</a></li>
                    181: </ul>
                    182: </li>
                    183: 
                    184: <li class="tocline">2. <a href="#defs">Definitions</a> 
                    185: 
                    186: <ul class="toc">
                    187: <li class="tocline">2.1 <a href="#terms">Terminology</a></li>
                    188: 
                    189: <li class="tocline">2.2 <a href="#general">General Terms</a></li>
                    190: </ul>
                    191: </li>
                    192: 
                    193: <li class="tocline">3. <a href="#normative">Normative Definition of XHTML 1.0</a>
                    194: 
                    195: 
                    196: <ul class="toc">
                    197: <li class="tocline">3.1 <a href="#docconf">Document Conformance</a></li>
                    198: 
                    199: <li class="tocline">3.2 <a href="#uaconf">User Agent Conformance</a></li>
                    200: </ul>
                    201: </li>
                    202: 
                    203: <li class="tocline">4. <a href="#diffs">Differences with HTML 4.0</a> 
                    204: 
                    205: </li>
                    206: 
                    207: <li class="tocline">5. <a href="#issues">Compatibility Issues</a> 
                    208: 
                    209: <ul class="toc">
                    210: <li class="tocline">5.1 <a href="#media">Internet Media Types</a></li>
                    211: </ul>
                    212: </li>
                    213: 
                    214: <li class="tocline">6. <a href="#future">Future Directions</a> 
                    215: 
                    216: <ul class="toc">
                    217: <li class="tocline">6.1 <a href="#mods">Modularizing HTML</a></li>
                    218: 
                    219: <li class="tocline">6.2 <a href="#extensions">Subsets and Extensibility</a></li>
                    220: 
                    221: <li class="tocline">6.3 <a href="#profiles">Document Profiles</a></li>
                    222: </ul>
                    223: </li>
                    224: 
                    225: <li class="tocline"><a href="#dtds">Appendix A. DTDs</a></li>
                    226: 
                    227: <li class="tocline"><a href="#prohibitions">Appendix B. Element
                    228: Prohibitions</a></li>
                    229: 
                    230: <li class="tocline"><a href="#guidelines">Appendix C. HTML Compatibility Guidelines</a></li>
                    231: 
                    232: <li class="tocline"><a href="#acks">Appendix D. Acknowledgements</a></li>
                    233: 
                    234: <li class="tocline"><a href="#refs">Appendix E. References</a></li>
                    235: </ul>
                    236: </div>
                    237: 
                    238: <!--OddPage-->
                    239: <h1><a name="xhtml" id="xhtml">1. What is XHTML?</a></h1>
                    240: 
                    241: <p>XHTML is a family of current and future document types and modules that
                    242: reproduce, subset, and extend HTML 4.0 <a href="#ref-html4">[HTML]</a>. XHTML family document types are <abbr title="Extensible Markup Language">XML</abbr> based,
                    243: and ultimately are designed to work in conjunction with XML-based user agents.
                    244: The details of this family and its evolution are
                    245: discussed in more detail in the section on <a href="#future">Future
                    246: Directions</a>. </p>
                    247: 
                    248: <p>XHTML 1.0 (this specification) is the first document type in the XHTML
                    249: family. It is a reformulation of the three HTML 4.0 document types as
                    250: applications of XML 1.0 <a href="#ref-xml"> [XML]</a>. It is intended
                    251: to be used as a language for content that is both XML-conforming and, if some
                    252: simple <a href="#guidelines">guidelines</a> are followed, 
                    253: operates in HTML 4.0 conforming user agents. Developers who migrate
                    254: their content to XHTML 1.0 will realize the following benefits:</p>
                    255: 
                    256: <ul>
                    257: <li>XHTML documents are XML conforming. As such, they are readily viewed,
                    258: edited, and validated with standard XML tools.</li>
                    259: <li>XHTML documents can be written to
                    260: to operate as well or better than they did before in existing
                    261: HTML 4.0-conforming user agents as well as in new, XHTML 1.0 conforming user
                    262: agents.</li>
                    263: <li>XHTML documents can utilize applications (e.g. scripts and applets) that rely
                    264: upon either the HTML Document Object Model or the XML Document Object Model <a href="#ref-dom">[DOM]</a>.</li>
                    265: <li>As the XHTML family evolves, documents conforming to XHTML 1.0 will be more
                    266: likely to interoperate within and among various XHTML environments.</li>
                    267: </ul>
                    268: 
                    269: <p>The XHTML family is the next step in the evolution of the Internet. By
                    270: migrating to XHTML today, content developers can enter the XML world with all
                    271: of its attendant benefits, while still remaining confident in their
                    272: content's backward and future compatibility.</p>
                    273: 
                    274: <h2><a name="html4" id="html4">1.1 What is HTML 4.0?</a></h2>
                    275: 
                    276: <p>HTML 4.0 <a href="#ref-html4">[HTML]</a> is an <abbr title="Standard Generalized Markup Language">SGML</abbr> (Standard
                    277: Generalized Markup Language) application conforming to
                    278: International Standard <abbr title="Organization for International Standardization">ISO</abbr> 8879, and is widely regarded as the
                    279: standard publishing language of the World Wide Web.</p>
                    280: 
                    281: <p>SGML is a language for describing markup languages,
                    282: particularly those used in electronic document exchange, document
                    283: management, and document publishing. HTML is an example of a
                    284: language defined in SGML.</p>
                    285: 
                    286: <p>SGML has been around since the middle 1980's and has remained
                    287: quite stable. Much of this stability stems from the fact that the
                    288: language is both feature-rich and flexible. This flexibility,
                    289: however, comes at a price, and that price is a level of
                    290: complexity that has inhibited its adoption in a diversity of
                    291: environments, including the World Wide Web.</p>
                    292: 
                    293: <p>HTML, as originally conceived, was to be a language for the
                    294: exchange of scientific and other technical documents, suitable
                    295: for use by non-document specialists. HTML addressed the problem
                    296: of SGML complexity by specifying a small set of structural and
                    297: semantic tags suitable for authoring relatively simple documents.
                    298: In addition to simplifying the document structure, HTML added
                    299: support for hypertext. Multimedia capabilities were added
                    300: later.</p>
                    301: 
                    302: <p>In a remarkably short space of time, HTML became wildly
                    303: popular and rapidly outgrew its original purpose. Since HTML's
                    304: inception, there has been rapid invention of new elements for use
                    305: within HTML (as a standard) and for adapting HTML to vertical,
                    306: highly specialized, markets. This plethora of new elements has
                    307: led to compatibility problems for documents across different
                    308: platforms.</p>
                    309: 
                    310: <p>As the heterogeneity of both software and platforms rapidly
                    311: proliferate, it is clear that the suitability of 'classic' HTML
                    312: 4.0 for use on these platforms is somewhat limited.</p>
                    313: 
                    314: <h2><a name="xml" id="xml">1.2 What is XML?</a></h2>
                    315: 
                    316: <p>XML<sup>&#x2122;</sup> is the shorthand for Extensible Markup
                    317: Language, and is an acronym of Extensible Markup Language <a href="#ref-xml">[XML]</a>.</p>
                    318: 
                    319: <p>XML was conceived as a means of regaining the power and
                    320: flexibility of SGML without most of its complexity. Although a
                    321: restricted form of SGML, XML nonetheless preserves most of SGML's
                    322: power and richness, and yet still retains all of SGML's commonly
                    323: used features.</p>
                    324: 
                    325: <p>While retaining these beneficial features, XML removes many of
                    326: the more complex features of SGML that make the authoring and
                    327: design of suitable software both difficult and costly.</p>
                    328: 
                    329: <h2><a name="why" id="why">1.3 Why the need for XHTML?</a></h2>
                    330: 
                    331: <p>The benefits of migrating to XHTML 1.0 are described above. Some of the
                    332: benefits of migrating to XHTML in general are:</p>
                    333: 
                    334: <ul>
                    335: <li>Document developers and user agent designers are constantly
                    336: discovering new ways to express their ideas through new markup. In XML, it is
                    337: relatively easy to introduce new elements or additional element
                    338: attributes.  The XHTML family is designed to accommodate these extensions
                    339: through XHTML modules and techniques for developing new XHTML-conforming
                    340: modules (described in the forthcoming XHTML Modularization specification).
                    341: These modules will permit the combination of existing and
                    342: new feature sets when developing content and when designing new user
                    343: agents.</li>
                    344: 
                    345: <li>Alternate ways of accessing the Internet are constantly being
                    346: introduced.  Some estimates indicate that by the year 2002, 75% of
                    347: Internet document viewing will be carried out on these alternate
                    348: platforms.  The XHTML family is designed with general user agent
                    349: interoperability in mind. Through a new user agent and document profiling
                    350: mechanism, servers, proxies, and user agents will be able to perform
                    351: best effort content transformation. Ultimately, it will be possible to
                    352: develop XHTML-conforming content that is usable by any XHTML-conforming
                    353: user agent.</li>
                    354: 
                    355: </ul>
                    356: <!--OddPage-->
                    357: <h1><a name="defs" id="defs">2. Definitions</a></h1>
                    358: 
                    359: <h2><a name="terms" id="terms">2.1 Terminology</a></h2>
                    360: 
                    361: <p>The following terms are used in this specification. These
                    362: terms extend the definitions in <a href="#ref-rfc2119">
                    363: [RFC2119]</a> in ways based upon similar definitions in ISO/<abbr title="International Electro-technical Commission">IEC</abbr>
                    364: 9945-1:1990 <a href="#ref-posix">[POSIX.1]</a>:</p>
                    365: 
                    366: <dl>
                    367: <dt>Implementation-defined</dt>
                    368: 
                    369: <dd>A value or behavior is implementation-defined when it is left
                    370: to the implementation to define [and document] the corresponding
                    371: requirements for correct document construction.</dd>
                    372: 
                    373: <dt>May</dt>
                    374: 
                    375: <dd>With respect to implementations, the word "may" is to be
                    376: interpreted as an optional feature that is not required in this
                    377: specification but can be provided. With respect to <a href="#docconf">Document Conformance</a>, the word "may" means that
                    378: the optional feature must not be used. The term "optional" has
                    379: the same definition as "may".</dd>
                    380: 
                    381: <dt>Must</dt>
                    382: 
                    383: <dd>In this specification, the word "must" is to be interpreted
                    384: as a mandatory requirement on the implementation or on Strictly
                    385: Conforming XHTML Documents, depending upon the context. The term
                    386: "shall" has the same definition as "must".</dd>
                    387: 
                    388: <dt>Reserved</dt>
                    389: 
                    390: <dd>A value or behavior is unspecified, but it is not allowed to
                    391: be used by Conforming Documents nor to be supported by a
                    392: Conforming User Agents.</dd>
                    393: 
                    394: <dt>Should</dt>
                    395: 
                    396: <dd>With respect to implementations, the word "should" is to be
                    397: interpreted as an implementation recommendation, but not a
                    398: requirement. With respect to documents, the word "should" is to
                    399: be interpreted as recommended programming practice for documents
                    400: and a requirement for Strictly Conforming XHTML Documents.</dd>
                    401: 
                    402: <dt>Supported</dt>
                    403: 
                    404: <dd>Certain facilities in this specification are optional. If a
                    405: facility is supported, it behaves as specified by this
                    406: specification.</dd>
                    407: 
                    408: <dt>Unspecified</dt>
                    409: 
                    410: <dd>When a value or behavior is unspecified, the specification
                    411: defines no portability requirements for a facility on an
                    412: implementation even when faced with a document that uses the
                    413: facility. A document that requires specific behavior in such an
                    414: instance, rather than tolerating any behavior when using that
                    415: facility, is not a Strictly Conforming XHTML Document.</dd>
                    416: </dl>
                    417: 
                    418: <h2><a name="general" id="general">2.2 General Terms</a></h2>
                    419: 
                    420: <dl>
                    421: <dt>Attribute</dt>
                    422: 
                    423: <dd>An attribute is a parameter to an element declared in the
                    424: DTD. An attribute's type and value range, including a possible
                    425: default value, are defined in the DTD.</dd>
                    426: 
                    427: <dt>DTD</dt>
                    428: 
                    429: <dd>A DTD, or document type definition, is a collection of XML
                    430: declarations that, as a collection, defines the legal structure,
                    431: <span class="term">elements</span>, and <span class="term">
                    432: attributes</span> that are available for use in a document that
                    433: complies to the DTD.</dd>
                    434: 
                    435: <dt>Document</dt>
                    436: 
                    437: <dd>A document is a stream of data that, after being combined
                    438: with any other streams it references, is structured such that it
                    439: holds information contained within <span class="term">
                    440: elements</span> that are organized as defined in the associated
                    441: <span class="term">DTD</span>. See <a href="#docconf">Document
                    442: Conformance</a> for more information.</dd>
                    443: 
                    444: <dt>Element</dt>
                    445: 
                    446: <dd>An element is a document structuring unit declared in the
                    447: <span class="term">DTD</span>. The element's content model is
                    448: defined in the <span class="term">DTD</span>, and additional
                    449: semantics may be defined in the prose description of the
                    450: element.</dd>
                    451: 
                    452: <dt><a name="facilities" id="facilities">Facilities</a></dt>
                    453: 
                    454: <dd>Functionality includes <span class="term">elements</span>,
                    455: <span class="term">attributes</span>, and the semantics
                    456: associated with those <span class="term">elements</span> and
                    457: <span class="term">attributes</span>. An implementation
                    458: supporting that functionality is said to provide the necessary
                    459: facilities.</dd>
                    460: 
                    461: <dt>Implementation</dt>
                    462: 
                    463: <dd>An implementation is a system that provides collection of
                    464: <span class="term">facilities</span> and services that supports
                    465: this specification. See <a href="#uaconf">User Agent
                    466: Conformance</a> for more information.</dd>
                    467: 
                    468: <dt>Parsing</dt>
                    469: 
                    470: <dd>Parsing is the act whereby a <span class="term">
                    471: document</span> is scanned, and the information contained within
                    472: the <span class="term">document</span> is filtered into the
                    473: context of the <span class="term">elements</span> in which the
                    474: information is structured.</dd>
                    475: 
                    476: <dt>Rendering</dt>
                    477: 
                    478: <dd>Rendering is the act whereby the information in a <span class="term">document</span> is presented. This presentation is
                    479: done in the form most appropriate to the environment (e.g.
                    480: aurally, visually, in print).</dd>
                    481: 
                    482: <dt>User Agent</dt>
                    483: 
                    484: <dd>A user agent is an <span class="term">implementation</span>
                    485: that retrieves and processes XHTML documents. See <a href="#uaconf">User Agent Conformance</a> for more information.</dd>
                    486: 
                    487: <dt>Validation</dt>
                    488: 
                    489: <dd>Validation is a process whereby <span class="term">
                    490: documents</span> are verified against the associated <span class="term">DTD</span>, ensuring that the structure, use of <span class="term">elements</span>, and use of <span class="term">
                    491: attributes</span> are consistent with the definitions in the
                    492: <span class="term">DTD</span>.</dd>
                    493: 
                    494: <dt><a name="wellformed" id="wellformed">Well-formed</a></dt>
                    495: 
                    496: <dd>A <span class="term">document</span> is well-formed when it
                    497: is structured according to the rules defined in <a href="http://www.w3.org/TR/REC-xml#sec-well-formed">Section 2.1</a> of
                    498: the XML 1.0 Recommendation <a href="#ref-xml">[XML]</a>.
                    499: Basically, this definition states that elements, delimited by
                    500: their start and end tags, are nested properly within one
                    501: another.</dd>
                    502: </dl>
                    503: 
                    504: <!--OddPage-->
                    505: <h1><a name="normative" id="normative">3. Normative Definition of
                    506: XHTML 1.0</a></h1>
                    507: 
                    508: <h2><a name="docconf" id="docconf">3.1 Document
                    509: Conformance</a></h2>
                    510: 
                    511: <p>This version of XHTML provides a definition of strictly
                    512: conforming XHTML documents, which are restricted to tags and
                    513: attributes from the XHTML namespace. See <a href="#well-formed">Section 3.1.2</a> for information on using XHTML
                    514: with other namespaces, for instance, to include metadata
                    515: expressed in <abbr title="Resource Description Format">RDF</abbr> within XHTML documents.</p>
                    516: 
                    517: <h3><a name="strict" id="strict">3.1.1 Strictly Conforming
                    518: Documents</a></h3>
                    519: 
                    520: <p>A Strictly Conforming XHTML Document is a document that
                    521: requires only the facilities described as mandatory in this
                    522: specification. Such a document must meet all of the following
                    523: criteria:</p>
                    524: 
                    525: <ol>
                    526: <li>
                    527: <p>It must validate against one of the three DTDs found in <a href="#dtds">Appendix&#xA0;A</a>.</p>
                    528: </li>
                    529: 
                    530: <li>
                    531: <p>The root element of the document must be <code>
                    532: &lt;html&gt;</code>.</p>
                    533: </li>
                    534: 
                    535: <li>
                    536: <p>The root element of the document must designate the XHTML
                    537: namespace using the <code>xmlns</code> attribute <a href="#ref-xmlns">[XMLNAMES]</a>. The namespace for XHTML is
                    538: defined to be 
                    539: <code>http://www.w3.org/1999/xhtml</code>.</p>
                    540: </li>
                    541: 
                    542: <li>
                    543: <p>There must be a DOCTYPE declaration in the document prior to
                    544: the root element. The public identifier included in
                    545: the DOCTYPE declaration must reference one of the three DTDs
                    546: found in <a href="#dtds">Appendix&#xA0;A</a> using the respective
                    547: Formal Public Identifier. The system identifier may be changed to reflect
                    548: local system conventions.</p>
                    549: 
                    550: <pre>
                    551: &lt;!DOCTYPE html 
                    552:      PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                    553:      "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-strict.dtd&gt;
                    554: 
                    555: &lt;!DOCTYPE html 
                    556:      PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
                    557:      "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-transitional.dtd&gt;
                    558: 
                    559: &lt;!DOCTYPE html 
                    560:      PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
                    561:      "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-frameset.dtd&gt;
                    562: </pre>
                    563: </li>
                    564: </ol>
                    565: 
                    566: <p>Here is an example of a minimal XHTML document.</p>
                    567: 
                    568: <div class="good">
                    569: <pre>
                    570: &lt;?xml version="1.0" encoding="UTF-8"?&gt;
                    571: &lt;!DOCTYPE html 
                    572:      PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                    573:     "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-strict.dtd"&gt;
                    574: &lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
                    575:   &lt;head&gt;
                    576:     &lt;title&gt;Virtual Library&lt;/title&gt;
                    577:   &lt;/head&gt;
                    578:   &lt;body&gt;
                    579:     &lt;p&gt;Moved to &lt;a href="http://vlib.org/"&gt;vlib.org&lt;/a&gt;.&lt;/p&gt;
                    580:   &lt;/body&gt;
                    581: &lt;/html&gt;</pre>
                    582: </div>
                    583: 
                    584: <p>Note that in this example, the XML declaration is included. An XML
                    585: declaration like the one above is
                    586: not required in all XML documents. XHTML document authors are strongly encouraged to use XML declarations in all their documents. Such a declaration is required
                    587: when the character encoding of the document is other than the default UTF-8 or
                    588: UTF-16.</p>
                    589: 
                    590: <h3><a name="well-formed" id="well-formed">3.1.2 Using XHTML with
                    591: other namespaces</a></h3>
                    592: 
                    593: <p>The XHTML namespace may be used with other XML namespaces
                    594: as per <a href="#ref-xmlns">[XMLNAMES]</a>, although such
                    595: documents are not strictly conforming XHTML 1.0 documents as
                    596: defined above. Future work by W3C will address ways to specify
                    597: conformance for documents involving multiple namespaces.</p>
                    598: 
                    599: <p>The following example shows the way in which XHTML 1.0 could
                    600: be used in conjunction with the MathML Recommendation:</p>
                    601: 
                    602: <div class="good">
                    603: <pre>
                    604: &lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
                    605:   &lt;head&gt;
                    606:     &lt;title&gt;A Math Example&lt;/title&gt;
                    607:   &lt;/head&gt;
                    608:   &lt;body&gt;
                    609:     &lt;p&gt;The following is MathML markup:&lt;/p&gt;
                    610:     &lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
                    611:       &lt;apply&gt; &lt;log/&gt;
                    612:         &lt;logbase&gt;
                    613:           &lt;cn&gt; 3 &lt;/cn&gt;
                    614:         &lt;/logbase&gt;
                    615:         &lt;ci&gt; x &lt;/ci&gt;
                    616:       &lt;/apply&gt;
                    617:     &lt;/math&gt;
                    618:   &lt;/body&gt;
                    619: &lt;/html&gt;
                    620: </pre>
                    621: </div>
                    622: 
                    623: <p>The following example shows the way in which XHTML 1.0 markup
                    624: could be incorporated into another XML namespace:</p>
                    625: 
                    626: <div class="good">
                    627: <pre>
                    628: &lt;?xml version="1.0" encoding="UTF-8"?&gt;
                    629: &lt;!-- initially, the default namespace is "books" --&gt;
                    630: &lt;book xmlns='urn:loc.gov:books'
                    631:     xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="en" lang="en"&gt;
                    632:   &lt;title&gt;Cheaper by the Dozen&lt;/title&gt;
                    633:   &lt;isbn:number&gt;1568491379&lt;/isbn:number&gt;
                    634:   &lt;notes&gt;
                    635:     &lt;!-- make HTML the default namespace for a hypertext commentary --&gt;
                    636:     &lt;p xmlns='http://www.w3.org/1999/xhtml'&gt;
                    637:         This is also available &lt;a href="http://www.w3.org/"&gt;online&lt;/a&gt;.
                    638:     &lt;/p&gt;
                    639:   &lt;/notes&gt;
                    640: &lt;/book&gt;
                    641: </pre>
                    642: </div>
                    643: 
                    644: <h2><a name="uaconf" id="uaconf">3.2 User Agent
                    645: Conformance</a></h2>
                    646: 
                    647: <p>A conforming user agent must meet all of the following
                    648: criteria:</p>
                    649: 
                    650: <ol>
                    651: <li>In order to be consistent with the XML 1.0 Recommendation <a href="#ref-xml">[XML]</a>, the user agent must parse and evaluate
                    652: an XHTML document for well-formedness. If the user agent claims
                    653: to be a validating user agent, it must also validate documents
                    654: against their referenced DTDs according to <a href="#ref-xml">
                    655: [XML]</a>.</li>
                    656: 
                    657: <li>When the user agent claims to support <a href="#facilities">
                    658: facilities</a> defined within this specification or required by
                    659: this specification through normative reference, it must do so in
                    660: ways consistent with the facilities' definition.</li>
                    661: 
                    662: <li>When a user agent processes an XHTML document as generic XML,
                    663: it shall only recognize attributes of type
                    664: <code>ID</code> (e.g. the <code>id</code> attribute on most XHTML elements)
                    665: as fragment identifiers.</li>
                    666: 
                    667: <li>If a user agent encounters an element it does not recognize,
                    668: it must render the element's content.</li>
                    669: 
                    670: <li>If a user agent encounters an attribute it does not
                    671: recognize, it must ignore the entire attribute specification
                    672: (i.e., the attribute and its value).</li>
                    673: 
                    674: <li>If a user agent encounters an attribute value it doesn't
                    675: recognize, it must use the default attribute value.</li>
                    676: 
                    677: <li>If it encounters an entity reference (other than one
                    678: of the predefined entities) for which the User Agent has 
                    679: processed no declaration (which could happen if the declaration
                    680: is in the external subset which the User Agent hasn't read), the entity 
                    681: reference should be rendered as the characters (starting
                    682: with the ampersand and ending with the semi-colon) that
                    683: make up the entity reference.</li>
                    684: 
                    685: <li>When rendering content, User Agents that encounter 
                    686: characters or character entity references that are recognized but not renderable should display the document in such a way that it is obvious to the user that normal rendering has not taken place.</li>
                    687: 
                    688: <li>
                    689: The following characters are defined in [XML] as whitespace characters:
                    690: 
                    691: <ul>
                    692: <li>Space (&amp;#x0020;)</li>
                    693: <li>Tab (&amp;#x0009;)</li>
                    694: <li>Carriage return (&amp;#x000D;)</li>
                    695: <li>Line feed (&amp;#x000A;)</li>
                    696: </ul>
                    697: 
                    698: <p>
                    699: The XML processor normalizes different system's line end codes into one
                    700: single line-feed character, that is passed up to the application. The XHTML
                    701: user agent in addition, must treat the following characters as whitespace:
                    702: </p>
                    703: 
                    704: <ul>
                    705: <li>Form feed (&amp;#x000C;)</li>
                    706: <li>Zero-width space (&amp;#x200B;)</li>
                    707: </ul>
                    708: 
                    709: <p>
                    710: In elements where the 'xml:space' attribute is set to 'preserve', the user
                    711: agent must leave all whitespace characters intact (with the exception of
                    712: leading and trailing whitespace characters, which should be removed).
                    713: Otherwise, whitespace
                    714: is handled according to the following rules:
                    715: </p>
                    716: 
                    717: <ul>
                    718: <li>
                    719: All whitespace surrounding block elements should be removed.
                    720: </li>
                    721: <li>
                    722: Comments are removed entirely and do not affect whitespace handling. One
                    723: whitespace character on either side of a comment is treated as two white
                    724: space characters.
                    725: </li>
                    726: <li>
                    727: Leading and trailing whitespace inside a block element must be removed.
                    728: </li>
                    729: <li>Line feed characters within a block element must be converted into a
                    730: space (except when the 'xml:space' attribute is set to 'preserve').
                    731: </li>
                    732: <li>
                    733: A sequence of white space characters must be reduced to a single space
                    734: character (except when the 'xml:space' attribute is set to 'preserve').
                    735: </li>
                    736: <li>
                    737: With regard to rendition,
                    738: the User Agent should render the content in a
                    739: manner appropriate to the language in which the content is written.
                    740: In languages whose primary script is Latinate, the ASCII space
                    741: character is typically used to encode both grammatical word boundaries and
                    742: typographic whitespace; in languages whose script is related to Nagari
                    743: (e.g., Sanskrit, Thai, etc.), grammatical boundaries may be encoded using
                    744: the ZW 'space' character, but will not typically be represented by
                    745: typographic whitespace in rendered output; languages using Arabiform scripts
                    746: may encode typographic whitespace using a space character, but may also use
                    747: the ZW space character to delimit 'internal' grammatical boundaries (what
                    748: look like words in Arabic to an English eye frequently encode several words,
                    749: e.g. 'kitAbuhum' = 'kitAbu-hum' = 'book them' == their book); and languages
                    750: in the Chinese script tradition typically neither encode such delimiters nor
                    751: use typographic whitespace in this way. 
                    752: </li>
                    753: </ul>
                    754: 
                    755: <p>Whitespace in attribute values is processed according to <a href="#ref-xml">[XML]</a>.</p>
                    756: </li>
                    757: </ol>
                    758: 
                    759: <!--OddPage-->
                    760: <h1><a name="diffs" id="diffs">4. Differences with HTML
                    761: 4.0</a></h1>
                    762: 
                    763: <p>Due to the fact that XHTML is an XML application, certain
                    764: practices that were perfectly legal in SGML-based HTML 4.0 <a href="#ref-html4">[HTML]</a> must be changed.</p>
                    765: 
                    766: <h2><a name="h-4.1" id="h-4.1">4.1 Documents must be
                    767: well-formed</a></h2>
                    768: 
                    769: <p><a href="#wellformed">Well-formedness</a> is a new concept
                    770: introduced by <a href="#ref-xml">[XML]</a>. Essentially this
                    771: means that all elements must either have closing tags or be
                    772: written in a special form (as described below), and that all the
                    773: elements must nest.</p>
                    774: 
                    775: <p>Although overlapping is illegal in SGML, it was widely
                    776: tolerated in existing browsers.</p>
                    777: 
                    778: <div class="good">
                    779: <p><strong><em>CORRECT: nested elements.</em></strong></p>
                    780: 
                    781: <p>&lt;p&gt;here is an emphasized
                    782: &lt;em&gt;paragraph&lt;/em&gt;.&lt;/p&gt;</p>
                    783: </div>
                    784: 
                    785: <div class="bad">
                    786: <p><strong><em>INCORRECT: overlapping elements</em></strong></p>
                    787: 
                    788: <p>&lt;p&gt;here is an emphasized
                    789: &lt;em&gt;paragraph.&lt;/p&gt;&lt;/em&gt;</p>
                    790: </div>
                    791: 
                    792: <h2><a name="h-4.2" id="h-4.2">4.2 Element and attribute
                    793: names must be in lower case</a></h2>
                    794: 
                    795: <p>XHTML documents must use lower case for all HTML element and
                    796: attribute names. This difference is necessary because XML is
                    797: case-sensitive e.g. &lt;li&gt; and &lt;LI&gt; are different
                    798: tags.</p>
                    799: 
                    800: <h2><a name="h-4.3" id="h-4.3">4.3 For non-empty elements,
                    801: end tags are required</a></h2>
                    802: 
                    803: <p>In SGML-based HTML 4.0 certain elements were permitted to omit
                    804: the end tag; with the elements that followed implying closure.
                    805: This omission is not permitted in XML-based XHTML. All elements
                    806: other than those declared in the DTD as <code>EMPTY</code> must
                    807: have an end tag.</p>
                    808: 
                    809: <div class="good">
                    810: <p><strong><em>CORRECT: terminated elements</em></strong></p>
                    811: 
                    812: <p>&lt;p&gt;here is a paragraph.&lt;/p&gt;&lt;p&gt;here is
                    813: another paragraph.&lt;/p&gt;</p>
                    814: </div>
                    815: 
                    816: <div class="bad">
                    817: <p><strong><em>INCORRECT: unterminated elements</em></strong></p>
                    818: 
                    819: <p>&lt;p&gt;here is a paragraph.&lt;p&gt;here is another
                    820: paragraph.</p>
                    821: </div>
                    822: 
                    823: <h2><a name="h-4.4" id="h-4.4">4.4 Attribute values must
                    824: always be quoted</a></h2>
                    825: 
                    826: <p>All attribute values must be quoted, even those which appear
                    827: to be numeric.</p>
                    828: 
                    829: <div class="good">
                    830: <p><strong><em>CORRECT: quoted attribute values</em></strong></p>
                    831: 
                    832: <p>&lt;table rows="3"&gt;</p>
                    833: </div>
                    834: 
                    835: <div class="bad">
                    836: <p><strong><em>INCORRECT: unquoted attribute values</em></strong></p>
                    837: 
                    838: <p>&lt;table rows=3&gt;</p>
                    839: </div>
                    840: 
                    841: <h2><a name="h-4.5" id="h-4.5">4.5 Attribute
                    842: Minimization</a></h2>
                    843: 
                    844: <p>XML does not support attribute minimization. Attribute-value
                    845: pairs must be written in full. Attribute names such as <code>
                    846: compact</code> and <code>checked</code> cannot occur in elements
                    847: without their value being specified.</p>
                    848: 
                    849: <div class="good">
                    850: <p><strong><em>CORRECT: unminimized attributes</em></strong></p>
                    851: 
                    852: <p>&lt;dl compact="compact"&gt;</p>
                    853: </div>
                    854: 
                    855: <div class="bad">
                    856: <p><strong><em>INCORRECT: minimized attributes</em></strong></p>
                    857: 
                    858: <p>&lt;dl compact&gt;</p>
                    859: </div>
                    860: 
                    861: <h2><a name="h-4.6" id="h-4.6">4.6 Empty Elements</a></h2>
                    862: 
                    863: <p>Empty elements must either have an end tag or the start tag must end with <code>/&gt;</code>. For instance,
                    864: <code>&lt;br/&gt;</code> or <code>&lt;hr&gt;&lt;/hr&gt;</code>. See <a href="#guidelines">HTML Compatibility Guidelines</a> for information on ways to
                    865: ensure this is backward compatible with HTML 4.0 user agents.</p>
                    866: 
                    867: <div class="good">
                    868: <p><strong><em>CORRECT: terminated empty tags</em></strong></p>
                    869: 
                    870: <p>&lt;br/&gt;&lt;hr/&gt;</p>
                    871: </div>
                    872: 
                    873: <div class="bad">
                    874: <p><strong><em>INCORRECT: unterminated empty tags</em></strong></p>
                    875: 
                    876: <p>&lt;br&gt;&lt;hr&gt;</p>
                    877: </div>
                    878: 
                    879: <h2><a name="h-4.7" id="h-4.7">4.7 Whitespace handling in
                    880: attribute values</a></h2>
                    881: 
                    882: <p>In attribute values, user agents will strip leading and
                    883: trailing whitespace from attribute values and map sequences
                    884: of one or more whitespace characters (including line breaks) to
                    885: a single inter-word space (an ASCII space character for western
                    886: scripts). See <a href="http://www.w3.org/TR/REC-xml#AVNormalize">
                    887: Section 3.3.3</a> of <a href="#ref-xml">[XML]</a>.</p>
                    888: 
                    889: <h2><a name="h-4.8" id="h-4.8">4.8 Script and Style
                    890: elements</a></h2>
                    891: 
                    892: <p>In XHTML, the script and style elements are declared as having
                    893: <code>#PCDATA</code> content. As a result, <code>&lt;</code> and
                    894: <code>&amp;</code> will be treated as the start of markup, and
                    895: entities such as <code>&amp;lt;</code> and <code>&amp;amp;</code>
                    896: will be recognized as entity references by the XML processor to
                    897: <code>&lt;</code> and <code>&amp;</code> respectively. Wrapping
                    898: the content of the script or style element within a <code>
                    899: CDATA</code> marked section avoids the expansion of these
                    900: entities.</p>
                    901: 
                    902: <div class="good">
                    903: <pre>
                    904: &lt;script&gt;
                    905:  &lt;![CDATA[
                    906:  ... unescaped script content ...
                    907:  ]]&gt;
                    908:  &lt;/script&gt;
                    909: </pre>
                    910: </div>
                    911: 
                    912: <p><code>CDATA</code> sections are recognized by the XML
                    913: processor and appear as nodes in the Document Object Model, see
                    914: <a href="http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-E067D597">
                    915: Section 1.3</a> of the DOM Level 1 Recommendation <a href="#ref-dom">[DOM]</a>.</p>
                    916: 
                    917: <p>An alternative is to use external script and style
                    918: documents.</p>
                    919: 
                    920: <h2><a name="h-4.9" id="h-4.9">4.9 SGML exclusions</a></h2>
                    921: 
                    922: <p>SGML gives the writer of a DTD the ability to exclude specific
                    923: elements from being contained within an element. Such
                    924: prohibitions (called "exclusions") are not possible in XML.</p>
                    925: 
                    926: <p>For example, the HTML 4.0 Strict DTD forbids the nesting of an
                    927: '<code>a</code>' element within another '<code>a</code>' element
                    928: to any descendant depth. It is not possible to spell out such
                    929: prohibitions in XML. Even though these prohibitions cannot be
                    930: defined in the DTD, certain elements should not be nested. A
                    931: summary of such elements and the elements that should not be
                    932: nested in them is found in the normative <a href="#prohibitions">
                    933: Appendix&#xA0;B</a>.</p>
                    934: 
                    935: <h2><a name="h-4.10" id="h-4.10">4.10 The elements with 'id' and 'name'
                    936: attributes</a></h2>
                    937: 
                    938: <p>HTML 4.0 defined the <code>name</code> attribute for the elements
                    939: <code>a</code>,
                    940: <code>applet</code>, <code>frame</code>,
                    941: <code>iframe</code>, <code>img</code>, and <code>map</code>.
                    942: HTML 4.0 also introduced
                    943: the <code>id</code> attribute. Both of these attributes are designed to be
                    944: used as fragment identifiers.</p>
                    945: <p>In XML, fragment identifiers are of type <code>ID</code>, and
                    946: there can only be a single attribute of type <code>ID</code> per element.
                    947: Therefore, in XHTML 1.0 the <code>id</code>
                    948: attribute is defined to be of type <code>ID</code>. In order to
                    949: ensure that XHTML 1.0 documents are well-structured XML documents, XHTML 1.0
                    950: documents MUST use the <code>id</code> attribute when defining fragment
                    951: identifiers, even on elements that historically have also had a
                    952: <code>name</code> attribute.
                    953: See the <a href="#guidelines">HTML Compatibility
                    954: Guidelines</a> for information on ensuring such anchors are backwards
                    955: compatible when serving XHTML documents as media type <code>text/html</code>.
                    956: </p>
                    957: <p>Note that in XHTML 1.0, the <code>name</code> attribute of these
                    958: elements is formally deprecated, and will be removed in a
                    959: subsequent version of XHTML.</p>
                    960: 
                    961: <!--OddPage-->
                    962: <h1><a name="issues" id="issues">5. Compatibility Issues</a></h1>
                    963: 
                    964: <p>Although there is no requirement for XHTML 1.0 documents to be
                    965: compatible with existing user agents, in practice this is easy to
                    966: accomplish. Guidelines for creating compatible documents can be
                    967: found in <a href="#guidelines">Appendix&#xA0;C</a>.</p>
                    968: 
                    969: <h2><a name="media" id="media">5.1 Internet Media Type</a></h2>
                    970: <p>As of the publication of this recommendation, the general
                    971: recommended MIME labeling for XML-based applications
                    972: has yet to be resolved.</p>
                    973: 
                    974: <p>However, XHTML Documents which follow the guidelines set forth
                    975: in <a href="#guidelines">Appendix C</a>, "HTML Compatibility Guidelines" may be
                    976: labeled with the Internet Media Type "text/html", as they
                    977: are compatible with most HTML browsers. This document
                    978: makes no recommendation about MIME labeling of other
                    979: XHTML documents.</p>
                    980: 
                    981: <!--OddPage-->
                    982: <h1><a name="future" id="future">6. Future Directions</a></h1>
                    983: 
                    984: <p>XHTML 1.0 provides the basis for a family of document types
                    985: that will extend and subset XHTML, in order to support a wide
                    986: range of new devices and applications, by defining modules and
                    987: specifying a mechanism for combining these modules. This
                    988: mechanism will enable the extension and sub-setting of XHTML 1.0
                    989: in a uniform way through the definition of new modules.</p>
                    990: 
                    991: <h2><a name="mods" id="mods">6.1 Modularizing HTML</a></h2>
                    992: 
                    993: <p>As the use of XHTML moves from the traditional desktop user
                    994: agents to other platforms, it is clear that not all of the XHTML
                    995: elements will be required on all platforms. For example a hand
                    996: held device or a cell-phone may only support a subset of XHTML
                    997: elements.</p>
                    998: 
                    999: <p>The process of modularization breaks XHTML up into a series of
                   1000: smaller element sets. These elements can then be recombined to
                   1001: meet the needs of different communities.</p>
                   1002: 
                   1003: <p>These modules will be defined in a later W3C document.</p>
                   1004: 
                   1005: <h2><a name="extensions" id="extensions">6.2 Subsets and
                   1006: Extensibility</a></h2>
                   1007: 
                   1008: <p>Modularization brings with it several advantages:</p>
                   1009: 
                   1010: <ul>
                   1011: <li>
                   1012: <p>It provides a formal mechanism for sub-setting XHTML.</p>
                   1013: </li>
                   1014: 
                   1015: <li>
                   1016: <p>It provides a formal mechanism for extending XHTML.</p>
                   1017: </li>
                   1018: 
                   1019: <li>
                   1020: <p>It simplifies the transformation between document types.</p>
                   1021: </li>
                   1022: 
                   1023: <li>
                   1024: <p>It promotes the reuse of modules in new document types.</p>
                   1025: </li>
                   1026: </ul>
                   1027: 
                   1028: <h2><a name="profiles" id="profiles">6.3 Document
                   1029: Profiles</a></h2>
                   1030: 
                   1031: <p>A document profile specifies the syntax and semantics of a set
                   1032: of documents. Conformance to a document profile provides a basis
                   1033: for interoperability guarantees. The document profile specifies
                   1034: the facilities required to process documents of that type, e.g.
                   1035: which image formats can be used, levels of scripting, style sheet
                   1036: support, and so on.</p>
                   1037: 
                   1038: <p>For product designers this enables various groups to define
                   1039: their own standard profile.</p>
                   1040: 
                   1041: <p>For authors this will obviate the need to write several
                   1042: different versions of documents for different clients.</p>
                   1043: 
                   1044: <p>For special groups such as chemists, medical doctors, or
                   1045: mathematicians this allows a special profile to be built using
                   1046: standard HTML elements plus a group of elements geared to the
                   1047: specialist's needs.</p>
                   1048: 
                   1049: <!--OddPage-->
                   1050: <h1><a name="appendices" id="appendices"></a>
                   1051: <a name="dtds" id="dtds">Appendix A. DTDs</a></h1>
                   1052: 
                   1053: <p><b>This appendix is normative.</b></p>
                   1054: 
                   1055: <p>These DTDs and entity sets form a normative part of this
                   1056: specification. The complete set of DTD files together with an XML
                   1057: declaration and SGML Open Catalog is included in the <a href="xhtml1.zip">zip file</a> for this specification.</p>
                   1058: 
                   1059: <h2><a name="h-A1" id="h-A1">A.1 Document Type
                   1060: Definitions</a></h2>
                   1061: 
                   1062: <p>These DTDs approximate the HTML 4.0 DTDs. It is likely that
                   1063: when the DTDs are modularized, a method of DTD construction will
                   1064: be employed that corresponds more closely to HTML 4.0.</p>
                   1065: 
                   1066: <ul>
                   1067: <li>
                   1068: <p><a href="DTD/xhtml1-strict.dtd" type="text/plain">
                   1069: XHTML-1.0-Strict</a></p>
                   1070: </li>
                   1071: 
                   1072: <li>
                   1073: <p><a href="DTD/xhtml1-transitional.dtd" type="text/plain">
                   1074: XHTML-1.0-Transitional</a></p>
                   1075: </li>
                   1076: 
                   1077: <li>
                   1078: <p><a href="DTD/xhtml1-frameset.dtd" type="text/plain">
                   1079: XHTML-1.0-Frameset</a></p>
                   1080: </li>
                   1081: </ul>
                   1082: 
                   1083: <h2><a name="h-A2" id="h-A2">A.2 Entity Sets</a></h2>
                   1084: 
                   1085: <p>The XHTML entity sets are the same as for HTML 4.0, but have
                   1086: been modified to be valid XML 1.0 entity declarations. Note the
                   1087: entity for the Euro currency sign (<code>&amp;euro;</code> or
                   1088: <code>&amp;#8364;</code> or <code>&amp;#x20AC;</code>) is defined
                   1089: as part of the special characters.</p>
                   1090: 
                   1091: <ul>
                   1092: <li>
                   1093: <p><a href="DTD/xhtml-lat1.ent">Latin-1 characters</a></p>
                   1094: </li>
                   1095: 
                   1096: <li>
                   1097: <p><a href="DTD/xhtml-special.ent">Special characters</a></p>
                   1098: </li>
                   1099: 
                   1100: <li>
                   1101: <p><a href="DTD/xhtml-symbol.ent">Symbols</a></p>
                   1102: </li>
                   1103: </ul>
                   1104: 
                   1105: <!--OddPage-->
                   1106: <h1><a name="prohibitions" id="prohibitions">Appendix B. Element
                   1107: Prohibitions</a></h1>
                   1108: 
                   1109: <p><b>This appendix is normative.</b></p>
                   1110: 
                   1111: <p>The following elements have prohibitions on which elements
                   1112: they can contain (see <a href="#h-4.9">Section 4.9</a>). This
                   1113: prohibition applies to all depths of nesting, i.e. it contains
                   1114: all the descendant elements.</p>
                   1115: 
                   1116: <dl><dt><code class="tag">a</code></dt>
                   1117: <dd>
                   1118: cannot contain other <code>a</code> elements.</dd>
                   1119: <dt><code class="tag">pre</code></dt>
                   1120: <dd>cannot contain the <code>img</code>, <code>object</code>,
                   1121: <code>big</code>, <code>small</code>, <code>sub</code>, or <code>
                   1122: sup</code> elements.</dd>
                   1123: 
                   1124: <dt><code class="tag">button</code></dt>
                   1125: <dd>cannot contain the <code>input</code>, <code>select</code>,
                   1126: <code>textarea</code>, <code>label</code>, <code>button</code>,
                   1127: <code>form</code>, <code>fieldset</code>, <code>iframe</code> or
                   1128: <code>isindex</code> elements.</dd>
                   1129: <dt><code class="tag">label</code></dt>
                   1130: <dd>cannot contain other <code class="tag">label</code> elements.</dd>
                   1131: <dt><code class="tag">form</code></dt>
                   1132: <dd>cannot contain other <code>form</code> elements.</dd>
                   1133: </dl>
                   1134: 
                   1135: <!--OddPage-->
                   1136: <h1><a name="guidelines" id="guidelines">Appendix C.
                   1137: HTML Compatibility Guidelines</a></h1>
                   1138: 
                   1139: <p><b>This appendix is informative.</b></p>
                   1140: 
                   1141: <p>This appendix summarizes design guidelines for authors who
                   1142: wish their XHTML documents to render on existing HTML user
                   1143: agents.</p>
                   1144: 
                   1145: <h2>C.1 Processing Instructions</h2>
                   1146: <p>Be aware that processing instructions are rendered on some
                   1147: user agents. However, also note that when the XML declaration is not included
                   1148: in a document, the document can only use the default character encodings UTF-8
                   1149: or UTF-16.</p>
                   1150: 
                   1151: <h2>C.2 Empty Elements</h2>
                   1152: <p>Include a space before the trailing <code>/</code> and <code>
                   1153: &gt;</code> of empty elements, e.g. <code class="greenmono">
                   1154: &lt;br&#xA0;/&gt;</code>, <code class="greenmono">
                   1155: &lt;hr&#xA0;/&gt;</code> and <code class="greenmono">&lt;img
                   1156: src="karen.jpg" alt="Karen"&#xA0;/&gt;</code>. Also, use the
                   1157: minimized tag syntax for empty elements, e.g. <code class="greenmono">&lt;br /&gt;</code>, as the alternative syntax <code class="greenmono">&lt;br&gt;&lt;/br&gt;</code> allowed by XML
                   1158: gives uncertain results in many existing user agents.</p>
                   1159: 
                   1160: <h2>C.3 Element Minimization and Empty Element Content</h2>
                   1161: <p>Given an empty instance of an element whose content model is
                   1162: not <code>EMPTY</code> (for example, an empty title or paragraph)
                   1163: do not use the minimized form (e.g. use <code class="greenmono">
                   1164: &lt;p&gt; &lt;/p&gt;</code> and not <code class="greenmono">
                   1165: &lt;p&#xA0;/&gt;</code>).</p>
                   1166: 
                   1167: <h2>C.4 Embedded Style Sheets and Scripts</h2>
                   1168: <p>Use external style sheets if your style sheet uses <code>
                   1169: &lt;</code> or <code>&amp;</code> or <code>]]&gt;</code> or <code>--</code>. Use
                   1170: external scripts if your script uses <code>&lt;</code> or <code>
                   1171: &amp;</code> or <code>]]&gt;</code> or <code>--</code>. Note that XML parsers
                   1172: are permitted to silently remove the contents of comments. Therefore, the historical
                   1173: practice of "hiding" scripts and style sheets within comments to make the
                   1174: documents backward compatible is likely to not work as expected in XML-based
                   1175: implementations.</p>
                   1176: 
                   1177: <h2>C.5 Line Breaks within Attribute Values</h2>
                   1178: <p>Avoid line breaks and multiple whitespace characters within
                   1179: attribute values. These are handled inconsistently by user
                   1180: agents.</p>
                   1181: 
                   1182: <h2>C.6 Isindex</h2>
                   1183: <p>Don't include more than one <code>isindex</code> element in
                   1184: the document <code>head</code>. The <code>isindex</code> element
                   1185: is deprecated in favor of the <code>input</code> element.</p>
                   1186: 
                   1187: <h2>C.7 The <code>lang</code> and <code>xml:lang</code> Attributes</h2>
                   1188: <p>Use both the <code>lang</code> and <code>xml:lang</code>
                   1189: attributes when specifying the language of an element. The value
                   1190: of the <code>xml:lang</code> attribute takes precedence.</p>
                   1191: 
                   1192: <h2>C.8 Fragment Identifiers</h2>
                   1193: <p>In XML, <abbr title="Uniform Resource Identifiers">URIs</abbr> [<a href="#ref-rfc2396">RFC2396</a>] that end with fragment identifiers of the form
                   1194: <code>"#foo"</code> do not refer to elements with an attribute
                   1195: <code>name="foo"</code>; rather, they refer to elements with an
                   1196: attribute defined to be of type <code>ID</code>, e.g., the <code>
                   1197: id</code> attribute in HTML 4.0. Many existing HTML clients don't
                   1198: support the use of <code>ID</code>-type attributes in this way,
                   1199: so identical values may be supplied for both of these attributes to ensure
                   1200: maximum forward and backward compatibility (e.g., <code class="greenmono">&lt;a id="foo" name="foo"&gt;...&lt;/a&gt;</code>).</p>
                   1201: 
                   1202: <p>Further, since the set of
                   1203: legal values for attributes of type <code>ID</code> is much smaller than
                   1204: for those of type <code>CDATA</code>, the type of the <code>name</code>
                   1205: attribute has been changed to <code>NMTOKEN</code>. This attribute is 
                   1206: constrained such that it can only have the same values as type
                   1207: <code>ID</code>, or as the <code>Name</code> production in XML 1.0 Section
                   1208: 2.5, production 5. Unfortunately, this constraint cannot be expressed in the
                   1209: XHTML 1.0 DTDs.  Because of this change, care must be taken when
                   1210: converting existing HTML documents. The values of these attributes
                   1211: must be unique within the document, valid, and any references to these 
                   1212: fragment identifiers (both
                   1213: internal and external) must be updated should the values be changed during
                   1214: conversion.</p>
                   1215: <p>Finally, note that XHTML 1.0 has deprecated the
                   1216: <code>name</code> attribute of the <code>a</code>, <code>applet</code>, <code>frame</code>, <code>iframe</code>, <code>img</code>, and <code>map</code>
                   1217: elements, and it will be
                   1218: removed from XHTML in subsequent versions.</p>
                   1219: 
                   1220: <h2>C.9 Character Encoding</h2>
                   1221: <p>To specify a character encoding in the document, use both the
                   1222: encoding attribute specification on the xml declaration (e.g.
                   1223: <code class="greenmono">&lt;?xml version="1.0"
                   1224: encoding="EUC-JP"?&gt;</code>) and a meta http-equiv statement
                   1225: (e.g. <code class="greenmono">&lt;meta http-equiv="Content-type"
                   1226: content='text/html; charset="EUC-JP"'&#xA0;/&gt;</code>). The
                   1227: value of the encoding attribute of the xml processing instruction
                   1228: takes precedence.</p>
                   1229: 
                   1230: <h2>C.10 Boolean Attributes</h2>
                   1231: <p>Some HTML user agents are unable to interpret boolean
                   1232: attributes when these appear in their full (non-minimized) form,
                   1233: as required by XML 1.0. Note this problem doesn't effect user
                   1234: agents compliant with HTML 4.0. The following attributes are
                   1235: involved: <code>compact</code>, <code>nowrap</code>, <code>
                   1236: ismap</code>, <code>declare</code>, <code>noshade</code>, <code>
                   1237: checked</code>, <code>disabled</code>, <code>readonly</code>,
                   1238: <code>multiple</code>, <code>selected</code>, <code>
                   1239: noresize</code>, <code>defer</code>.</p>
                   1240: 
                   1241: <h2>C.11 Document Object Model and XHTML</h2>
                   1242: <p>
                   1243: The Document Object Model level 1 Recommendation [<a href="#ref-dom">DOM</a>]
                   1244: defines document object model interfaces for XML and HTML 4.0. The HTML 4.0
                   1245: document object model specifies that HTML element and attribute names are
                   1246: returned in upper-case. The XML document object model specifies that 
                   1247: element and attribute names are returned in the case they are specified. In
                   1248: XHTML 1.0, elements and attributes are specified in lower-case. This apparent difference can be
                   1249: addressed in two ways:
                   1250: </p>
                   1251: <ol>
                   1252: <li>Applications that access XHTML documents served as Internet media type
                   1253: <code>text/html</code>
                   1254: via the <abbr title="Document Object Model">DOM</abbr> can use the HTML DOM,
                   1255: and can rely upon element and attribute names being returned in
                   1256: upper-case from those interfaces.</li>
                   1257: <li>Applications that access XHTML documents served as Internet media types
                   1258: <code>text/xml</code> or <code>application/xml</code>
                   1259: can also use the XML DOM. Elements and attributes will be returned in lower-case.
                   1260: Also, some XHTML elements may or may
                   1261: not appear
                   1262: in the object tree because they are optional in the content model
                   1263: (e.g. the <code>tbody</code> element within
                   1264: <code>table</code>).  This occurs because in HTML 4.0 some elements were
                   1265: permitted to be minimized such that their start and end tags are both omitted
                   1266: (an SGML feature).
                   1267: This is not possible in XML. Rather than require document authors to insert
                   1268: extraneous elements, XHTML has made the elements optional. 
                   1269: Applications need to adapt to this
                   1270: accordingly.</li>
                   1271: </ol>
                   1272: 
                   1273: <h2>C.12 Using Ampersands in Attribute Values</h2>
                   1274: <p>
                   1275: When an attribute value contains an ampersand, it must be expressed as a character
                   1276: entity reference
                   1277: (e.g. "<code>&amp;amp;</code>"). For example, when the
                   1278: <code>href</code> attribute
                   1279: of the <code>a</code> element refers to a
                   1280: CGI script that takes parameters, it must be expressed as
                   1281: <code>http://my.site.dom/cgi-bin/myscript.pl?class=guest&amp;amp;name=user</code>
                   1282: rather than as
                   1283: <code>http://my.site.dom/cgi-bin/myscript.pl?class=guest&amp;name=user</code>.
                   1284: </p>
                   1285: 
                   1286: <h2>C.13 Cascading Style Sheets (CSS) and XHTML</h2>
                   1287: 
                   1288: <p>The Cascading Style Sheets level 2 Recommendation [<a href="#ref-css2">CSS2</a>] defines style
                   1289: properties which are applied to the parse tree of the HTML or XML
                   1290: document.  Differences in parsing will produce different visual or
                   1291: aural results, depending on the selectors used. The following hints
                   1292: will reduce this effect for documents which are served without
                   1293: modification as both media types:</p>
                   1294: 
                   1295: <ol>
                   1296: <li>
                   1297: CSS style sheets for XHTML should use lower case element and
                   1298: attribute names.</li>
                   1299: 
                   1300: 
                   1301: <li>In tables, the tbody element will be inferred by the parser of an
                   1302: HTML user agent, but not by the parser of an XML user agent. Therefore
                   1303: you should always explicitely add a tbody element if it is referred to
                   1304: in a CSS selector.</li>
                   1305: 
                   1306: <li>Within the XHTML name space, user agents are expected to
                   1307: recognize the "id" attribute as an attribute of type ID.
                   1308: Therefore, style sheets should be able to continue using the
                   1309: shorthand "#" selector syntax even if the user agent does not read
                   1310: the DTD.</li>
                   1311: 
                   1312: <li>Within the XHTML name space, user agents are expected to
                   1313: recognize the "class" attribute. Therefore, style sheets should be
                   1314: able to continue using the shorthand "." selector syntax.</li>
                   1315: 
                   1316: <li>
                   1317: CSS defines different conformance rules for HTML and XML documents;
                   1318: be aware that the HTML rules apply to XHTML documents delivered as
                   1319: HTML and the XML rules apply to XHTML documents delivered as XML.</li>
                   1320: </ol>
                   1321: <!--OddPage-->
                   1322: <h1><a name="acks" id="acks">Appendix D.
                   1323: Acknowledgements</a></h1>
                   1324: 
                   1325: <p><b>This appendix is informative.</b></p>
                   1326: 
                   1327: <p>This specification was written with the participation of the
                   1328: members of the W3C HTML working group:</p>
                   1329: 
                   1330: <dl>
                   1331: <dd>Steven Pemberton, CWI (HTML Working Group Chair)<br />
                   1332: Murray Altheim, Sun Microsystems<br />
                   1333: Daniel Austin, CNET: The Computer Network<br />
                   1334: Frank Boumphrey, HTML Writers Guild<br />
                   1335: John Burger, Mitre<br />
                   1336: Andrew W. Donoho, IBM<br />
                   1337: Sam Dooley, IBM<br />
                   1338: Klaus Hofrichter, GMD<br />
                   1339: Philipp Hoschka, W3C<br />
                   1340: Masayasu Ishikawa, W3C<br />
                   1341: Warner ten Kate, Philips Electronics<br />
                   1342: Peter King, Phone.com<br />
                   1343: Paula Klante, JetForm<br />
                   1344: Shin'ichi Matsui, W3C/Panasonic<br />
                   1345: Shane McCarron, Applied Testing and Technology (The Open Group through August
                   1346: 1999)<br />
                   1347: Ann Navarro, HTML Writers Guild<br />
                   1348: Zach Nies, Quark<br />
                   1349: Dave Raggett, W3C/HP (W3C lead for HTML)<br />
                   1350: Patrick Schmitz, Microsoft<br />
                   1351: Sebastian Schnitzenbaumer, Stack Overflow<br />
                   1352: Chris Wilson, Microsoft<br />
                   1353: Ted Wugofski, Gateway 2000<br />
                   1354: Dan Zigmond, WebTV Networks</dd>
                   1355: </dl>
                   1356: 
                   1357: <!--OddPage-->
                   1358: <h1><a name="refs" id="refs">Appendix E. References</a></h1>
                   1359: 
                   1360: <p><b>This appendix is informative.</b></p>
                   1361: 
                   1362: <dl>
                   1363: 
                   1364: <dt><a name="ref-css2" id="ref-css2"><b>[CSS2]</b></a></dt>
                   1365: 
                   1366: <dd><a href="http://www.w3.org/TR/REC-CSS2">"Cascading Style Sheets, level 2 (CSS2) Specification"</a>, B.
                   1367: Bos, H. W. Lie, C. Lilley, I. Jacobs, 12 May 1998.<br />
                   1368: Available at: <a href="http://www.w3.org/TR/REC-CSS2">
                   1369: http://www.w3.org/TR/REC-CSS2</a></dd>
                   1370: 
                   1371: <dt><a name="ref-dom" id="ref-dom"><b>[DOM]</b></a></dt>
                   1372: 
                   1373: <dd><a href="http://www.w3.org/TR/REC-DOM-Level-1">"Document Object Model (DOM) Level 1 Specification"</a>, Lauren
                   1374: Wood <i>et al.</i>, 1 October 1998.<br />
                   1375: Available at: <a href="http://www.w3.org/TR/REC-DOM-Level-1">
                   1376: http://www.w3.org/TR/REC-DOM-Level-1</a></dd>
                   1377: 
                   1378: <dt><a name="ref-html4" id="ref-html4"><b>[HTML]</b></a></dt>
                   1379: 
                   1380: <dd><a href="http://www.w3.org/TR/1999/PR-html40-19990824">"HTML 4.01 Specification"</a>, D. Raggett, A. Le&#xA0;Hors, I.
                   1381: Jacobs, 24 August 1999.<br />
                   1382: Available at: <a href="http://www.w3.org/TR/1999/PR-html40-19990824">
                   1383: http://www.w3.org/TR/1999/PR-html40-19990824</a></dd>
                   1384: 
                   1385: <dt><a name="ref-posix" id="ref-posix"><b>[POSIX.1]</b></a></dt>
                   1386: 
                   1387: <dd>"ISO/IEC 9945-1:1990 Information Technology - Portable
                   1388: Operating System Interface (POSIX) - Part 1: System Application
                   1389: Program Interface (API) [C Language]", Institute of Electrical
                   1390: and Electronics Engineers, Inc, 1990.</dd>
                   1391: 
                   1392: <dt><a name="ref-rfc2046" id="ref-rfc2046"><b>
                   1393: [RFC2046]</b></a></dt>
                   1394: 
                   1395: <dd><a href="http://www.ietf.org/rfc/rfc2046.txt">"RFC2046: Multipurpose Internet Mail Extensions (MIME) Part
                   1396: Two: Media Types"</a>, N. Freed and N. Borenstein, November
                   1397: 1996.<br />
                   1398: Available at <a href="http://www.ietf.org/rfc/rfc2046.txt">
                   1399: http://www.ietf.org/rfc/rfc2046.txt</a>. Note that this RFC
                   1400: obsoletes RFC1521, RFC1522, and RFC1590.</dd>
                   1401: 
                   1402: <dt><a name="ref-rfc2119" id="ref-rfc2119"><b>
                   1403: [RFC2119]</b></a></dt>
                   1404: 
                   1405: <dd><a href="http://www.ietf.org/rfc/rfc2119.txt">"RFC2119: Key words for use in RFCs to Indicate Requirement
                   1406: Levels"</a>, S. Bradner, March 1997.<br />
                   1407: Available at: <a href="http://www.ietf.org/rfc/rfc2119.txt">
                   1408: http://www.ietf.org/rfc/rfc2119.txt</a></dd>
                   1409: 
                   1410: <dt><a name="ref-rfc2376" id="ref-rfc2376"><b>
                   1411: [RFC2376]</b></a></dt>
                   1412: 
                   1413: <dd><a href="http://www.ietf.org/rfc/rfc2376.txt">"RFC2376: XML Media Types"</a>, E. Whitehead, M. Murata, July
                   1414: 1998.<br />
                   1415: Available at: <a href="http://www.ietf.org/rfc/rfc2376.txt">
                   1416: http://www.ietf.org/rfc/rfc2376.txt</a></dd>
                   1417: 
                   1418: <dt><a name="ref-rfc2396" id="ref-rfc2396"><b>
                   1419: [RFC2396]</b></a></dt>
                   1420: 
                   1421: <dd><a href="http://www.ietf.org/rfc/rfc2396.txt">"RFC2396: Uniform Resource Identifiers (URI): Generic
                   1422: Syntax"</a>, T. Berners-Lee, R. Fielding, L. Masinter, August
                   1423: 1998.<br />
                   1424: This document updates RFC1738 and RFC1808.<br />
                   1425: Available at: <a href="http://www.ietf.org/rfc/rfc2396.txt">
                   1426: http://www.ietf.org/rfc/rfc2396.txt</a></dd>
                   1427: 
                   1428: <dt><a name="ref-xml" id="ref-xml"><b>[XML]</b></a></dt>
                   1429: 
                   1430: <dd><a href="http://www.w3.org/TR/REC-xml">"Extensible Markup Language (XML) 1.0 Specification"</a>, T.
                   1431: Bray, J. Paoli, C. M. Sperberg-McQueen, 10 February 1998.<br />
                   1432: Available at: <a href="http://www.w3.org/TR/REC-xml">
                   1433: http://www.w3.org/TR/REC-xml</a></dd>
                   1434: 
                   1435: <dt><a name="ref-xmlns" id="ref-xmlns"><b>[XMLNAMES]</b></a></dt>
                   1436: 
                   1437: <dd><a href="http://www.w3.org/TR/REC-xml-names">"Namespaces in XML"</a>, T. Bray, D. Hollander, A. Layman, 14
                   1438: January 1999.<br />
                   1439: XML namespaces provide a simple method for qualifying names used
                   1440: in XML documents by associating them with namespaces identified
                   1441: by URI.<br />
                   1442: Available at: <a href="http://www.w3.org/TR/REC-xml-names">
                   1443: http://www.w3.org/TR/REC-xml-names</a></dd>
                   1444: 
                   1445: </dl>
                   1446: <p><a href="http://www.w3.org/WAI/WCAG1AAA-Conformance" title="Explanation of Level Triple-A Conformance">
                   1447: <img height="32" width="88" src="wcag1AAA.gif" alt="Level Triple-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0" /></a></p>
                   1448: <div class="navbar">
                   1449:   <hr />
                   1450:   <a href="#toc">table of contents</a> 
                   1451: </div>
                   1452: </body>
                   1453: </html>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>