<!-- ============================================================= --> <!-- MODULE: NCBI Book Collection DTD --> <!-- VERSION: 3.0 --> <!-- DATE: Feb 2008 --> <!-- --> <!-- ============================================================= --> <!-- ============================================================= --> <!-- PUBLIC DOCUMENT TYPE DEFINITION --> <!-- TYPICAL INVOCATION --> <!-- "-//NLM//DTD NCBI Book Collection DTD v3.0 20080202//EN" Delivered as file "bookcollection3.dtd" --> <!-- ============================================================= --> <!-- ============================================================= --> <!-- SYSTEM: NCBI BOOK DTD of the --> <!-- Archiving and Interchange DTD Suite --> <!-- --> <!-- PURPOSE: Define elements used to describe collections --> <!-- (aggregations) of books. Such a collection is --> <!-- more than a single work, it is a group of works --> <!-- organized according to some principle. --> <!-- --> <!-- CONTAINS: 1) Declare and invoke the Book-DTD-specific --> <!-- module of modules, that names any modules --> <!-- created expressly for this Book DTD. --> <!-- (%bookcustom-modules.ent;) --> <!-- 2) Declare and invoke the DTD Suite module of --> <!-- modules (%modules.ent;), the Archiving and --> <!-- Interchange Suite module that names all the --> <!-- Suite modules this DTD might invoke --> <!-- 3) Invoke DTD-specific over-ride classes module --> <!-- (%journalpub-classes.ent;) --> <!-- 4) Invoke Suite default classes --> <!-- (%default-classes.ent;) --> <!-- 5) Invoke DTD-specific over-ride mixes module --> <!-- (%bookcustom-mixes.ent;) --> <!-- 6) Invoke Suite default mixes --> <!-- (%default-mixes.ent;) --> <!-- 7) Invoke DTD-specific content model and attribute--> <!-- over-rides module (%bookcustom-models.ent;) --> <!-- 8) Invoke the Common Element Module (from Suite) --> <!-- 9) Invoke all the Class Modules (from Suite) as --> <!-- well as any DTD-specific element modules --> <!-- 10) Parameter Entities for attribute values used --> <!-- in this module (DTD-specific definitions) --> <!-- 11) Define document element <collection> --> <!-- 12) Define Front Matter <book-front> --> <!-- 13) Collection metadata elements --> <!-- --> <!-- CREATED FOR: --> <!-- NLM Bookshelf --> <!-- National Center for Biotechnology Information --> <!-- (NCBI) --> <!-- National Library of Medicine (NLM) --> <!-- --> <!-- ORIGINAL CREATION DATE: --> <!-- October 2004 --> <!-- --> <!-- CREATED BY: Bart Trawick (NCBI) --> <!-- Jeff Beck (NCBI) --> <!-- Deborah Lapeyre (Mulberry Technologies, Inc.) --> <!-- B. Tommie Usdin (Mulberry Technologies, Inc.) --> <!-- --> <!-- Suggestions for refinements and enhancements to --> <!-- this DTD should be sent in email to: --> <!-- archive-dtd@ncbi.nlm.nih.gov --> <!-- ============================================================= --> <!-- ============================================================= --> <!-- DTD VERSION\CHANGE HISTORY --> <!-- ============================================================= --> <!-- ============================================================= Version Reason/Occasion (who) vx.x (yyyy-mm-dd) ============================================================= Version 3.0 (DAL/BTU) v3.0 (2007-10-31) Version 3.0 is the first non-backward-compatible release. In addition to the usual incremental changes, some elements and attributes have been renamed and/or remodeled to better meet user needs and to increase tag set consistency. All module change histories are available through the Tag Suite web site at http://dtd.nlm.nih.gov. Details on version 3.0 are available at http://dtd.nlm.nih.gov/3.0. 2. Changed default @xml:lang from "EN" from "en" to match latest RFC 4646/W3C/IANA Subtag Registry recommendations 1. Updated public identifier to "v3.0 20080202//EN" --> <!-- ============================================================= --> <!-- MODULES OF MODULES INVOKED --> <!-- ============================================================= --> <!-- MODULE TO NAME DTD-SPECIFIC MODULES --> <!-- Names all DTD-specific external modules --> <!ENTITY % bookcustom-modules.ent PUBLIC "-//NLM//DTD Book DTD Module of Modules v3.0 20080202//EN" "bookcustom-modules3.ent" > %bookcustom-modules.ent; <!-- MODULE TO NAME THE MODULES --> <!-- Declares all the external modules that are part of the modular Journal Archiving and Interchange DTD Suite library. --> <!ENTITY % modules.ent PUBLIC "-//NLM//DTD Archiving and Interchange DTD Suite Module of Modules v3.0 20080202//EN" "modules3.ent" > %modules.ent; <!-- ============================================================= --> <!-- CUSTOMIZATION MODULES INVOKED --> <!-- Note: These modules must be called after --> <!-- all Module of Modules but before any other --> <!-- modules. Unlike any other grouping, order --> <!-- of these modules matters. --> <!-- ============================================================= --> <!-- DTD-SPECIFIC CLASS CUSTOMIZATIONS MODULE --> <!-- Names the module that holds the DTD-specific class definitions for the Book DTD. (Defined in %bookcustom-modules.ent; ) --> %bookcustom-classes.ent; <!-- DEFAULT ELEMENT CLASSES MODULE --> <!-- Names the module that holds the standard class definitions for the Journal Archiving and Interchange DTD Suite. --> %default-classes.ent; <!-- DTD-SPECIFIC MIX CUSTOMIZATIONS MODULE --> <!-- Set up the Parameter Entities and element class definitions for the Book DTD that will be used to over-ride mixes in full DTD Suite. (Defined in %bookcustom-modules.ent; ) --> %bookcustom-mixes.ent; <!-- DEFAULT MIX CUSTOMIZATIONS MODULE --> <!-- Names the module that holds the standard mix definitions for the Journal Archiving and Interchange DTD Suite. --> %default-mixes.ent; <!-- DTD-SPECIFIC MODELS/ATTRIBUTES CUSTOMIZATIONS MODULE --> <!-- Names the module that holds the over-rides of content models, attribute lists, elements lists to be used in content models, and attribute values. These are Book DTD-specific. (Defined in %bookcustom-modules.ent; ) --> %bookcustom-models.ent; <!-- ============================================================= --> <!-- COMMON (SHARED) ELEMENTS MODULE INVOKED --> <!-- ============================================================= --> <!-- COMMON (SHARED) DECLARATIONS --> <!-- Declarations for elements, attributes, entities, and Notations that are shared by more than one class module. Note: Must be called before any of the class modules. --> %common.ent; <!-- ============================================================= --> <!-- DTD SUITE CLASS ELEMENTS (alpha) --> <!-- ============================================================= --> <!-- ARTICLE METADATA ELEMENTS --> <!-- These, while written for journal articles, include many useful metadata elements for books as well. Supplemented by the metadata elements defined in -%bookmeta.ent and -%bookpartmeta.ent; . --> %articlemeta.ent; <!-- BACK MATTER ELEMENTS --> %backmatter.ent; <!-- DISPLAY (GRAPHICAL) ELEMENTS --> %display.ent; <!-- FORMATTING ELEMENT CLASSES --> <!-- Elements that change rendition/display. --> %format.ent; <!-- FUNDING ELEMENTS --> <!-- Elements that describe the sponsorship or open access --> %funding.ent; <!-- LINK CLASS ELEMENTS --> %link.ent; <!-- LIST CLASS ELEMENTS --> %list.ent; <!-- MATH ELEMENTS --> %math.ent; <!-- NLM CITATION ELEMENT --> %nlmcitation.ent; <!-- PARAGRAPH-LEVEL ELEMENTS --> %para.ent; <!-- PHRASE-LEVEL ELEMENTS --> %phrase.ent; <!-- BIBLIOGRAPHIC REFERENCE (CITATION) CLASS ELEMENTS --> %references.ent; <!-- RELATED OBJECT ELEMENT --> <!-- Defines the <related-object> element to describe a related object such as a related book or a dataset. --> %related-object.ent; <!-- SECTION ELEMENTS --> %section.ent; <!-- ============================================================= --> <!-- REST OF THE DTD SUITE --> <!-- ============================================================= --> <!-- CUSTOM SPECIAL CHARACTERS DECLARATIONS --> <!-- Custom special character entities created specifically for use in this DTD Suite --> %chars.ent; <!-- MATHML SETUP MODULE --> <!-- Invoke the MathML modules --> %mathmlsetup.ent; <!-- NOTATION DECLARATIONS MODULE --> %notat.ent; <!-- XHTML TABLE SETUP MODULE --> <!-- Set up the necessary Parameter Entity values and then invoke XHTML (HTML 4.0) table module --> %XHTMLtablesetup.ent; <!-- SPECIAL CHARACTERS DECLARATIONS --> <!-- Standard XML special character entities used in this DTD --> %xmlspecchars.ent; <!-- ============================================================= --> <!-- BOOK-SPECIFIC ELEMENTS --> <!-- ============================================================= --> <!-- BOOK IMAGE MAP ELEMENTS --> %bookimagemap.ent; <!-- BOOK-SPECIFIC METADATA --> %bookmeta.ent; <!-- BOOK MULTI-LINK ELEMENTS --> %bookmultilink.ent; <!-- BOOK COMPONENT METADATA AND ELEMENTS --> %bookpart.ent; <!-- ============================================================= --> <!-- PARAMETER ENTITIES FOR ATTRIBUTE LISTS --> <!-- ============================================================= --> <!-- DTD VERSION --> <!-- What version of this DTD was used to make the document instance under consideration. Note that this is a fixed value that should change every time the DTD changes versions or revisions. This was created as version 2.0 to match the NLM Book DTD Version. --> <!ENTITY % dtd-version "dtd-version CDATA #FIXED '3.0'" > <!-- ============================================================= --> <!-- COLLECTION ELEMENTS --> <!-- ============================================================= --> <!-- COLLECTION --> <!-- A series of books (related in some manner by subject, time period, etc) that are to be considered a unit for the purposes of publication or web display. The list of books that make up the collection is given in a list in the metadata. The front, body, and back matter of a collection might hold a textual explanation of the collection or a list of references. Details at: http://dtd.nlm.nih.gov/book/tag-library/3.0/index.html?elem=collection --> <!ELEMENT collection (collection-meta, book-front?, body?, back?) > <!ATTLIST collection id ID #IMPLIED %dtd-version; content-type CDATA #IMPLIED xml:lang NMTOKEN 'en' %XLINK.xmlns.attrib; %MATHML.xmlns.attrib; %Schema.xmlns.attrib; > <!-- ============================================================= --> <!-- COLLECTION METADATA ELEMENTS --> <!-- ============================================================= --> <!-- COLLECTION METADATA MODEL --> <!-- Full content model for the metadata that is specific to a collection of books, such as an historical collection --> <!ENTITY % collection-meta-model "(collection-id, collection-name, pub-date?, history?, abstract*, trans-abstract*, kwd-group?, collection-list)" > <!-- COLLECTION METADATA --> <!-- Container element for the metadata that is specific to a collection of books, such as an historical collection or HSTAT Details at: http://dtd.nlm.nih.gov/book/tag-library/3.0/index.html?elem=collection-meta --> <!ELEMENT collection-meta %collection-meta-model; > <!-- COLLECTION IDENTIFIER --> <!-- Identifier for the collection, used in processing, as a link target, etc. Details at: http://dtd.nlm.nih.gov/book/tag-library/3.0/index.html?elem=collection-id --> <!ELEMENT collection-id (#PCDATA) > <!ATTLIST collection-id content-type CDATA #IMPLIED > <!-- COLLECTION NAME ELEMENTS --> <!-- Elements that may be mixed with the text inside a collection name Design Note: All inline mixes begin with an OR bar, but since %simple-phrase; inside %title-elements is an inline mix, the OR bar is already there. --> <!ENTITY % collection-name-elements "%title-elements;" > <!-- COLLECTION NAME --> <!-- Human-readable name of the collection, for use in web page titles, menus, etc. (May be a longer version of the collection identifier Details at: http://dtd.nlm.nih.gov/book/tag-library/3.0/index.html?elem=collection-name --> <!ELEMENT collection-name (#PCDATA %collection-name-elements;)* > <!-- ============================================================= --> <!-- COLLECTION LIST ELEMENTS --> <!-- ============================================================= --> <!-- COLLECTION LIST --> <!-- The members of the collection, a series of titles and links that are to be treated as a single collection Details at: http://dtd.nlm.nih.gov/book/tag-library/3.0/index.html?elem=collection-list --> <!ELEMENT collection-list (collection-member+) > <!-- COLLECTION MEMBER --> <!-- One item, typically a book, in a collection of books. Details at: http://dtd.nlm.nih.gov/book/tag-library/3.0/index.html?elem=collection-member --> <!ELEMENT collection-member (label?, title, (ext-link | related-object)+)> <!ATTLIST collection-member id ID #IMPLIED content-type CDATA #IMPLIED > <!-- ============================================================= --> <!-- BOOK METADATA MODELS --> <!-- ============================================================= --> <!-- BOOK METADATA --> <!-- Whole-book-level metadata elements, for example, book title, volume, and ISBN for a work such as a monograph, encyclopedia, reference volume, etc. Details at: http://dtd.nlm.nih.gov/book/tag-library/3.0/index.html?elem=book-meta --> <!ELEMENT book-meta %book-meta-model; > <!-- ============================================================= --> <!-- BOOK TEXTUAL FRONT MATTER --> <!-- ============================================================= --> <!-- BOOK TEXTUAL FRONT MATTER MODEL --> <!-- Content model for the <book-front>. This is the textual front matter of a book as distinguished from its metadata, which is contained in the element <book-meta>. --> <!ENTITY % book-front-model "(label?, title*, (%doc-front-matter-mix;)* )" > <!-- BOOK FRONT MATTER --> <!-- A wrapper element for the textual front matter (such as introductions and prefaces) of a book. Not a metadata wrapper, that function is preformed by <book-meta>. Details at: http://dtd.nlm.nih.gov/book/tag-library/3.0/index.html?elem=book-front --> <!ELEMENT book-front %book-front-model; > <!-- ============================================================= --> <!-- BODY ELEMENTS --> <!-- ============================================================= --> <!-- BODY OF THE COLLECTION DESCRIPTION --> <!-- The main textual portion (if any) of the collection description Details at: http://dtd.nlm.nih.gov/book/tag-library/3.0/index.html?elem=body --> <!ELEMENT body %body-model; > <!-- ============================================================= --> <!-- BACK MATTER ELEMENTS --> <!-- ============================================================= --> <!-- BACK MATTER MODEL --> <!-- Content model for the Back Matter of a book. This is typically ancillary material such as glossaries, appendices, bibliographies, reference tables, etc. --> <!ENTITY % back-model "(label?, title*, (%doc-back-matter-mix; | %just-table.class;)* )" > <!-- BACK MATTER --> <!-- Ancillary or supporting material not included as part of the main textual content of a journal article, for example appendices and acknowledgments. Details at: http://dtd.nlm.nih.gov/book/tag-library/3.0/index.html?elem=back --> <!ELEMENT back %back-model; > <!-- ================== End Book Collection DTD ================= -->