Standard

## Abstract

Let’s write books in HTML! HTMLBook is an open, XHTML5-based standard for the authoring and production of both print and digital books. HTMLBook is built on the following premises:

• Books are timeless. The basic “book” structure has persisted for hundreds of years and will continue to persist for our lifetimes, be it in digital or print form.
• HTML is the markup language of the world for the foreseeable future.
• Single-source document processing will remain valuable for the foreseeable future.

As such, HTMLBook can be characterized in the following ways:

• HTMLBook is a subset of XHTML5. All HTMLBook is XHTML5, but not all XHTML5 is HTMLBook.
• HTMLBook contains no additional elements or attributes outside of the XHTML5 specification.
• HTMLBook is semantically tailored to the structure of a book, including more complex content used in technical and reference documents.
• HTMLBook is defined with and can be validated against an XML schema.
• HTMLBook stylesheets are written in CSS.

## Status of This Document

This document is merely a public working draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organisation.

## 1. Notes on the HTMLBook Specification

Requirements for HTML5 elements in the HTMLBook specification are below. Special semantic inflections for `data-type` attributes, unless otherwise noted, come from EPUB 3 Structural Semantics Vocabulary

Many content models refer to “Block Elements” or “Inline Elements”; please see Block Elements and Inline Elements for the corresponding list of HTML5 elements that belong to each of these categories.

If no content model or attribute requirements are explicitly specified, then HTMLBook adopts the corresponding requirements in the [HTML5] Specification

## 2. Revision History and Notes

8 April 2014
Updated specifications for section subtitles to comply with best practices set forth in “Common idioms without dedicated elements” in [HTML5] Specification.
29 December 2013
Minor revisions for clarity
13 August 2013
Revised specification for footnote markup
3 July 2013
Changed spec to use the attribute `data-type` for specifying book-specific semantics instead of `class`. The `class` attribute is now free to be used for whatever user-defined semantics are desired, and there are no restrictions on `class` values. Users of the spec may want to replicate `data-type` values in the `class` attribute to facilitate CSS styling, but this is completely optional.
19 April 2013
First release of Working Draft

## 3. Book Component elements

### 3.1 Book

HTML element:

Attribute requirements: `data-type="book"` (Not in [EPUB3SSV]; from [DOCBOOK])

Content model: Optional