anchor.diff: -== Mappings
  -
  -A list of mappings is below. Special semantics, unless otherwise noted, come from http://idpf.org/epub/vocab/structure/[EPUB 3 Structural Semantics Vocabulary]
  -
  -=== Book Components
  +== HTMLBook Specification
  +
  +Requirements for HTML5 elements in the HTMLBook specification are below. Special semantic inflections for +class+ attributes, unless otherwise noted, come from http://idpf.org/epub/vocab/structure/[EPUB 3 Structural Semantics Vocabulary]
  +
  +If no content model or attribute requirements are explicitly specified, then HTMLBook adopts the corresponding requirements in the http://www.w3.org/html/wg/drafts/html/master/[HTML5 Specification]
  +
  +=== Book Component elements
   
   ==== Book
   
   *HTML element*: <body>
   
  -*Special semantics*: +class="book"+footnote:[Not in EPUB 3 Structural Semantics Vocabulary; from DocBook]
  +*Attribute requirements*: +class="book"+footnote:[Not in EPUB 3 Structural Semantics Vocabulary; from DocBook]
  +
  +*Content model*: First child must be <h1> that contains book title; then zero or more <h2> elements for subtitle content; then one or more Book Component elements as children (<div> for Part elements, <nav> for Table of Contents, and <section> elements for all other book divisions)
   
   *Example*
   
   [source, html]
   ----
   <body class="book">
  -  <!-- Lots of book content here -->
  +  <h1>jQuery Cookbook</h1>
  +  <section class="chapter">
  +    <!-- Chapter content here -->
  +  </section>
   </body>
   ----
   
  +*Note*: Just as in standard HTML5, <body> is a child of the root <html> element.
  +
   ==== Chapter
   
  -*Legacy DB element*: <chapter>
  -
  -*HTML element*: <section>
  -
  -*Special semantics*: +class="chapter"+ 
  +*HTML element*: <section>
  +
  +*Attribute requirements*: +class="chapter"+ 
  +
  +*Content model*: First child must be <h1> that contains chapter title; then zero or more <h2> elements for subtitle content; then zero or more Block Elements; then zero or more Sect1 children (<section class="sect1">)
   
   *Example*
   
   ----
   <section class="chapter">
     <!-- h1 used for all chapter titles -->
  -  <h1 class="title">Chapter Title</h1>
  -  <!-- Lots of chapter content here -->
  +  <h1>Chapter Title</h1>
  +  <p>Chapter content</p>
  +  <section class="sect1">
  +    <!-- Section content here... -->
  +  </section>
   </section>
   ----
   
   ==== Appendix
   
  -*Legacy DB element*: <appendix>
  -
  -*HTML element*: <section>
  -
  -*Special semantics*: +class="appendix"+ or class="afterword", depending on content
  +*HTML element*: <section>
  +
  +*Attribute requirements*: +class="appendix"+ or class="afterword", depending on content
  +
  +*Content model*: First child must be <h1> that contains appendix title; then zero or more <h2> elements for subtitle content; then zero or more Block Elements; then zero or more Sect1 children (<section class="sect1">)
   
   *Example*
   
   ----
   <section class="appendix">
  -  <!-- h1 used for all appendix titles -->
  -  <h1 class="title">Appendix Title</h1>
  -  <!-- Lots of appendix content here -->
  +  <h1>Appendix Title</h1>
  +  <p>Appendix content</p>
  +  <section class="sect1">
  +    <!-- Section content here... -->
  +  </section>
   </section>
   ----
   
   ==== Bibliography
   
  -*Legacy DB element*: <bibliography>
  -
  -*HTML element*: <section>
  -
  -*Special semantics*: +class="bibliography"+ for main bibliography; class="biblioentry" for each biblioentry
  +*HTML element*: <section>
  +
  +*Attribute requirements*: +class="bibliography"+
  +
  +*Content model*: First child must be <h1> that contains bibliography title; then zero or more <h2> elements for subtitle content; then zero or more Block Elements; then zero or more Sect1 children (<section class="sect1">)
   
   *Example*
   
   ----
   <section class="bibliography">
  -  <!-- optional h1 used for all bibliography titles -->
  -  <h1 class="title">Bibliography Title</h1>
  -  <p class="biblioentry"><!-- Biblioentry content --></p>
  -  <!-- More biblioentries below -->
  -</section>
  -----
  -
  -// OPEN QUESTION: Is <p> sufficient for biblioentries, or do we need more sophisticated tagging for proper CSS styling?
  +  <h1>Bibliography Title</h1>
  +  <p>Bibliography content</p>
  +  <section class="sect1">
  +    <!-- Section content here... -->
  +  </section>
  +</section>
  +----
   
   [[glossary]]
   ==== Glossary
   
  -*Legacy DB element*: <glossary>
  -
  -*HTML element*: <section> for formal titled glossary; <dl> for the actual definition list
  -
  -*Special semantics*: +class="glossary"+ on <section> and <dl>; class="glossterm" on <dt>; class="glossdef" on <dd>
  -
  -*Accessibility Best Practices*: Wrap the term text in a https://developer.mozilla.org/en-US/docs/HTML/Element/dfn[<dfn>]
  +*HTML element*: <section>
  +
  +*Attribute requirements*: +class="glossary"+
  +
  +*Content model*: First child must be <h1> that contains glossary title; then zero or more <h2> elements for subtitle content; then zero or more Block Elements; then zero or more Sect1 children (<section class="sect1">)
  +
  +*Best practices*: List of glossary terms should be marked up using <dl> elements with a class of "glossary", with <dt> children with a class of "glossterm" and <dd> children with a class of "glossdef". Term text should be wrapped in a https://developer.mozilla.org/en-US/docs/HTML/Element/dfn[<dfn>]. However, none of this is formally required by the spec.
   
   *Example*
   
   ----
   <section class="glossary">
  -  <!-- h1 used for all glossary titles -->
  -  <h1 class="title">Glossary Title</h1>
  +  <h1>Glossary Title</h1>
     <dl class="glossary">
       <dt class="glossterm">
  -      <dfn>Atlas</dfn>
  +      <dfn>jQuery</dfn>
       </dt>
       <dd class="glossdef">
  -      Best authoring platform ever
  +      Widely used JavaScript library
       </dd>
      </dl>
   </section>
  
positive.code:          <li><a href="pr03.html#I_sect1_d1e260">Tech Editors</a></li>
         </ol>
       </li>
    <!-- And so on... -->
    </ol>
  </nav>
  ----
  
  === Block Elements
  
  ==== Paragraph
  
  *Legacy DB element*: <para> or <simpara>
  
  *HTML element*: <p>
  
  
negative.code: 
  ==== Equation
  
  
  *HTML element*: <div>
  
  