Annotation of embedaddon/libxml2/test/valid/xhtml1.xhtml, revision 1.1

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

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