<?xml version="1.0" encoding="utf-8"?>
<?rfc inline="yes"?><?rfc toc="yes"?><?rfc symrefs="no"?><?rfc strict="yes"?><?rfc iprnotified="no" ?><?rfc compact="yes"?><?rfc sortrefs="no"?><?rfc colonspace="yes"?><rfc docName="draft-hildebrand-html-rfc-01" category="std" ipr="trust200902">
  <front>
    <title>HTML RFC Format</title>
    <author fullname="Joe Hildebrand" initials="J." surname="Hildebrand">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street>1899 Wynkoop St, Suite 600</street>
          <city>Denver</city>
          <region>CO</region>
          <code>80202</code>
          <country>United States</country>
        </postal>
        <email>jhildebr@cisco.com</email>
      </address>
    </author>
    <date day="16" month="July" year="2012"/>
    <abstract>
      <t anchor="abstract-p-1">This document defines an HTML format that can be used for the production of Internet-Drafts and RFCs.</t>
      <t>If you are viewing a version of this document other than the HTML generated by the editor, your a missing vital information. Download a canonical version from http://cursive.net/draft-hildebrand-html-rfc-2012-07-16.html.</t>
    </abstract>
  </front>
  <middle>
    <section title="Introduction" anchor="introduction">
      <section title="Background" anchor="background">
        <t>If you are viewing a version of this document other than the HTML generated by the editor, your a missing vital information. Download a canonical version from <eref target='http://cursive.net/draft-hildebrand-html-rfc-2012-07-16.html'>http://cursive.net/draft-hildebrand-html-rfc-2012-07-16.html</eref>.</t>
        <t anchor="background-p-1">The RFC Series has been in existence for over 40 years. During much of that time, the limitations of character set, line and page length, and graphics restrictions of RFC documents met the most immediate needs of the majority of authors and readers. As technology changed, new formats that allowed for a richer set of edit, search and display features came in to use, and tools were created to convert the plain ASCII documents to other desired formats such as HTML, PDF, and Microsoft Word. While the converted versions of the RFCs are widely available, the canonical display format remains the plain text, ASCII, line-printer structured one. The canonical source format is nroff.</t>
        <t anchor="background-p-2">Canonical source and display versions of an RFC exists for several reasons:</t>
        <t>
          <list style="symbols">
          <t>to provide verification of the content of an RFC in case inconsistencies are created when a document is converted to another format or mirrored to another location</t>
          <t>to verify the final content of a document in cases of legal dispute</t>
          <t>to aid in the conversion of the RFC in to formats requested by the community</t>
        </list>
        </t>
        <t anchor="background-p-4">The current basic format of RFC source and display documents have two characteristics that are considered by the RFC Series Editor to be critical to the RFC Series, including:</t>
        <t>
          <list style="symbols">
          <t>persistence (tools to read, edit, and print the documents remain easily accessible to everyone)</t>
          <t>convertibility (the plain text version is simple to convert to other formats)</t>
        </list>
        </t>
        <t anchor="background-p-6">That said, the very simple nature of the current display format in particular introduces a variety of limitations, the list of which has grown as changes in technology create new expectations:</t>
        <t>
          <list style="symbols">
          <t>ASCII art is considered by some to be a major limitation in expressing visually-oriented information</t>
          <t>the internationalization of the authorship and the Internet is introducing <xref target="unicode:6.1">Unicode</xref> codepoints not expressible in 7-bit ASCII</t>
          <t>the more common forms of display (web pages, smaller devices) make the limitations of page and line length a hindrance to the reading of an RFC</t>
          <t>tools for people with visual impairments may stumble over the page-oriented structure of the current format; large fonts on a screen that is not large enough to show an entire line, for example, can make the current format difficult to read, since lines do not re-wrap automatically</t>
        </list>
        </t>
      </section>
      <section title="Overview" anchor="overview">
        <t anchor="overview-p-1">This memo describes a format that can be used both as the canonical input format to the RFC Series Editor (RSE), as well as an archival format. Some document authors will write documents directly in this format (perhaps with tooling to generate the more repetitive tasks), and some authors will prefer other formats as their original source, all of which MUST be able to generate the format described in this memo.</t>
        <t anchor="overview-p-2">This memo has the following goals:</t>
        <t>
          <list style="numbers">
          <t>Define a strict subset of HTML appropriate for Internet-Draft and RFC Series documents</t>
          <t>Serve as a comprehensive example of all of the HTML elements that are permissible</t>
        </list>
        </t>
      </section>
      <section title="Terminology" anchor="mustard">
        <t anchor="mustard-p-1">The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119">RFC 2119</xref>.</t>
      </section>
    </section>
    <section title="Accessibility" anchor="accessibility">
      <t anchor="accessibility-p-1">One of the major goals of the HTML format is to ensure accessibility for the following consumers of documents written in the format:</t>
      <t>
        <list style="symbols">
        <t>People with impaired vision, including those that use large fonts and those that use screen readers</t>
        <t>People with difficulty distinguishing between colors</t>
        <t>People who use devices with small screens, such as cell phones</t>
        <t>Other groups TBD</t>
      </list>
      </t>
      <t anchor="accessibility-p-3">Specific instances where these goals are important in the design choices of the format have been called out in the text.</t>
      <t anchor="accessibility-p-4">NOTE: designing for these consumers does not preclude the use of features they cannot use, but does require that key semantic data is not lost when read using the tools and settings that are required by a given constituency.</t>
    </section>
    <section title="HTML Format" anchor="format">
      <t anchor="format-p-1">The format specified here is a subset of HTML, deemed to be widely-implemented by common browsers at the time that the specification was created, likely to continue to be widely-implemented in the future, and unlikely to cause security issues.</t>
      <section title="Syntax" anchor="syntax">
        <t anchor="syntax-p-1">The following rules SHALL be enforced before submittal.</t>
        <t>
          <list style="symbols">
          <t>The HTML source MUST be encoded as UTF-8, as specified in <xref target="RFC3629">RFC3629</xref>.</t>
          <t>The HTML source MUST be formatted in the manner of well-formed <xref target="W3C.REC-xml-20081126">XML</xref>, with all element start tags having matching end tags (or <spanx style="verb">&lt;element /&gt;</spanx> for empty elements), and all elements properly nested. HTML "boolean" attributes MUST be formatted in the <spanx style="verb">attr='attr'</spanx> style.</t>
          <t>Single quotes (U+0027 APOSTROPHE: <spanx style="verb">'</spanx>) MUST be used to quote attribute values. Unquoted attribute values MUST NOT be used.</t>
          <t>HTML SHALL be indented using spaces (not tabs).</t>
          <t>Each child element SHALL be indented two spaces more than its parent element, unless the child element is mixed with non-whitespace-only text children of the same parent element.</t>
          <t>Each logical line MUST be terminated solely with a \n (U+000A: LINE FEED), otherwise known as "Unix-style" line endings.</t>
          <t>Other than \n (U+000A: LINE FEED), code points less than " " (U+0020: SPACE) (otherwise known as "control characters") MUST NOT be used. Any character references that would generate these code points (e.g. ) MUST NOT be used. NOTE: this rule explicitly forbids \t (U+0009: CHARACTER TABULATION), \f (U+000C: FORM FEED), and \r (U+000D: CARRIAGE RETURN) from appearing in the source.</t>
          <t>Unicode codepoints that are unassigned at the time of publication MUST not be used.</t>
          <t>Any Unicode codepoint higher than ~ (U+007E: TILDE) MUST serve an explicit purpose that enhances the understanding of the document. Author names and examples are two known cases. The intent is that the document MUST be understandable by a reader with the ability to read technical English.</t>
          <t>Each text-containing element such as headings (<spanx style="verb">&lt;h1&gt;</spanx>-<spanx style="verb">&lt;h6&gt;</spanx>), paragraphs (<spanx style="verb">&lt;p&gt;</spanx>), or list items (<spanx style="verb">&lt;li&gt;</spanx>), MUST be serialized as a single line without wrapping.</t>
        </list>
        </t>
        <t anchor="syntax-p-3">NOTE: none of these rules affect the rendered output of the HTML, but are intended to increase the chance that multiple tools that process the format will generate identical syntax. In turn, this will make difference tools that operate on the HTML source easier to write.</t>
      </section>
      <section title="Basic Structure" anchor="structure">
        <section title="HTML5" anchor="html5">
          <t anchor="html5-p-1">The HTML comprising the document MUST be valid according to the latest version of the HTML specification at the publishing, starting with the version commonly known as <xref target="W3C.WD-html5-20120329">HTML5</xref>. Although the HTML specification mandates several of syntax and structure rules in this document, they are called out here for emphasis.</t>
        </section>
        <section title="DOCTYPE" anchor="doctype">
          <t anchor="doctype-p-1">The DOCTYPE of the document MUST be "html", which declares that the document is compliant with <xref target="W3C.WD-html5-20120329">HTML5</xref>. For example, the document will start with exactly this string:</t>
          <figure>
            <artwork>&lt;!DOCTYPE html&gt;</artwork>
          </figure>
        </section>
        <section title="Root Element" anchor="root">
          <t anchor="root-p-1">The root element of the document MUST be <spanx style="verb">&lt;html&gt;</spanx>. This element SHOULD include a <spanx style="verb">lang</spanx> attribute, whose value is a <xref target="RFC5646">RFC5646</xref> language tag describing the natural language of the document. For documents submitted to the RFC Series or Internet-Draft Series, the language tag MUST be "<spanx style="verb">en</spanx>", meaning "English". If the <spanx style="verb">lang</spanx> attribute is not present, its value should be taken to be "<spanx style="verb">en</spanx>".</t>
        </section>
        <section title="Charset Declaration" anchor="charset">
          <t anchor="charset-p-1">In order to be correctly processed by browsers that load the HTML using a mechanism that does not provide a valid MIME content-type or charset, the HTML <spanx style="verb">&lt;head&gt;</spanx> element MUST contain a <spanx style="verb">&lt;meta&gt;</spanx> element, with the attributes <spanx style="verb">http-equiv='Content-Type'</spanx> and <spanx style="verb">content='text/html; charset=utf-8'</spanx>. This will look like:</t>
          <figure>
            <artwork>&lt;meta http-equiv='Content-Type' content='text/html; charset=utf-8' /&gt;</artwork>
          </figure>
        </section>
        <section title="Style" anchor="style">
          <t anchor="style-p-1">The <spanx style="verb">&lt;head&gt;</spanx> SHOULD contain an embedded <xref target="W3C.REC-CSS2-20110607">CSS</xref> stylesheet in a <spanx style="verb">&lt;style&gt;</spanx> element. The styles in the stylesheet are to be set consistently between documents by the RFC Editor, according to the best practices of the day. The RFC Editor SHALL choose a stylesheet that does not modify the meaning of the normative text of the document. The RFC Editor SHALL make the stylesheet available via a standard protocol (e.g. HTTP or HTTPS) for ease of authorship. However, when a document is submitted, external stylesheets (other than "local.css" as specified below) are NOT ALLOWED. The stylesheet itself MUST NOT be considered as normative information.</t>
          <t anchor="style-p-2">To ensure consistent formatting, individual <spanx style="verb">style</spanx> attributes SHOULD NOT be used in the main portion of the document source except in highly exceptional circumstances; each use MUST be individually justified.</t>
          <t anchor="style-p-3">Different readers of a specification will desire different tweaks to the stylesheet. To facilitate this, the <spanx style="verb">&lt;head&gt;</spanx> SHOULD include a <spanx style="verb">&lt;link&gt;</spanx> to a stylesheet in the same directory as the HTML file, named "local.css", <spanx style="strong">after</spanx> the embedded stylesheet. Note that this "local.css" file will not exist for most users; browsers will correspondingly ignore this <spanx style="verb">&lt;link&gt;</spanx>. When the document is used canonically, these local style overrides MUST NOT be in effect.</t>
          <t anchor="style-p-4">For example:</t>
          <figure>
            <artwork>
&lt;head&gt;
  &lt;style type='text/css'&gt;
&lt;!--
/* RFC-editor styles */
--&gt;
  &lt;/style&gt;
  &lt;link rel='stylesheet' type='text/css' href='local.css' /&gt;
&lt;/head&gt;</artwork>
          </figure>
        </section>
        <section title="Emphasis" anchor="emphasis">
          <t anchor="emphasis-p-1">Words or phrases may be emphasized using the <spanx style="verb">&lt;strong&gt;</spanx> element for "<spanx style="strong">bold</spanx>", and the <spanx style="verb">&lt;em&gt;</spanx> element for "<spanx style="emph">italics</spanx>". Underlining MUST NOT be used except for links, to avoid visual confusion. Text-only emphasis MUST NOT be used.</t>
          <t anchor="emphasis-p-2">The RFC Editor will set a policy that reflects the current feelings of the community as to whether this emphasis markup is allowed in documents that are submitted for publication in the RFC series.</t>
        </section>
        <section title="Comments" anchor="comments">
          <t anchor="comments-p-1">HTML comments MAY be used, but MUST NOT contain normative information. One example is to clarify particular choices in the HTML format. Example:</t>
          <figure>
            <artwork>&lt;!-- Automatically generated: do not modify --&gt;</artwork>
          </figure>
        </section>
        <section title="Sections" anchor="sections">
          <t anchor="sections-p-1">Each section of the document SHALL be formatted as a <spanx style="verb">&lt;div&gt;</spanx> tag, with a class attribute with value "section". A document-unique, <spanx style="verb">id</spanx> attribute SHOULD be assigned to each section <spanx style="verb">&lt;div&gt;</spanx>. The <spanx style="verb">id</spanx> MAY be human-readable or generated.</t>
          <t anchor="sections-p-2">NOTE: <xref target="W3C.REC-xml-20081126">XML</xref> requires id attributes to be unique across an entire document:</t>
          <t anchor="sections-p-4">Each section <spanx style="verb">&lt;div&gt;</spanx> MUST contain a header tag (<spanx style="verb">&lt;h2&gt;</spanx>-<spanx style="verb">&lt;h6&gt;</spanx>) of the appropriate depth, with top-level sections getting an <spanx style="verb">&lt;h2&gt;</spanx> tag, and each nested section getting the next higher header level. If more than five levels of headers are required, <spanx style="verb">&lt;h6&gt;</spanx> MUST be used for each deeper-nested section. However, nesting sections more than five levels deep is NOT RECOMMENDED.</t>
          <t anchor="sections-p-5">The text in each header tag MUST begin with the section number. Section numbers MUST begin at "1.", and MUST increment by one for each successive section at the same level. Subsections MUST be numbered by appending the subsection number to the parent section number.</t>
          <t anchor="sections-p-6">It is RECOMMENDED that the section number be wrapped in an <spanx style="verb">&lt;a&gt;</spanx> element, whose <spanx style="verb">href</spanx> attribute points to the corresponding section div with a local relative reference. This <spanx style="verb">&lt;a&gt;</spanx> element SHOULD have the CSS class <spanx style="verb">self-ref</spanx>.</t>
          <t anchor="sections-p-7">Within a section, each "normal" paragraph MUST be surrounded by a <spanx style="verb">&lt;p&gt;</spanx> element.</t>
          <t anchor="sections-p-8">For example:</t>
          <figure>
            <artwork>
&lt;div class='section' id='example'&gt;
  &lt;h2&gt;&lt;a class='self-ref' href='#example'&gt;1.&lt;/a&gt; Example Section&lt;/h2&gt;
  &lt;p&gt;This is a description of the example&lt;/p&gt;
  &lt;div class='section' id='nested'&gt;
    &lt;h3&gt;&lt;a class='self-ref' href='#nested'&gt;1.1.&lt;/a&gt; Nested Section&lt;/h3&gt;
    &lt;p&gt;This is a description of the nested section.&lt;/p&gt;
    &lt;p&gt;This is the second description paragraph.&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;</artwork>
          </figure>
        </section>
        <section title="Appendices" anchor="appendices">
          <t anchor="appendices-p-1">Appendices are special cases of top-level sections. Each appendix of the document SHALL be formatted as a <spanx style="verb">&lt;div&gt;</spanx> tag, with a class attribute with value "appendix". A document-unique, id attribute SHOULD be assigned to each section <spanx style="verb">&lt;div&gt;</spanx>. The id MAY be human-readable or generated. Each appendix <spanx style="verb">&lt;div&gt;</spanx> MUST contain an <spanx style="verb">&lt;h2&gt;</spanx> element containing text that describes the purpose of the appendix. Appendices are identified to the reader with Latin capital letters A-Z, in order. It is NOT RECOMMENDED to have more than 26 appendices, but if required, appendices "AA.", "AB.", etc. follow Appendix Z.</t>
          <t anchor="appendices-p-2">Inside the appendix, subsections MUST be formatted per <xref target="sections">Sections</xref>, numbered sequentially. For example, the first subsection of "Appendix A." is "Appendix A.1.".</t>
          <t anchor="appendices-p-3">For example:</t>
          <figure>
            <artwork>
&lt;div class='appendix' id='acknowledgements'&gt;
  &lt;h2&gt;Appendix A. Acknowledgements&lt;/h2&gt;
  &lt;p&gt;The author gratefully acknowledges the contributions of...&lt;/p&gt;
  &lt;div class='section' id='contributors'&gt;
    &lt;h3&gt;Appendix A.1. Contributors&lt;/h2&gt;
    &lt;p&gt;These people contributed text...&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;</artwork>
          </figure>
        </section>
        <section title="Paragraphs" anchor="paragraphs">
          <t anchor="paragraphs-p-1">Paragraphs MUST be contained in a <xref target="sections">section</xref> <spanx style="verb">&lt;div&gt;</spanx> or an <xref target="appendices">appendix</xref> <spanx style="verb">&lt;div&gt;</spanx>. A document-unique, <spanx style="verb">id</spanx> attribute SHOULD be assigned to each <spanx style="verb">&lt;p&gt;</spanx>. The <spanx style="verb">id</spanx> will usually be machine-generated, but MAY be human-readable if desired.</t>
          <t anchor="paragraphs-p-2">It is RECOMMENDED that each paragraph be kept relatively small compared to a "page" in previous RFC formats, so that references to each paragraph are at least as valuable as page references have been in previous formats.</t>
        </section>
        <section title="Lists" anchor="lists">
          <t anchor="lists-p-1">Lists may be used inside a section <spanx style="verb">&lt;div&gt;</spanx>, and may nest in other lists as needed. However, lists MUST NOT be nested inside a <spanx style="verb">&lt;p&gt;</spanx> element. Unordered lists (<spanx style="verb">&lt;ul&gt;</spanx>) and ordered lists (<spanx style="verb">&lt;ol&gt;</spanx>) may both be used. For example:</t>
          <figure>
            <artwork>
&lt;div class='section' id='lists'&gt;
  &lt;h4&gt;Unordered list&lt;/h4&gt;
  &lt;p id='lists-p-1'&gt;An explanation:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;One&lt;/li&gt;
    &lt;li&gt;Two&lt;/li&gt;
    &lt;ol&gt;
      &lt;li&gt;Two.1: (this one is numbered)&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/ul&gt;
&lt;/div&gt;</artwork>
          </figure>
        </section>
        <section title="References" anchor="references-types">
          <section title="Internal References" anchor="internal-references">
            <t anchor="internal-references-p-1">References to other paragraphs or sections in the same document MUST use an <spanx style="verb">&lt;a&gt;</spanx> element with an <spanx style="verb">href</spanx> attribute with a fragment that points at the <spanx style="verb">id</spanx> attribute of the target (i.e. the <spanx style="verb">id</spanx> prefixed with a <spanx style="verb">#</spanx>). The target element MUST have a human-readable <spanx style="verb">id</spanx> attribute, which MUST be stable even when tooling generates new <spanx style="verb">id</spanx> attributes. For example:</t>
            <figure>
              <artwork>See &lt;a href='#example'&gt;Example Section&lt;/a&gt; for more details</artwork>
            </figure>
          </section>
          <section title="References to Standards" anchor="standards-references">
            <t anchor="standards-references-p-1">References to standards are special, in that they generate formal bibliographical metadata. All links to standards in the main body of the text MUST jump to the <xref target="bibliographical">bibliographical</xref> entry; the href MUST be of the form #[series]:[number]. For example:</t>
            <figure>
              <artwork>href='#RFC2119'</artwork>
            </figure>
            <t anchor="standards-references-p-3">Valid series identifiers include:</t>
            <t>
              <list style="symbols">
              <t>3gpp: <eref target="http://www.3gpp.org/">The 3rd Generation Partnership Project</eref></t>
              <t>ansi: <eref target="http://www.ansi.org/">American National Standards Institute</eref></t>
              <t>ccitt: <eref target="http://www.itu.int/ITU-T/">ITU Telecommunication Standardization Sector</eref></t>
              <t>fips: <eref target="http://www.itl.nist.gov/fipspubs/">Federal Information Processing Standard</eref></t>
              <t>id: <eref target="http://www.ietf.org/id-info/">Internet-Drafts</eref></t>
              <t>ieee: <eref target="http://www.ieee.org/">Institute of Electrical and Electronics Engineers</eref></t>
              <t>iso: <eref target="http://www.iso.org/">International Organization for Standardization</eref></t>
              <t>itu: <eref target="http://www.itu.int/">International Telecommunication Union</eref></t>
              <t>nist: <eref target="http://www.nist.gov/">National Institute of Standards and Technology</eref></t>
              <t>oasis: <eref target="http://www.oasis-open.org/">Organization for the Advancement of Structured Information Standards</eref></t>
              <t>pkcs: <eref target="http://www.rsa.com/rsalabs/node.asp?id=2124">Public-Key Cryptography Standards</eref></t>
              <t>rfc: <eref target="http://www.rfc-editor.org/RFCoverview.html">Request For Comments</eref></t>
              <t>w3c: <eref target="http://www.w3.org/">The World Wide Web Consortium</eref></t>
              <t>xep: <eref target="http://xmpp.org/">XMPP Standards Foundation</eref></t>
            </list>
            </t>
            <t anchor="standards-references-p-5">The text inside the link SHOULD be a human-readable colloquial representation of the standard name and/or number.</t>
            <t anchor="standards-references-p-6">Normative references MUST use <spanx style="verb">&lt;a&gt;</spanx> elements with class <spanx style="verb">ref</spanx>. Example:</t>
            <figure>
              <artwork>See: &lt;a class='ref' href='#RFC2119'&gt;RFC2119&lt;/a&gt;</artwork>
            </figure>
            <t anchor="standards-references-p-8">Informative references MUST use <spanx style="verb">&lt;a&gt;</spanx> elements with class <spanx style="verb">inforef</spanx>. Example:</t>
            <figure>
              <artwork>See: &lt;a class='inforef' href='#RFC2119'&gt;RFC2119&lt;/a&gt;</artwork>
            </figure>
          </section>
          <section title="Other External References" anchor="external-references">
            <t anchor="external-references-p-1">References to other documents that are not standards SHOULD be linked using the <spanx style="verb">http:</spanx> or <spanx style="verb">https:</spanx> URI scheme, and MUST be linked using a a URI scheme that is widely-deployed at the time that the document is published, and which does not raise any security or stability issues. In particular, <spanx style="verb">javascript:</spanx> references MUST NOT be used. Links using the <spanx style="verb">mailto:</spanx> scheme SHOULD be limited to the author's address information.</t>
            <t anchor="external-references-p-2"/>
            <t anchor="external-references-p-3">For example:</t>
            <figure>
              <artwork>&lt;a href='http://example.com/'&gt;Example&lt;/a&gt;</artwork>
            </figure>
          </section>
        </section>
      </section>
      <section title="More Elaborate Information" anchor="elaborate">
        <t anchor="elaborate-p-1">This section describes how to format several types of information that occur regularly in documents for the Internet-Draft and RFC Series which are not descriptive text.</t>
        <section title="Requirement Keywords" anchor="2119-format">
          <t anchor="2119-format-p-1">The <xref target="RFC2119">RFC2119</xref> keywords in the document MAY be set off with special markup. If so, they MUST be surrounded with a <spanx style="verb">&lt;span&gt;</spanx> element continaing the CSS class <spanx style="verb">rfc2119</spanx>. For example:</t>
          <figure>
            <artwork>
If so, they &lt;span class='rfc2119'&gt;MUST&lt;/span&gt; be surrounded</artwork>
          </figure>
        </section>
        <section title="Sections to be Removed by the RFC Editor" anchor="rfceditor-remove-format">
          <t anchor="rfceditor-remove-format-p-1">The author may want to inject notes to the reader that are not to be a part of the final document that is published by the RFC editor. These notes MAY use any format desired by the author that would otherwise be legal in the document, but the outermost element of the note MUST have a CSS <spanx style="verb">class</spanx> with value <spanx style="verb">rfceditor-remove</spanx>.</t>
          <figure>
            <artwork>
&lt;div class='rfceditor-remove'&gt;
  &lt;h2&gt;Editorial Notes&lt;/h2&gt;
  &lt;p&gt;...&lt;/p&gt;
&lt;/div&gt;</artwork>
          </figure>
        </section>
        <section title="Formatting the Table of Contents" anchor="toc-format">
          <t anchor="toc-format-p-1">The table of contents for the document MUST appear in a <spanx style="verb">&lt;div&gt;</spanx> element, which SHOULD precede any of the <xref target="sections">sections</xref> of proper document content. The <spanx style="verb">&lt;div&gt;</spanx> element MUST have an <spanx style="verb">id</spanx> attribute with value <spanx style="verb">toc</spanx>. The <spanx style="verb">&lt;div&gt;</spanx> element SHOULD contain an <spanx style="verb">&lt;h2&gt;</spanx> element containing the string <spanx style="verb">Table of Contents</spanx>, followed by nested <spanx style="verb">&lt;ul&gt;</spanx> and <spanx style="verb">&lt;li&gt;</spanx> elements describing the structure of the document, with links to each of the <xref target="sections">sections</xref> mentioned. For example:</t>
          <figure>
            <artwork>
&lt;div id='toc'&gt;
  &lt;h2&gt;Table of Contents&lt;/h2&gt;
  &lt;ul&gt;
    &lt;li&gt;
      &lt;div&gt;1. &lt;a href='#introduction'&gt;Introduction&lt;/a&gt;&lt;/div&gt;
      &lt;ul&gt;
        &lt;li&gt;
          &lt;div&gt;1.1. &lt;a href='#background'&gt;Background&lt;/a&gt;&lt;/div&gt;
        &lt;/li&gt;
        ...</artwork>
          </figure>
          <t anchor="toc-format-p-3">NOTE: the Table of Contents SHOULD NOT be considered meta-data for the document. The <xref target="sections">sections</xref> themselves SHOULD contain all of the data that is required.</t>
        </section>
        <section title="Images" anchor="images">
          <t anchor="images-p-1">Include an image using the <spanx style="verb">&lt;img&gt;</spanx> tag with a <spanx style="verb">src</spanx> attribute. During the editing process, it may be useful to keep the value of the <spanx style="verb">src</spanx> attribute as a file name relative to the document, or a http(s) URL. However, upon submission, the final version of a document SHALL include a <spanx style="verb">data:</spanx> URI as specified in <xref target="RFC2397">RFC2397</xref>.</t>
          <t anchor="images-p-2">The image MIME type of the image SHALL be <spanx style="verb">image/png</spanx>, as specified in <xref target="RFC2083">RFC2083</xref>. The RFC Editor can allow other image types in the future, at the Editor's discretion, as the state of the art and common implementation patterns change.</t>
          <t anchor="images-p-3">Consider how images will look when printed. Consider how your images will be used by vision-impaired readers, including those readers with color vision deficiency. For example, images SHOULD NOT have meaningful distinctions conveyed only by color differences, and images SHOULD be available in high enough resolution that readers with other vision deficiencies can zoom in to see detail. Images MUST NOT be animated.</t>
          <t anchor="images-p-4">The <spanx style="verb">alt</spanx> attribute is REQUIRED, and MUST be a complete, accessible description of the image.</t>
          <t anchor="images-p-5">The <spanx style="verb">height</spanx> and <spanx style="verb">width</spanx> attributes SHOULD be used to specify the size of the image in pixels.</t>
          <t anchor="images-p-6">Images MUST be wrapped in a <spanx style="verb">&lt;figure&gt;</spanx> element. The <spanx style="verb">&lt;figure&gt;</spanx> element SHOULD contain a <spanx style="verb">&lt;figcaption&gt;</spanx> element after the <spanx style="verb">&lt;img&gt;</spanx> element, which SHOULD contain text that describes the image. For example:</t>
          <figure>
            <artwork>
&lt;figure&gt;
  &lt;img src='data:image/png;base64,[BASE64-encoded PNG]'
       alt='A description of the diagram' 
       width='236' 
       height='176'/&gt;
  &lt;figcaption&gt;Possible workflow for processing HTML RFCs&lt;/figcaption&gt;
&lt;/figure&gt;</artwork>
          </figure>
          <t anchor="images-p-9">Images SHOULD NOT be normative. Instead, the information contained in the image SHOULD be adequately conveyed in the textual description that accompanies the image.</t>
        </section>
        <section title="SVG" anchor="svg">
          <t anchor="svg-p-1"><xref target="W3C.REC-SVG11-20110816">SVG</xref> can be included directly in the HTML source, surrounded by a <spanx style="verb">&lt;figure&gt;</spanx> element and succeeded by a <spanx style="verb">&lt;figcaption&gt;</spanx> element, as described in <xref target="images">Section 3.3.4</xref>. The root <spanx style="verb">&lt;svg&gt;</spanx> element MUST contain a <spanx style="verb">&lt;title&gt;</spanx> or <spanx style="verb">&lt;desc&gt;</spanx> element that fully describes the diagram for accessibility to screen readers; this is similar to the <spanx style="verb">alt</spanx> attribute on images. For example:</t>
          <figure>
            <artwork>
&lt;figure id='fig-2'&gt;
  &lt;svg xmlns='http://www.w3.org/2000/svg'&gt;
    &lt;title&gt;A sample SVG&lt;/title&gt;
    &lt;desc&gt;This is a sample image, with a title and description&lt;/desc&gt;
    ...
  &lt;/svg&gt;
  &lt;figcaption&gt;Sample SVG&lt;/figcaption&gt;
&lt;/figure&gt;
</artwork>
          </figure>
          <t anchor="svg-p-3">Might render as:</t>
          <t anchor="svg-p-5">Note that there are currently more browsers that can deal with <spanx style="verb">&lt;img&gt;</spanx> elements (or their <spanx style="verb">alt</spanx> text) than are able to generate any sensible fallback rendering from SVG. Until this changes, authors might consider replacing their SVG with a rendered image.</t>
        </section>
        <section title="Inline Code" anchor="inline-code">
          <t anchor="inline-code-p-1">Use the <spanx style="verb">&lt;code&gt;</spanx> element to set aside literal references to code or protocol elements in the middle of a paragraph. If desired, the language of the code or protocol can be declared using a <spanx style="verb">class</spanx> attribute starting with <spanx style="verb">language-</spanx>. For example:</t>
          <figure>
            <artwork>Use the &lt;code class='language-html'&gt;&amp;lt;code&amp;gt;&lt;/code&gt; element</artwork>
          </figure>
        </section>
        <section title="Blocks of Code" anchor="block-code">
          <t anchor="block-code-p-1">Larger sections of code or protocol can be included using a <spanx style="verb">&lt;pre&gt;</spanx> element with a <spanx style="verb">class</spanx> attribute of <spanx style="verb">code</spanx>. If desired, the language of the code or protocol can be declared using a further <spanx style="verb">class</spanx> value starting with <spanx style="verb">language-</spanx> (multiple <spanx style="verb">class</spanx> values are separated by spaces in HTML). The text inside the <spanx style="verb">&lt;pre&gt;</spanx> element will be rendered in a monospace font, with whitespace maintained. For example:</t>
          <figure>
            <artwork>&lt;pre class='code language-html'&gt;
&amp;lt;html&amp;gt;
  &amp;lt;body /&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;</artwork>
          </figure>
          <t anchor="block-code-p-3">Will be rendered as:</t>
          <figure>
            <artwork>&lt;html&gt;
  &lt;body /&gt;
&lt;/html&gt;</artwork>
          </figure>
          <t anchor="block-code-p-5">Depending on author style, blocks of code MAY be enclosed in a <spanx style="verb">&lt;figure&gt;</spanx> element, with a <spanx style="verb">&lt;figcaption&gt;</spanx> element that describes the block. For example, see <eref target="#blockfigure">Figure 3</eref>.</t>
        </section>
        <section title="ASCII Art" anchor="ascii-art">
          <t anchor="ascii-art-p-1">ASCII art is still preferred by some authors in preference to an image or SVG. The RFC Editor may decide to prefer <xref target="images">images</xref> or <xref target="W3C.REC-SVG11-20110816">SVG</xref>, or may decide to prohibit ASCII art in the future, depending on the needs of the community at the time of publishing. Until that time, to include ASCII art, wrap a <spanx style="verb">&lt;pre&gt;</spanx> element with <spanx style="verb">class='ascii'</spanx> in a <spanx style="verb">&lt;figure&gt;</spanx> along with a <spanx style="verb">&lt;figcaption&gt;</spanx>, as if the <spanx style="verb">&lt;pre&gt;</spanx> element were an image, as specified in the <xref target="images">Section 3.3.4</xref>. For example:</t>
          <figure>
            <artwork>
&lt;figure&gt;
  &lt;pre class='ascii'&gt;
                  +-----------+
                  | original  | &amp;lt;+
                  +-----------+  |
                    |            |
                    | nit        | edit
                    v            |
    nit (no-op)   +-----------+  |
  +-------------- |           |  |
  |               | canonical |  |
  +-------------&amp;gt; |           | -+
                  +-----------+
  &lt;/pre&gt;
  &lt;figcaption&gt;Sample ASCII art&lt;/figcaption&gt;
&lt;/figure&gt;
          </artwork>
          </figure>
        </section>
        <section title="Packet Formats" anchor="pdu">
          <t anchor="pdu-p-1">Packet format descriptions can be encoded as a <spanx style="verb">&lt;table&gt;</spanx> element wrapped in a <spanx style="verb">&lt;figure&gt;</spanx> along with a <spanx style="verb">&lt;figcaption&gt;</spanx>, as if the <spanx style="verb">&lt;pre&gt;</spanx> element were an image, as specified in <xref target="images">Section 3.3.4</xref>. For consistent formatting, the <spanx style="verb">&lt;table&gt;</spanx> element should have class <spanx style="verb">pdu</spanx>. For example:</t>
          <figure>
            <artwork>
&lt;figure&gt;
  &lt;figcaption&gt;Sample packet format&lt;/figcaption&gt;
  &lt;table class='pdu'&gt; [table describing the packet] &lt;/table&gt;
&lt;/figure&gt;</artwork>
          </figure>
          <t anchor="pdu-p-3">Would be rendered as:</t>
        </section>
      </section>
    </section>
    <section title="Document Metadata" anchor="metadata">
      <t anchor="metadata-p-1">Metadata for the document SHOULD be easily extractable from the document by tools that ordinarily process HTML. Typically, the <spanx style="verb">class</spanx> and <spanx style="verb">id</spanx> attributes can be used to query the document using <xref target="W3C.REC-CSS2-20110607">CSS</xref>-style selectors. The metadata scheme SHOULD be designed such that the element name is not required in order to select a given piece of data. Instead, any element that can contain text can be used for a given <spanx style="verb">class</spanx> or <spanx style="verb">id</spanx> to be selected. The value of the data contained by the selected element(s) consists of the concatenation of all of the text from all of the child nodes of the selected element or elements, with each run of consecutive whitespace Unicode codepoints [codepoints with the White_Space property, such as U+0020 (SPACE), U+0009 (CHARACTER TABULATION), U+000A (LINE FEED), U+000C (FORM FEED), U+000D (CARRIAGE RETURN), U+00A0 (NON-BREAKING SPACE), and U+2029 (PARAGRAPH SEPARATOR)] compressed to a single U+0020 (SPACE). The metadata scheme MUST allow unambiguous selection.</t>
      <t anchor="metadata-p-2">The <spanx style="verb">id</spanx> attribute is used to identify pieces of data that are guaranteed to be unique across the document. Any element with an <spanx style="verb">id</spanx> attribute can also be used as a fragment target in a URI by starting with the base URI of the document, then appending "#" (U+0023: NUMBER SIGN) and the value of the <spanx style="verb">id</spanx> attribute. In CSS, the element with a given <spanx style="verb">id</spanx> attribute value is selected by prepending the value with "#" (U+0023: NUMBER SIGN). For example, the following HTML in a document with the URI <spanx style="verb">http://example.com/index.html</spanx>:</t>
      <figure>
        <artwork>&lt;div id='example'&gt;Important Text&lt;/div&gt;</artwork>
      </figure>
      <t anchor="metadata-p-4">Can be targeted directly with the URL <spanx style="verb">http://example.com/index.html#example</spanx>, and the CSS selector <spanx style="verb">#example</spanx>.</t>
      <t anchor="metadata-p-5">The <spanx style="verb">class</spanx> attribute is a catch-all tagging mechanism for everything in the document that might not be unique. Multiple classes may be defined on a single element by setting the <spanx style="verb">class</spanx> attribute to a space-separated list of classes. All of the elements with a given class name can be selected in CSS by prepending the class name with "." (U+002E: FULL STOP).</t>
      <section title="Document Information" anchor="md-document">
        <t anchor="md-document-p-1">Information about the document as a whole. The <spanx style="verb">&lt;div&gt;</spanx> element with <spanx style="verb">id='document'</spanx> SHOULD be the first child element of the HTML body. For example:</t>
        <figure>
          <artwork>
&lt;div id='document'&gt;
  &lt;div class='identifiers'&gt;
    &lt;div class='workgroup'&gt;Network Working Group&lt;/div&gt;
    &lt;div class='series'&gt;Internet-Draft&lt;/div&gt;
    &lt;div class='status'&gt;Standards Track&lt;/div&gt;
    &lt;div class='published'&gt;2012-07-07&lt;/div&gt;
    &lt;div class='expires'&gt;2013-01-07&lt;/div&gt;
    &lt;div class='version'&gt;00&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class='authors'&gt;
    &lt;div class='author'&gt;
      &lt;span class='initial'&gt;J.&lt;/span&gt;
      &lt;span class='surname'&gt;Hildebrand&lt;/span&gt;
      &lt;span class='company'&gt;Cisco Systems, Inc.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;</artwork>
        </figure>
        <t anchor="md-document-p-3">More details for this format will be included in future drafts of this document.</t>
      </section>
      <section title="Title" anchor="md-title">
        <t anchor="md-title-p-1">The title of the document MUST appear in an <spanx style="verb">&lt;h1&gt;</spanx> element, which SHOULD follow dirctly after the <xref target="md-document">Document Information</xref>. The <spanx style="verb">&lt;h1&gt;</spanx> element MUST have an <spanx style="verb">id</spanx> attribute with value <spanx style="verb">title</spanx>. For example:</t>
        <figure>
          <artwork>
&lt;h1 id='title'&gt;HTML RFC Format&lt;/h1&gt;</artwork>
        </figure>
      </section>
      <section title="Abstract" anchor="md-abstract">
        <t anchor="md-abstract-p-1">The abstract for the document MUST appear in a <spanx style="verb">&lt;div&gt;</spanx> element, which SHOULD follow directly after the <xref target="md-title">Title</xref>. The <spanx style="verb">&lt;div&gt;</spanx> element MUST have an <spanx style="verb">id</spanx> attribute with value <spanx style="verb">abstract</spanx>. The <spanx style="verb">&lt;div&gt;</spanx> element SHOULD contain an <spanx style="verb">&lt;h2&gt;</spanx> element containing the word <spanx style="verb">Abstract</spanx>, and MUST contain one or more <spanx style="verb">&lt;p&gt;</spanx> elements contianing text that describes the document succintly. For example:</t>
        <figure>
          <artwork>
&lt;div id='abstract'&gt;
  &lt;h2&gt;Abstract&lt;/h2&gt;
  &lt;p&gt;This document defines an HTML format...&lt;/p&gt;
&lt;/div&gt;</artwork>
        </figure>
      </section>
      <section title="IPR Statements" anchor="md-ipr">
        <t anchor="md-ipr-p-1">The IPR boilerplate for the document MUST appear in a <spanx style="verb">&lt;div&gt;</spanx> element, which SHOULD follow directly after the <xref target="md-abstract">Abstract</xref>. The <spanx style="verb">&lt;div&gt;</spanx> element MUST have an <spanx style="verb">id</spanx> attribute with value <spanx style="verb">ipr</spanx> and a CSS <spanx style="verb">class</spanx> of the name of the relevant IPR ruleset. The only valid values for the IPR ruleset class are <spanx style="verb">trust200902</spanx>, <spanx style="verb">noModificationTrust200902</spanx>, and <spanx style="verb">noDerivativesTrust200902</spanx> at this time. The contents of the <spanx style="verb">&lt;div&gt;</spanx> element are to be set correctly for the given ruleset, based on guidance from the IETF trust. For example:</t>
        <figure>
          <artwork>
&lt;div id='ipr' class='trust200902'&gt;
  &lt;h2&gt;Status of this Memo&lt;/h2&gt;
  &lt;p&gt;...&lt;/p&gt;
  &lt;h2&gt;Copyright Notice&lt;/h2&gt;
  &lt;p&gt;...&lt;/p&gt;
&lt;/div&gt;</artwork>
        </figure>
        <t anchor="md-ipr-p-3">Question: should the valid IPR classes be put in an IANA registry along with their boilerplate expansions?</t>
      </section>
      <section title="Author" anchor="md-author">
        <t anchor="md-author-p-1">NOTE: this document currently uses the approach specified by "<eref target="http://microformats.org/wiki/hcard">hCard</eref>". The author recommends that the <eref target="http://datatracker.ietf.org/wg/vcarddav/charter/">vcarddav</eref> Working Group of the IETF be tasked to propose an approach for HTML embedding of vCard that is aligned with <xref target="RFC6350">RFC 6350</xref>. In particular, the <spanx style="verb">language</spanx> and <spanx style="verb">altid</spanx> mechanisms of <xref target="RFC6350">RFC 6350</xref> are not explicitly mentioned in hCard, and are required in order to fit the desire for authors' names to be representable both by English readers as well as the native language of the author.</t>
        <t anchor="md-author-p-2">This section will be augmented with normative text when an approach is decided upon. A quick example (as an existence proof) can be found in <eref target="#md-author-example">Figure 6</eref>. The rendered version can be found in the authors section for this document.</t>
      </section>
      <section title="Bibliographical Information" anchor="bibliographical">
        <t anchor="bibliographical-p-1">TBD: define microformat for bibliographical data, perhaps based on the <eref target="http://microformats.org/wiki/citation">citation</eref> work at <eref target="http://microformats.org/">microformats.org</eref>.</t>
      </section>
    </section>
    <section title="Examples" anchor="examples">
      <section title="Self" anchor="self-example">
        <t anchor="self-example-p-1">This draft itself is a good example of how to use the format. Please view-source.</t>
      </section>
      <section title="Code Sample" anchor="ascii-art-code-samples">
        <figure>
          <artwork>
#include &lt;stdio.h&gt;
int main(int argc, char **argv)
{
    printf("Hello, IETF\n");
    return 0;
}</artwork>
        </figure>
      </section>
      <section title="Sequence Diagrams" anchor="websequencediagram-sample">
        <t anchor="websequencediagram-sample-p-1">Include an image tag with <spanx style="verb">class='sequence'</spanx>, where the alt text is the <eref target="http://www.websequencediagrams.com/">WebSequenceDiagrams.com</eref> source for the diagram.</t>
        <t anchor="websequencediagram-sample-p-2">Before publication, this approach will be replaced by something more well-specified and not requiring third-party software.</t>
        <figure>
          <artwork>
&lt;figure&gt;
  &lt;img class='sequence' alt='
title Authentication Sequence
Alice-&amp;gt;Bob: Authentication Request
note right of Bob: Bob thinks about it
Bob-&amp;gt;Alice: Authentication Response' /&gt;
  &lt;figcaption&gt;A sample sequence diagram&lt;/figcaption&gt;
&lt;/figure&gt;</artwork>
        </figure>
      </section>
      <section title="ABNF" anchor="abnf">
        <t anchor="abnf-p-1">Augmented Backus-Naur Form is a way of describing formal syntax, described in <xref target="RFC5234">RFC5234</xref>. Include ABNF (without extra indentation) in a <spanx style="verb">&lt;pre&gt;</spanx> element, with CSS class "code" and "language-abnf". For example:</t>
        <figure>
          <artwork>&lt;pre class='code language-abnf'&gt;
label        = top-level *4section-num
top-level    = section-num / appendix-let
section-num  = 1*DIGIT "."
appendix-let = 1*CAP "."
CAP          = %x41-5A ; A-Z
DIGIT        = %x30-39 ; 0-9
&lt;/pre&gt;</artwork>
        </figure>
        <t anchor="abnf-p-3">Is rendered as:</t>
        <figure>
          <artwork>
label        = top-level *4section-num
top-level    = section-num / appendix-let
section-num  = 1*DIGIT "."
appendix-let = 1*CAP "."
CAP          = %x41-5A ; A-Z
DIGIT        = %x30-39 ; 0-9
</artwork>
        </figure>
      </section>
      <section title="Mathematical Formulae" anchor="math">
        <t anchor="math-p-1">For now, just use an image (as specified in <xref target="images">Section 3.3.4</xref>), with the alt text being a <eref target="http://www.latex-project.org/">LaTeX</eref> formula that would produce the image. For example:</t>
        <t anchor="math-p-3">Future versions of this document will likely favor <xref target="W3C.REC-SVG11-20110816">SVG</xref> or <xref target="W3C.REC-MathML3-20101021">MathML</xref> representations of formulae, if browser support and accessibility concerns are addressed.</t>
      </section>
    </section>
    <section title="Security Considerations" anchor="security">
      <t anchor="security-p-1">Since RFCs are sometimes exchanged outside the normal Web sandboxing mechanism (e.g. rsync to a mirror) then loaded from a local file, more care must be taken with the HTML than is ordinary on the Web. In particular, the intent with the format is to forbid any embedded code such as JavaScript as well as all mechanisms that could be used to execute code outside of the browser such as plugins or non-static media (such as video).</t>
    </section>
    <section title="IANA Considerations" anchor="iana">
      <t anchor="iana-p-1">TBD</t>
    </section>
  </middle>
  <back>
    <references title="Normative References"><reference anchor='RFC2083'>  <front> <title abbrev='PNG: Portable Network Graphics'>PNG (Portable Network Graphics) Specification Version 1.0</title> <author initials='T.' surname='Boutell' fullname='Thomas Boutell'> <organization>Boutell.Com, Inc.</organization> <address> <postal> <street>PO Box 20837</street> <city>Seattle</city> <region>WA</region> <code>98102</code> <country>US</country></postal> <phone>+1 206 329 4969</phone> <email>boutell@boutell.com</email></address></author> <date year='1997' month='March' /> <abstract> <t>This document describes PNG (Portable Network Graphics), an extensible file format for the lossless, portable, well-compressed storage of raster images.  PNG provides a patent-free replacement for GIF and can also replace many common uses of TIFF.  Indexed-color, grayscale, and truecolor images are supported, plus an optional alpha channel.  Sample depths range from 1 to 16 bits.</t> <t>PNG is designed to work well in online viewing applications, such as the World Wide Web, so it is fully streamable with a progressive display option.  PNG is robust, providing both full file integrity checking and simple detection of common transmission errors.  Also, PNG can store gamma and chromaticity data for improved color matching on heterogeneous platforms.</t> <t>This specification defines the Internet Media Type image/png.</t></abstract></front>  <seriesInfo name='RFC' value='2083' /> <format type='TXT' octets='242528' target='http://www.rfc-editor.org/rfc/rfc2083.txt' /> </reference> <reference anchor='RFC2119'>  <front> <title abbrev='RFC Key Words'>Key words for use in RFCs to Indicate Requirement Levels</title> <author initials='S.' surname='Bradner' fullname='Scott Bradner'> <organization>Harvard University</organization> <address> <postal> <street>1350 Mass. Ave.</street> <street>Cambridge</street> <street>MA 02138</street></postal> <phone>- +1 617 495 3864</phone> <email>sob@harvard.edu</email></address></author> <date year='1997' month='March' /> <area>General</area> <keyword>keyword</keyword> <abstract> <t>    In many standards track documents several words are used to signify    the requirements in the specification.  These words are often    capitalized.  This document defines these words as they should be    interpreted in IETF documents.  Authors who follow these guidelines    should incorporate this phrase near the beginning of their document:  <list> <t>       The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL       NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and       "OPTIONAL" in this document are to be interpreted as described in       RFC 2119. </t></list></t> <t>    Note that the force of these words is modified by the requirement    level of the document in which they are used. </t></abstract></front>  <seriesInfo name='BCP' value='14' /> <seriesInfo name='RFC' value='2119' /> <format type='TXT' octets='4723' target='http://www.rfc-editor.org/rfc/rfc2119.txt' /> <format type='HTML' octets='17491' target='http://xml.resource.org/public/rfc/html/rfc2119.html' /> <format type='XML' octets='5777' target='http://xml.resource.org/public/rfc/xml/rfc2119.xml' /> </reference> <reference anchor='RFC2397'>  <front> <title abbrev='The &quot;data&quot; URL scheme'>The &quot;data&quot; URL scheme</title> <author initials='L.' surname='Masinter' fullname='Larry Masinter'> <organization>Xerox Palo Alto Research Center</organization> <address> <postal> <street>3333 Coyote Hill Road</street> <street>Palo Alto</street> <street>CA 94304</street></postal> <email>masinter@parc.xerox.com</email></address></author> <date year='1998' month='August' /> <area>Applications</area> <keyword>URL</keyword> <keyword>uniform resource</keyword></front>  <seriesInfo name='RFC' value='2397' /> <format type='TXT' octets='9514' target='http://www.rfc-editor.org/rfc/rfc2397.txt' /> <format type='HTML' octets='20874' target='http://xml.resource.org/public/rfc/html/rfc2397.html' /> <format type='XML' octets='9931' target='http://xml.resource.org/public/rfc/xml/rfc2397.xml' /> </reference> <reference anchor='RFC3629'>  <front> <title>UTF-8, a transformation format of ISO 10646</title> <author initials='F.' surname='Yergeau' fullname='F. Yergeau'> <organization /></author> <date year='2003' month='November' /> <abstract> <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems.  The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo.  UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values.  This memo obsoletes and replaces RFC 2279.</t></abstract></front>  <seriesInfo name='STD' value='63' /> <seriesInfo name='RFC' value='3629' /> <format type='TXT' octets='33856' target='http://www.rfc-editor.org/rfc/rfc3629.txt' /> </reference> <reference anchor='RFC3979'>  <front> <title>Intellectual Property Rights in IETF Technology</title> <author initials='S.' surname='Bradner' fullname='S. Bradner'> <organization /></author> <date year='2005' month='March' /> <abstract> <t>The IETF policies about Intellectual Property Rights (IPR), such as patent rights, relative to technologies developed in the IETF are designed to ensure that IETF working groups and participants have as much information about any IPR constraints on a technical proposal as possible.  The policies are also intended to benefit the Internet community and the public at large, while respecting the legitimate rights of IPR holders.  This memo details the IETF policies concerning IPR related to technology worked on within the IETF.  It also describes the objectives that the policies are designed to meet.  This memo updates RFC 2026 and, with RFC 3978, replaces Section 10 of RFC 2026.  This memo also updates paragraph 4 of Section 3.2 of RFC 2028, for all purposes, including reference [2] in RFC 2418.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract></front>  <seriesInfo name='BCP' value='79' /> <seriesInfo name='RFC' value='3979' /> <format type='TXT' octets='41366' target='http://www.rfc-editor.org/rfc/rfc3979.txt' /> </reference> <reference anchor='RFC5378'>  <front> <title>Rights Contributors Provide to the IETF Trust</title> <author initials='S.' surname='Bradner' fullname='S. Bradner'> <organization /></author> <author initials='J.' surname='Contreras' fullname='J. Contreras'> <organization /></author> <date year='2008' month='November' /> <abstract> <t>The IETF policies about rights in Contributions to the IETF are designed to ensure that such Contributions can be made available to the IETF and Internet communities while permitting the authors to retain as many rights as possible.  This memo details the IETF policies on rights in Contributions to the IETF.  It also describes the objectives that the policies are designed to meet.  This memo obsoletes RFCs 3978 and 4748 and, with BCP 79 and RFC 5377, replaces Section 10 of RFC 2026.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract></front>  <seriesInfo name='BCP' value='78' /> <seriesInfo name='RFC' value='5378' /> <format type='TXT' octets='37980' target='http://www.rfc-editor.org/rfc/rfc5378.txt' /> </reference> <reference anchor='RFC5646'>  <front> <title>Tags for Identifying Languages</title> <author initials='A.' surname='Phillips' fullname='A. Phillips'> <organization /></author> <author initials='M.' surname='Davis' fullname='M. Davis'> <organization /></author> <date year='2009' month='September' /> <abstract> <t>This document describes the structure, content, construction, and semantics of language tags for use in cases where it is desirable to indicate the language used in an information object.  It also describes how to register values for use in language tags and the creation of user-defined extensions for private interchange.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract></front>  <seriesInfo name='BCP' value='47' /> <seriesInfo name='RFC' value='5646' /> <format type='TXT' octets='208592' target='http://www.rfc-editor.org/rfc/rfc5646.txt' /> </reference>

<reference anchor="unicode:6.1" target="http://www.unicode.org/versions/Unicode6.1.0/">
  <front>
    <title>The Unicode Standard, Version 6.1</title>
    <author>
      <organization>The Unicode Consortium</organization>
    </author>
    <date year="2012" />
  </front>
</reference>
    <reference anchor='W3C.REC-CSS2-20110607'            target='http://www.w3.org/TR/2011/REC-CSS2-20110607'> <front> <title>Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification</title>  <author initials='T.' surname='Çelik' fullname='Tantek Çelik'>     <organization /> </author>  <author initials='H.' surname='Lie' fullname='Håkon Wium Lie'>     <organization /> </author>  <author initials='I.' surname='Hickson' fullname='Ian Hickson'>     <organization /> </author>  <author initials='B.' surname='Bos' fullname='Bert Bos'>     <organization /> </author>  <date month='June' day='7' year='2011' /> </front>  <seriesInfo name='World Wide Web Consortium Recommendation' value='REC-CSS2-20110607' /> <format type='HTML' target='http://www.w3.org/TR/2011/REC-CSS2-20110607' /> </reference> <reference anchor='W3C.REC-SVG11-20110816'            target='http://www.w3.org/TR/2011/REC-SVG11-20110816'> <front> <title>Scalable Vector Graphics (SVG) 1.1 (Second Edition)</title>  <author initials='J.' surname='Watt' fullname='Jonathan Watt'>     <organization /> </author>  <author initials='E.' surname='Dahlström' fullname='Erik Dahlström'>     <organization /> </author>  <author initials='C.' surname='McCormack' fullname='Cameron McCormack'>     <organization /> </author>  <author initials='D.' surname='Schepers' fullname='Doug Schepers'>     <organization /> </author>  <author initials='F.' surname='Jun' fullname='FUJISAWA Jun'>     <organization /> </author>  <author initials='J.' surname='Ferraiolo' fullname='Jon Ferraiolo'>     <organization /> </author>  <author initials='P.' surname='Dengler' fullname='Patrick Dengler'>     <organization /> </author>  <author initials='A.' surname='Grasso' fullname='Anthony Grasso'>     <organization /> </author>  <author initials='C.' surname='Lilley' fullname='Chris Lilley'>     <organization /> </author>  <author initials='D.' surname='Jackson' fullname='Dean Jackson'>     <organization /> </author>  <date month='August' day='16' year='2011' /> </front>  <seriesInfo name='World Wide Web Consortium Recommendation' value='REC-SVG11-20110816' /> <format type='HTML' target='http://www.w3.org/TR/2011/REC-SVG11-20110816' /> </reference> <reference anchor='W3C.REC-xml-20081126'            target='http://www.w3.org/TR/2008/REC-xml-20081126'> <front> <title>Extensible Markup Language (XML) 1.0 (Fifth Edition)</title>  <author initials='C.' surname='Sperberg-McQueen' fullname='C. M. Sperberg-McQueen'>     <organization /> </author>  <author initials='F.' surname='Yergeau' fullname='François Yergeau'>     <organization /> </author>  <author initials='T.' surname='Bray' fullname='Tim Bray'>     <organization /> </author>  <author initials='E.' surname='Maler' fullname='Eve Maler'>     <organization /> </author>  <author initials='J.' surname='Paoli' fullname='Jean Paoli'>     <organization /> </author>  <date month='November' day='26' year='2008' /> </front>  <seriesInfo name='World Wide Web Consortium Recommendation' value='REC-xml-20081126' /> <format type='HTML' target='http://www.w3.org/TR/2008/REC-xml-20081126' /> </reference> <reference anchor='W3C.WD-html5-20120329'            target='http://www.w3.org/TR/2012/WD-html5-20120329'> <front> <title>HTML5</title>  <author initials='I.' surname='Hickson' fullname='Ian Hickson'>     <organization /> </author>  <date month='March' day='29' year='2012' /> </front>  <seriesInfo name='World Wide Web Consortium WD' value='WD-html5-20120329' /> <format type='HTML' target='http://www.w3.org/TR/2012/WD-html5-20120329' /> </reference> </references>
    <references title="Informative References"><reference anchor='RFC5234'>  <front> <title>Augmented BNF for Syntax Specifications: ABNF</title> <author initials='D.' surname='Crocker' fullname='D. Crocker'> <organization /></author> <author initials='P.' surname='Overell' fullname='P. Overell'> <organization /></author> <date year='2008' month='January' /> <abstract> <t>Internet technical specifications often need to define a formal syntax.  Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications.  The current specification documents ABNF.  It balances compactness and simplicity with reasonable representational power.  The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges.  This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t></abstract></front>  <seriesInfo name='STD' value='68' /> <seriesInfo name='RFC' value='5234' /> <format type='TXT' octets='26359' target='http://www.rfc-editor.org/rfc/rfc5234.txt' /> </reference> <reference anchor='RFC6350'>  <front> <title>vCard Format Specification</title> <author initials='S.' surname='Perreault' fullname='S. Perreault'> <organization /></author> <date year='2011' month='August' /> <abstract> <t>This document defines the vCard data format for representing and exchanging a variety of information about individuals and other entities (e.g., formatted and structured name and delivery addresses, email address, multiple telephone numbers, photograph, logo, audio clips, etc.).  This document obsoletes RFCs 2425, 2426, and 4770, and updates RFC 2739. [STANDARDS-TRACK]</t></abstract></front>  <seriesInfo name='RFC' value='6350' /> <format type='TXT' octets='139895' target='http://www.rfc-editor.org/rfc/rfc6350.txt' /> </reference> <reference anchor='W3C.REC-MathML3-20101021'            target='http://www.w3.org/TR/2010/REC-MathML3-20101021'> <front> <title>Mathematical Markup Language (MathML) Version 3.0</title>  <author initials='P.' surname='Ion' fullname='Patrick Ion'>     <organization /> </author>  <author initials='D.' surname='Carlisle' fullname='David Carlisle'>     <organization /> </author>  <author initials='R.' surname='Miner' fullname='Robert Miner'>     <organization /> </author>  <date month='October' day='21' year='2010' /> </front>  <seriesInfo name='World Wide Web Consortium Recommendation' value='REC-MathML3-20101021' /> <format type='HTML' target='http://www.w3.org/TR/2010/REC-MathML3-20101021' /> </reference> </references>
    <section title="Allowable Subset of HTML" anchor="html-subset">
      <t anchor="html-subset-p-1">This section collects all of the elements that are allowed in the HTML RFC format. Each element is listed with a set of allowed attributes, and a list of the parent elements in which the element may be placed. The attributes <spanx style="verb">class</spanx>, <spanx style="verb">id</spanx>, and <spanx style="verb">lang</spanx> are allowed on all elements. All other elements, attributes, and nesting approaches MUST NOT be used.</t>
      <texttable>
        <ttcol>Element</ttcol>
        <ttcol>Attributes</ttcol>
        <ttcol>Parents</ttcol>
        <c>a</c>
        <c>href, title</c>
        <c>address, div, figcaption, h2, h3, h4, h5, li, p, span, td</c>
        <c>address</c>
        <c/>
        <c>div</c>
        <c>blockquote</c>
        <c/>
        <c>div</c>
        <c>body</c>
        <c/>
        <c>html</c>
        <c>br</c>
        <c/>
        <c>td, th</c>
        <c>code</c>
        <c/>
        <c>li, p, td</c>
        <c>div</c>
        <c/>
        <c>address, body, div, li</c>
        <c>em</c>
        <c/>
        <c>p</c>
        <c>figcaption</c>
        <c/>
        <c>figure</c>
        <c>figure</c>
        <c/>
        <c>div</c>
        <c>h1</c>
        <c/>
        <c>body</c>
        <c>h2</c>
        <c/>
        <c>div</c>
        <c>h3</c>
        <c/>
        <c>div</c>
        <c>h4</c>
        <c/>
        <c>div</c>
        <c>h5</c>
        <c/>
        <c>div</c>
        <c>head</c>
        <c/>
        <c>html</c>
        <c>html</c>
        <c/>
        <c/>
        <c>img</c>
        <c>alt, height, src, width</c>
        <c>figure</c>
        <c>li</c>
        <c/>
        <c>ol, ul</c>
        <c>link</c>
        <c>href, rel, type</c>
        <c>head</c>
        <c>meta</c>
        <c>content, http-equiv, name</c>
        <c>head</c>
        <c>ol</c>
        <c/>
        <c>div</c>
        <c>p</c>
        <c/>
        <c>blockquote, div, td</c>
        <c>pre</c>
        <c/>
        <c>div, figure</c>
        <c>span</c>
        <c/>
        <c>address, div, li, p, span</c>
        <c>strong</c>
        <c/>
        <c>p, pre</c>
        <c>svg</c>
        <c>height, viewbox, width</c>
        <c>figure</c>
        <c>table</c>
        <c/>
        <c>div, figure</c>
        <c>tbody</c>
        <c/>
        <c>table</c>
        <c>td</c>
        <c>colspan</c>
        <c>tr</c>
        <c>th</c>
        <c>colspan</c>
        <c>tr</c>
        <c>thead</c>
        <c/>
        <c>table</c>
        <c>title</c>
        <c/>
        <c>head</c>
        <c>tr</c>
        <c/>
        <c>tbody, thead</c>
        <c>ul</c>
        <c/>
        <c>div, li, td</c>
      </texttable>
    </section>
    <section title="CSS Classes with Special Meaning" anchor="html-classes">
      <t anchor="html-classes-p-1">Although the author can add class information to any element, the following class names have special meaning in an HTML RFC:</t>
      <texttable>
        <ttcol>Class</ttcol>
        <ttcol>Meaning</ttcol>
        <c>adr</c>
        <c/>
        <c>appendix</c>
        <c/>
        <c>ascii</c>
        <c/>
        <c>author</c>
        <c/>
        <c>authors</c>
        <c/>
        <c>code</c>
        <c/>
        <c>company</c>
        <c/>
        <c>country-name</c>
        <c/>
        <c>date</c>
        <c/>
        <c>edge</c>
        <c/>
        <c>email</c>
        <c/>
        <c>expires</c>
        <c/>
        <c>family-name</c>
        <c/>
        <c>figref</c>
        <c/>
        <c>fn</c>
        <c/>
        <c>formula</c>
        <c/>
        <c>given-name</c>
        <c/>
        <c>graph</c>
        <c/>
        <c>hidden</c>
        <c/>
        <c>identifiers</c>
        <c/>
        <c>initial</c>
        <c/>
        <c>language-abnf</c>
        <c/>
        <c>language-c</c>
        <c/>
        <c>language-html</c>
        <c/>
        <c>locality</c>
        <c/>
        <c>n</c>
        <c/>
        <c>nickname</c>
        <c/>
        <c>node</c>
        <c/>
        <c>note</c>
        <c/>
        <c>org</c>
        <c/>
        <c>pdu</c>
        <c/>
        <c>postal-code</c>
        <c/>
        <c>published</c>
        <c/>
        <c>ref</c>
        <c/>
        <c>reflinks</c>
        <c/>
        <c>region</c>
        <c/>
        <c>rfc2119</c>
        <c/>
        <c>rfceditor-remove</c>
        <c/>
        <c>section</c>
        <c/>
        <c>sectref</c>
        <c/>
        <c>self-ref</c>
        <c/>
        <c>sequence</c>
        <c/>
        <c>series</c>
        <c/>
        <c>series-info</c>
        <c/>
        <c>status</c>
        <c/>
        <c>street-address</c>
        <c/>
        <c>surname</c>
        <c/>
        <c>title</c>
        <c/>
        <c>toc</c>
        <c/>
        <c>trust200902</c>
        <c/>
        <c>vcard</c>
        <c/>
        <c>version</c>
        <c/>
        <c>workgroup</c>
        <c/>
      </texttable>
    </section>
    <section title="Element IDs with Special Meaning" anchor="html-ids">
      <t anchor="html-ids-p-1">Although the author can add an <spanx style="verb">id</spanx> attribute to any element, the following id values SHOULD NOT be used except for the role defined for each below:</t>
      <texttable>
        <ttcol>ID</ttcol>
        <ttcol>Meaning</ttcol>
        <c>document</c>
        <c>Data about the document, including dates, name, version, etc.</c>
        <c>title</c>
        <c>The title of the document, usually applied to a &lt;h1&gt; element.</c>
        <c>abstract</c>
        <c>The abstract for the document, usually applied to a &lt;div&gt; element that contains a heading and paragraphs of text.</c>
        <c>ipr</c>
        <c>The Intellectual Property Rights associated with the document. The class attribute of the same element will contain a machine-readable IPR statement name from this list: trust200902: This is appropriate for most drafts, where the entire content of the draft is written by the draft's authors, or all authors of other material have given explicit permission to use their work. noModificationTrust200902: This is appropriate for drafts where the authors wish to place the additional condition that if the draft is published as an RFC, it must have no changes other than formatting. An example might be a document published by another organization that permits copying but not modification. noDerivativesTrust200902: This is appropriate for drafts not intended to be published as RFCs. pre5378Trust200902: This is appropriate for drafts that include material submitted to the IETF prior to RFC 5378 (10 Nov 2008), where the authors of that material have not given explicit permission to use their work in this draft. An example might be a draft using material from an RFC whose author has died or cannot be located, or who thinks your draft is stupid. The element with this id will contain all of the IPR and status boilerplate text Note: an IANA registry may be required for this attribute in the future.</c>
        <c>venue</c>
        <c>The venue for discussion. Inside the element tagged with this id will be one or more &lt;a&gt; elements that describe the discussion venue for Internet-Drafts.</c>
        <c>toc</c>
        <c>The Table of Contents</c>
        <c>references</c>
        <c>The section containing bibliographical data, including sections for normative and informative references.</c>
        <c>normative</c>
        <c>The section containing normative document references.</c>
        <c>informative</c>
        <c>The section containing informative document references.</c>
        <c>authors</c>
        <c>The section containing data about the authors of the document.</c>
        <c>security</c>
        <c>The section containing the Security Considerations for the document.</c>
        <c>iana</c>
        <c>The section containing the IANA Considerations for the document.</c>
        <c>acknowledgments</c>
        <c>The section containing the author's acknowledgments.</c>
      </texttable>
    </section>
    <section title="Acknowledgments" anchor="acknowledgments">
      <t anchor="acknowledgments-p-1">The author gratefully acknowledges the contributions of: Heather Flanagan and Patrick Linskey</t>
    </section>
  </back>
</rfc>
