Add W3C boilerplate. Add ToC and ids to sections. Use US-style capitalization for titles.
authorJames Clark <jjc@jclark.com>
Sun, 23 Sep 2012 15:21:06 +0700
changeset 4 b5fb312a83bf
parent 3 00e0a1af727f
child 5 45d1ceaeb9ce
Add W3C boilerplate. Add ToC and ids to sections. Use US-style capitalization for titles.
spec/microxml.html
--- a/spec/microxml.html	Fri Sep 21 10:42:18 2012 +0700
+++ b/spec/microxml.html	Sun Sep 23 15:21:06 2012 +0700
@@ -1,6 +1,31 @@
-    <p>Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and
-      document use rules apply.</p>
-
+<!-- This document is also conforming MicroXML. -->
+<html>
+<head>
+<title>MicroXML Specification</title>
+<link href="http://www.w3.org/community/src/css/spec/cg-draft.css" rel="stylesheet" type="text/css" charset="utf-8" />
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+</head>
+<body>
+<div class="head">
+<a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"/></a>
+<h1>MicroXML Specification</h1>
+<dl>
+<dt>Latest version:</dt>
+<dd><a href="http://dvcs.w3.org/hg/microxml/raw-file/tip/spec/microxml.html"
+>http://dvcs.w3.org/hg/microxml/raw-file/tip/spec/microxml.html</a></dd>
+<dt>Editors:</dt>
+<dd>James Clark</dd>
+<dd>John Cowan</dd>
+</dl>
+<p class="copyright">Copyright © 2012 the Contributors to the MicroXML Specification,
+published by the <a href="http://www.w3.org/community/microxml/">MicroXML Community Group</a> under
+the <a href="https://www.w3.org/community/about/agreements/cla/">W3C Community Contributor License
+Agreement (CLA)</a>. A
+human-readable <a href="http://www.w3.org/community/about/agreements/cla-deed/">summary</a> is
+available.</p> 
+<hr/>
+</div>
+    <section id="abstract">
     <h2>Abstract</h2>
 
     <p>MicroXML is a subset of XML intended for use in contexts where full XML is, or is perceived
@@ -9,18 +34,59 @@
       a specific markup vocabulary like HTML.  This document provides a complete description
       of MicroXML.</p>
 
-    <h2>Status of this document</h2>
-
-    <p>This document is being developed by the MicroXML Community Group, which is open to public
-     participation.  Comments should be sent to the Community Group mailing list.</p>
+    </section>
+    <h2>Status of This Document</h2>
 
-    <p>This version of the document is an editor's draft.  It is believed to reflect the current
-    consensus in the Community Group, but has not yet been approved by it.</p>
+     <p>This specification was published by
+     the <a href="http://www.w3.org/community/MicroXML/">MicroXML Community Group</a>. It is not a
+     W3C Standard nor is it on the W3C Standards Track. Please note that under
+     the <a href="http://www.w3.org/community/about/agreements/cla/">W3C Community Contributor
+     License Agreement (CLA)</a> there is a limited opt-out and other conditions apply. Learn more
+     about <a href="http://www.w3.org/community/">W3C Community and Business Groups</a>.</p>
 
-    <p>This document may be distributed freely as long as all text and legal notices remain
-    intact.</p>
+<h2>Table of Contents</h2>
+<ul>
+<li><a href="#introduction">1 Introduction</a></li>
+<li><a href="#data-model">2 Data Model</a>
+<ul>
+<li><a href="#json-syntax">2.1 JSON Syntax (informative)</a></li>
+</ul>
+</li>
+<li><a href="#syntax">3 Syntax</a>
+<ul>
+<li><a href="#documents">3.1 Documents</a></li>
+<li><a href="#elements">3.2 Elements</a></li>
+<li><a href="#attributes">3.3 Attributes</a></li>
+<li><a href="#comments">3.4 Comments</a></li>
+<li><a href="#character-references">3.5 Character References</a></li>
+<li><a href="#names">3.6 Names</a></li>
+<li><a href="#whitespace">3.7 Whitespace</a></li>
+<li><a href="#characters">3.8 Characters</a></li>
+</ul>
+</li>
+<li><a href="#conformance">4 Conformance</a>
+<ul>
+<li><a href="#document-conformance">4.1 Document Conformance</a></li>
+<li><a href="#parser-conformance">4.2 Parser Conformance</a></li>
+</ul>
+</li>
+<li><a href="#security">5 Security Considerations</a></li>
+<li><a href="#notation">6 Notation</a></li>
+<li><a href="#references">Appendix A: References</a>
+<ul>
+<li><a href="#normative-references">A.1 Normative References</a></li>
+<li><a href="#informative-references">A.1 Informative References</a></li>
+</ul>
+</li>
+<li><a href="#xml">Appendix B: Relationship to XML (informative)</a>
+<ul>
+<li><a href="#xml-syntax">B.1 Syntax</a></li>
+<li><a href="#xml-data-model">B.2 Data Model</a></li>
+</ul>
+</li>
+</ul>
 
-    <h2>1 Introduction</h2>
+    <h2 id="introduction">1 Introduction</h2>
 
     <p>MicroXML is a Unicode-based textual format for general-purpose structured information
     interchange. A sequence of characters or bytes in this format is called a <i>MicroXML
@@ -69,7 +135,7 @@
         "<small>OPTIONAL</small>" in this document are to be interpreted as described in RFC
       2119.</p>
 
-    <h2>2 Data Model</h2>
+    <h2 id="data-model">2 Data Model</h2>
 
     <p>The MicroXML abstract data model uses three primitive types:</p>
     
@@ -108,7 +174,7 @@
     <p>Any character occurring in the value of an attributes map or as a member of a content list
     <small>MUST</small> match the production <i>char</i>.</p>
 
-    <h3>2.1 JSON syntax (informative)</h3>
+    <h3 id="json-syntax">2.1 JSON Syntax (informative)</h3>
 
     <p>There are many possible ways of representing the data model in [JSON]. The following
       is one possible way:</p>
@@ -124,7 +190,7 @@
 
     <p>This document will use this syntax to represent the data model in examples.</p>
 
-    <h2>3 Syntax</h2>
+    <h2 id="syntax">3 Syntax</h2>
 
     <p>This section specifies the syntax of MicroXML. It also specifies how the syntax is parsed
     into the abstract data model: for each syntactic form that contributes to the data model, it
@@ -142,7 +208,7 @@
       item as the parse result.</li>
     </ol>
 
-    <h3>3.1 Documents</h3>
+    <h3 id="documents">3.1 Documents</h3>
 
     <pre>[1] document ::= byteOrderMark? (comment | s)* element (comment | s)*
 [2] byteOrderMark ::= #xFEFF</pre>
@@ -169,7 +235,7 @@
   ]
 ]</pre>
 
-    <h3>3.2 Elements</h3>
+    <h3 id="elements">3.2 Elements</h3>
 
     <pre>[3] element ::= startTag content endTag
               | emptyElementTag
@@ -226,7 +292,7 @@
 
     <pre>["page-break", {}, []]</pre>
 
-    <h3>3.3 Attributes</h3>
+    <h3 id="attributes">3.3 Attributes</h3>
 
     <pre>[9] attributeList ::= (s+ attribute)*
 [10] attribute ::= attributeName s* '=' s* attributeValue
@@ -255,7 +321,7 @@
 
      <pre>["location", { "city": "New York", "country": "US" }, []]</pre>
 
-    <h3>3.4 Comments</h3>
+    <h3 id="comments">3.4 Comments</h3>
 
     <pre>[14] comment ::= '&lt;!--' ((char - '-') | ('-' (char - '-')))* '--&gt;'</pre>
 
@@ -271,7 +337,7 @@
     <p>Note that <code>&lt;head&gt;</code> and <code>&lt;body&gt;</code>
      are not recognized as start-tags.</p>
 
-    <h3>3.5 Character references</h3>
+    <h3 id="character-references">3.5 Character References</h3>
 
     <pre>[15] charRef ::= numericCharRef | namedCharRef
 [16] numericCharRef ::= '&amp;#x' charNumber ';'
@@ -310,7 +376,7 @@
 
     <pre>["p", {}, "&lt;\u03BB"]</pre>
 
-    <h3>3.6 Names</h3>
+    <h3 id="names">3.6 Names</h3>
 
     <pre>[20] name ::= nameStartChar nameChar*
 [21] nameStartChar ::= [A-Z] | [a-z] | "_" | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D]
@@ -329,7 +395,7 @@
       Unicode normalization turns it into a semicolon.</p>
 
 
-    <h3>3.7 Whitespace</h3>
+    <h3 id="whitespace">3.7 Whitespace</h3>
 
     <pre>[24] s ::= #x9 | #xA | #x20</pre>
 
@@ -337,7 +403,7 @@
     data model. Note that #xD is not included here, because #xD characters are translated to #xA
     characters during line-break normalization.</p>
 
-    <h3>3.8 Characters</h3>
+    <h3 id="characters">3.8 Characters</h3>
 
     <pre>[23] char ::= s | ([#0-#x10FFFF] - forbiddenCodePoint)
 
@@ -360,9 +426,9 @@
       <li>surrogates (see Section 16.6 of [Unicode]).</li>
     </ul>
 
-    <h2>4 Conformance</h2>
+    <h2 id="conformance">4 Conformance</h2>
 
-    <h3>4.1 Document conformance</h3>
+    <h3 id="document-conformance">4.1 Document Conformance</h3>
 
     <p>A sequence of characters is a conforming MicroXML document if, after line normalization, it
       matches the production <i>document</i>, and meets the further constraints found in the text of
@@ -380,7 +446,7 @@
       this possibility, all documents <small>SHOULD</small> be in Normalization Form C as described by
       [Unicode].</p>
 
-    <h3>4.2 Parser conformance</h3>
+    <h3 id="parser-conformance">4.2 Parser Conformance</h3>
 
     <p>For any sequence of bytes, a conforming MicroXML parser <small>MUST</small> be able to report correctly
       whether it is a conforming MicroXML document.  If it is a conforming MicroXML document, then a
@@ -399,7 +465,7 @@
     documents. It <small>MUST</small>, however, still comply with the requirement of the first
     paragraph to report that the sequence of bytes is not a conforming MicroXML document.</p>
 
-    <h2>5 Security considerations</h2>
+    <h2 id="security">5 Security Considerations</h2>
 
     <p>MicroXML does not provide any built-in service for integrity.  Integrity services have been
     defined for XML using XML Canonicalization [RFC3076] and XML Signatures [RFC3275]. These
@@ -417,7 +483,7 @@
     <p>MicroXML documents are encoded in UTF-8; the security considerations described in
     [RFC3629] are therefore applicable to MicroXML.</p>
 
-    <h2>6 Notation</h2>
+    <h2 id="notation">6 Notation</h2>
 
     <p>The formal grammar of MicroXML is given in this document using a simple Extended
       Backus-Naur Form (EBNF) notation. Each rule in the grammar defines one symbol, in the form
@@ -488,14 +554,14 @@
         alternation; thus <code>A* | B*</code> is identical to <code>(A*) | (B*)</code>.</dd>
     </dl>
 
-    <h2>Appendix A: References</h2>
+    <h2 id="references">Appendix A: References</h2>
 
     <p>While these references cite a particular edition of a specification, conforming
       implementations of MicroXML <small>MAY</small> support later editions either in addition or as
       replacements, thus allowing MicroXML users to benefit from corrections and extensions to the
       other specifications on which it depends.</p>
 
-    <h3>A.1 Normative References</h3>
+    <h3 id="normative-references">A.1 Normative References</h3>
 
     <dl>   
       <dt>RFC 2119</dt>
@@ -511,7 +577,7 @@
         Unicode Consortium, 2011. ISBN 978-1-936213-01-6)</dd> 
     </dl>
 
-   <h3>A.2 Informative References</h3>
+   <h3 id="informative-references">A.2 Informative References</h3>
 
    <dl>
      <dt>JSON</dt>
@@ -537,9 +603,9 @@
      Bray et al., 2008. (See http://www.w3.org/TR/xml/.)</dd>
    </dl>
 
-   <h2>Appendix B: Relationship to XML (informative)</h2>
+   <h2 id="xml">Appendix B: Relationship to XML (informative)</h2>
 
-   <h3>B.1 Syntax</h3>
+   <h3 id="xml-syntax">B.1 Syntax</h3>
    
    <p>Relative to XML 1.0 Fifth Edition, MicroXML prohibits:</p>
 
@@ -561,7 +627,7 @@
 
    <p>MicroXML parsers are not required to use draconian error handling.</p>
    
-   <h3>B.2 Data model</h3>
+   <h3 id="xml-data-model">B.2 Data Model</h3>
 
    <p>The MicroXML data model corresponds to the following information items and properties from the
    XML information set:</p>
@@ -587,3 +653,5 @@
    general be fixed by postprocessing, since XML does not normalize newlines and tabs in attribute values
    that were entered as numeric character references, and the MicroXML data model does not provide
    information about which characters were entered as numeric character references.</p>
+</body>
+</html>