Network Working Group J. Hildebrand Internet-Draft Cisco Systems, Inc. Intended status: Informational H. Flanagan Expires: August 18, 2014 RFC Editor February 14, 2014 HyperText Markup Language Request For Comments Format draft-hildebrand-html-rfc-02 Abstract This document defines an HTML format that can be used for the production of Internet-Drafts and RFCs. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on August 18, 2014. Copyright Notice Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Hildebrand & Flanagan Expires August 18, 2014 [Page 1] Internet-Draft HTML RFC February 2014 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Background . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Overview . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 2. Requirements for HTML . . . . . . . . . . . . . . . . . . . . 4 3. HTML Format . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2. Basic Structure . . . . . . . . . . . . . . . . . . . . . 7 3.2.1. HTML5 . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2.2. DOCTYPE . . . . . . . . . . . . . . . . . . . . . . . 8 3.2.3. Root Element . . . . . . . . . . . . . . . . . . . . 8 3.2.4. Charset Declaration . . . . . . . . . . . . . . . . . 8 3.2.5. Style . . . . . . . . . . . . . . . . . . . . . . . . 8 3.2.6. Emphasis . . . . . . . . . . . . . . . . . . . . . . 9 3.2.7. Comments . . . . . . . . . . . . . . . . . . . . . . 9 3.2.8. Sections . . . . . . . . . . . . . . . . . . . . . . 10 3.2.9. Appendices . . . . . . . . . . . . . . . . . . . . . 11 3.2.10. Paragraphs . . . . . . . . . . . . . . . . . . . . . 11 3.2.11. Lists . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2.12. References . . . . . . . . . . . . . . . . . . . . . 12 3.2.13. Quotes . . . . . . . . . . . . . . . . . . . . . . . 12 3.3. More Elaborate Information . . . . . . . . . . . . . . . 13 3.3.1. Requirement Keywords . . . . . . . . . . . . . . . . 13 3.3.2. Formatting the Table of Contents . . . . . . . . . . 13 3.3.3. SVG . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3.4. Inline Code . . . . . . . . . . . . . . . . . . . . . 14 3.3.5. Blocks of Code . . . . . . . . . . . . . . . . . . . 14 3.3.6. ASCII Art . . . . . . . . . . . . . . . . . . . . . . 15 3.3.7. Packet Formats . . . . . . . . . . . . . . . . . . . 15 4. Document Metadata . . . . . . . . . . . . . . . . . . . . . . 16 4.1. Document Information . . . . . . . . . . . . . . . . . . 16 4.2. Title . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.3. Abstract . . . . . . . . . . . . . . . . . . . . . . . . 17 4.4. IPR Statements . . . . . . . . . . . . . . . . . . . . . 18 4.5. Author . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.6. Bibliographical Information . . . . . . . . . . . . . . . 19 5. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.1. Self . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.2. Code Sample . . . . . . . . . . . . . . . . . . . . . . . 19 5.3. Sequence Diagrams . . . . . . . . . . . . . . . . . . . . 19 5.4. ABNF . . . . . . . . . . . . . . . . . . . . . . . . . . 20 6. Security Considerations . . . . . . . . . . . . . . . . . . . 20 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 8. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 20 9. Appendix A. Allowable Subset of HTML . . . . . . . . . . . . 21 10. Appendix B. CSS Classes with Special Meaning . . . . . . . . 25 Hildebrand & Flanagan Expires August 18, 2014 [Page 2] Internet-Draft HTML RFC February 2014 11. Appendix C. Element IDs with Special Meaning . . . . . . . . 27 12. Appendix D. Acknowledgments . . . . . . . . . . . . . . . . . 29 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 29 13.1. Normative References . . . . . . . . . . . . . . . . . . 29 13.2. Informative References . . . . . . . . . . . . . . . . . 29 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30 1. Introduction 1.1. Background 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. A canonical version of an RFC exists for several reasons: o 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 o to verify the final content of a document in cases of legal dispute o to aid in the conversion of the RFC in to formats requested by the community The current basic format of RFCs has two characteristics that are considered by the RFC Series Editor to be critical to the RFC Series, including: o persistence (tools to read, edit, and print the documents remain easily accessible to everyone) o convertibility (the plain text version is simple to convert to other formats) That said, the very simple nature of the current canonical format in particular introduces a variety of limitations, the list of which has grown as changes in technology create new expectations: Hildebrand & Flanagan Expires August 18, 2014 [Page 3] Internet-Draft HTML RFC February 2014 o ASCII art is considered by some to be a major limitation in expressing visually-oriented information o the internationalization of the authorship and the Internet is introducing Unicode codepoints not expressible in 7-bit ASCII o 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 o 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. Further discussion on the evolving requirements for the RFC Series may be found in "RFC Series Format Requirements and Future Development" [RFC6949]. 1.2. Overview This memo describes an HTML format that will be used as one of the publication formats for the RFC Series. It defines a strict subset of HTML appropriate for Internet-Draft and RFC Series documents, and serves as a comprehensive example of all of the HTML elements that are permissible. 1.3. Terminology In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in BCP 14, RFC 2119 [RFC2119]. 2. Requirements for HTML The HTML has to render correctly on the following: o the latest released versions of Chrome, Firefox, and IE running on Windows 8 in November 2013 o the latest released versions of Chrome, Firefox, and Safari running on Mac OS X 10.9 in November 2013 o the latest released versions of Chrome and Safari running on iOS 7 in November 2013 Hildebrand & Flanagan Expires August 18, 2014 [Page 4] Internet-Draft HTML RFC February 2014 o the latest released versions of Chrome and Firefox running on Ubuntu 13.10 in November 2013 o the latest released versions of Chrome and Firefox running on Android 4.1 in November 2013 These requirements are expected to change in the future to reflect the expectation that HTML rendering will be required for current versions of browsers and platforms, while ideally continuing to render correctly on earlier versions. The HTML document must preserve all semantic information that is in the canonical XML document. One use case is that preformatted text that has different tags in the XML will also be differentiable in the HTML, making it trivial to extract all of the (for example) ABNF in an RFC with a simple program. Another use case is that someone who wants to write programs that will extract information from an RFC can do so equally well with the XML and HTML, and can choose the tool that uses one or the other format for input. The HTML document must come with a default; internal set of CSS formatting. This will allow for a mostly-consistent display of RFCs across browsers. It will also allow for the HTML file to be moved over different transports (such as mail) and have the result; look the same. The HTML must display adequately in at least one text-based browser. The HTML document must allow easy local override of the default; CSS formatting. This will allow users who have a different visual style that they prefer to make RFCs display with that style without having to alt;er the contents of the HTML document. This might also be valuable for allowing people with specific accessibility needs to have custom CSS. No HTML tags in the document may have style information. All style information must be done through "class" and "id" attributes, with the style for those represented in the CSS alone. Exceptions can be made for formatting that is not possible in any other way in HTML5, such as table column widths. The HTML must make it easy to separate chunks into separate files. This will make creating EPUB documents easier in the future. The output needs to be HTML5. Language extensions might be acceptable after further discussion. The RFC Editor will use an automated validating tool before publishing the HTML. This requirement is not important for viewing with browsers, but is Hildebrand & Flanagan Expires August 18, 2014 [Page 5] Internet-Draft HTML RFC February 2014 important for programs that will use the HTML format as input for processing. The HTML must not have any Javascript or other active code in