The purpose of the bookmap specialization
Books and other printed media are popular ways to present DITA content. By specializing the general DITA map structure into the general structure and subject areas used by most book-oriented DTDs, bookmaps enable users to organize their DITA information into front matter, parts, chapters, and so forth. A rich set of metadata allows for recording information about the book, such as its authors and owners, versions, and production history.
The structure of the bookmap specialization
The <bookmap> element is the top-level element for a DITA bookmap. Most of the content for a bookmap is optional, allowing for specializations that further restrict the bookmap model.
A bookmap allows the following parts:
- An initial title or booktitle (booktitle has more semantics)
- Book metadata (publisher, author, copyright holders and dates, etc.)
- Front matter (placement for Table of Contents and other preliminary information)
- Any number of chapters or parts (parts can group chapters, chapters can group topics)
- An appendices section (similar to a part or a chapter, can group multiple appendices)
- Back matter (similar to front matter, notices, glossary, index, etc.)
- Relationship table
In book-oriented XML grammars, authors typically manage content structures as external entities, separate from the body of the book and referenced as embedded elements into the overall structure. Bookmap follows the same organizational approach, using the topicref-based structure of DITA maps as the archetype for the major divisions of a book.
Here is an example of a simple bookmap. It uses several mechanisms to include chapter content:
- Referencing a DITA map
- Referencing a DITA topic
- Nesting <topicref> elements
<bookmap id="taskbook"> <booktitle> <mainbooktitle>Product tasks</mainbooktitle> <booktitlealt>Tasks and what they do</booktitlealt> </booktitle> <bookmeta> <author>John Doe</author> <bookrights> <copyrfirst> <year>2006</year> </copyrfirst> <bookowner> <person href="task_preface.dita">Jane Doe</person> </bookowner> </bookrights> </bookmeta> <frontmatter> <preface/> </frontmatter> <chapter format="ditamap" href="installing.ditamap"/> <chapter href="configuring.dita"/> <chapter href="maintaining.dita"> <topicref href="maintainstorage.dita"/> <topicref href="maintainserver.dita"/> <topicref href="maintaindatabase.dita"/> </chapter> <appendix href="task_appendix.dita"/> </bookmap>