<!-- ============================================================= --> <!-- MODULE: Default Element Mixes Module --> <!-- VERSION: 2.3 --> <!-- DATE: February 2007 --> <!-- --> <!-- ============================================================= --> <!-- ============================================================= --> <!-- PUBLIC DOCUMENT TYPE DEFINITION --> <!-- TYPICAL INVOCATION --> <!-- "-//NLM//DTD Default Element Mixes Module v2.3 20070202//EN" Delivered as file "default-mixes.ent" --> <!-- ============================================================= --> <!-- ============================================================= --> <!-- SYSTEM: Journal Archiving and Interchange DTD of the --> <!-- Archiving and Interchange DTD Suite --> <!-- --> <!-- PURPOSE: Declares default values for all the element mixes --> <!-- used in the content models of the DTD Suite --> <!-- --> <!-- Mixes are Or-groups of classes, used in many --> <!-- different content models. Mixes should not use --> <!-- element names directly, only through classes. --> <!-- --> <!-- Note: Since PEs must be declared before they --> <!-- are used, this module must be called after the --> <!-- customize mixes module (if any). --> <!-- --> <!-- CONTAINS: 1) PEs that define the element mixes (such as --> <!-- phrase-level elements, para-level elements, --> <!-- inside-a-table-cell elements) --> <!-- --> <!-- CREATED FOR: --> <!-- Digital Archive of Journal Articles --> <!-- National Center for Biotechnology Information --> <!-- (NCBI) --> <!-- National Library of Medicine (NLM) --> <!-- --> <!-- ORIGINAL CREATION DATE: --> <!-- August 2004 --> <!-- --> <!-- CREATED BY: 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 2.3 (DAL/BTU) v2.3 (2007-02-02) Enhancement Release (2.3) following the Working Group meetings of Oct-Nov/2006-Jan/2007. No backward-incompatible changes. Archiving loosened even more. New structures for all the DTDs. 6. Updated public identifier to "v2.3 20070202//EN" ============================================================= Version 2.1 (DAL/BTU) v2.1 (2005-06-30) Changed to MathML 2.0 and MathML 2.0 Character Sets Added new material requested by NCBI 5. Minor, non-functional changes to wording in comments as part of 2.1 release. 4. Updated public identifier to "v2.3 20070202" ============================================================= Version 2.0 (DAL/BTU) v2.0 (2004-07-30) Major requirement changes led to the new release, producing DTD version "2.0": a) The splitting of the Archival and Interchange Tag Set DTDs into three DTDs from two: an authoring DTD, an archive regularization and interchange DTD (the current Blue Publishing DTD), and a preservationist archive DTD (the current Green Archiving and Interchange DTD). b) AIT Working Group suggestions from the June 04 meeting and June/July 2004 followup discussions c) Suite remodularization to meet new (and newly articulated) modularization requirements d) New or renamed classes and mixes to make modifications easier and more consistent 3. INLINE MATH CLASS - Added to everywhere %inline-display; was including: - %simple-text; (via %all-phrase;) - %emphasized-text; (via %all-phrase;) 2. PARAMETER ENTITY CLEANUP AND REGULARIZATION a. RENAME EXISTING CLASSES ### Customization Alert ### Some classes did not have the ".class" suffix. Changed the names to add the class suffix: - %block-math.class; used in - %para-level; - %inside-cell; - %inside-para; [now renamed -%p-elements;] - %inline-math.class; used in - %emphasized-text; - %inside-cell; - %simple-phrase; and - %inside-para; [now renamed -%p-elements;]) b. MODIFY PARA-LEVEL MIX ### Customization Alert ### New Parameter Entities in %para-level; (No model change.) - %para.class; is replaced by the combination of: - %just-para.class; and - %rest-of-para.class; c. LINK CLASSES - Replaced %link.class; with the following classes (no DTD change): - %address-link.class; (external links in addresses) - %article-link.class; (links for journal article) - %simple-link.class; (the internal links) in the following Parameter Entities: - %emphasized-text; - %inside-cell; - %p-elements; - %simple-phrase; - Deleted -%inpara-address; from -%inside-para; (which has been modified and renamed -%p-elements;) (No DTD change, -%address-link.class; covers it.) d. INLINE PARAMETER MIXES ### Customization Alert ### Changed the inline-mix Parameter Entities to use the OR-bar-first mechanism. This requires changing not only the Parameter Entity, but all content models that use the entity. - %emphasized-text; (used in most of the format elements) e. -ELEMENT AND -MODEL SUFFIXES ### Customization Alert ### RENAME ELEMENT MIXES NOT TO END IN "-elements", since that suffix is reserved for mixes that are added to #PCDATA for a particular element - %doc-back-matter-elements; ==> -%doc-back-matter-mix; - %sec-back-matter-elements; ==> -%sec-back-matter-mix; - Deleted the element mix "inside-para" and replaced it with "%p-elements;" 1. Created this module as version "v2.3 20070202" --> <!-- ============================================================= --> <!-- ELEMENT MIXES FOR USE IN CONTENT MODELS --> <!-- (MIXES ARE COMPOSED USING CLASSES) --> <!-- ============================================================= --> <!-- SECTION-LEVEL ELEMENTS --> <!-- Elements that may be used at the same structural level as a Section for example inside the Body <body> --> <!ENTITY % sec-level "%sec.class;" > <!-- ============================================================= --> <!-- BACK MATTER ELEMENT MIXES(%backmatter.ent;)--> <!-- ============================================================= --> <!-- DOCUMENT BACK MATTER ELEMENTS --> <!-- Back Matter Elements used by a full document such as a journal article. This is an element grouping rather than a class. These elements may also appear in the content models of structural elements, such as back matter. (Note: Technically this should have used %sec.class;, but %sec-level; was used in an earlier release and backwards compatibility must be maintained. --> <!ENTITY % doc-back-matter-mix "%back.class; | %front-back.class; | %sec-level;" > <!-- SECTION BACK MATTER ELEMENTS --> <!-- Back matter elements used inside smaller structures, such as sections and sidebars --> <!ENTITY % sec-back-matter-mix "%front-back.class; | %sec-back.class;" > <!-- ============================================================= --> <!-- PARAGRAPH-LEVEL ELEMENT MIXES --> <!-- ============================================================= --> <!-- PARAGRAPH-LEVEL ELEMENTS --> <!-- Elements that may be used at the same structural level as a paragraph, for example inside a Section Note: There a major overlap between this parameter entity and that for the elements that are at the same level as a paragraph. Inline elements appear only inside a paragraph, but block elements such as quotes and lists may appear either within a paragraph or at the same level as a paragraph. This serves a requirement in a repository DTD, since some incoming material will have restricted such elements to only inside a paragraph, some incoming material will have restricted them to only outside a paragraph and some may allow them in both places. Thus the DTD must allow for them to be in either or both. --> <!ENTITY % para-level "%block-display.class; | %block-math.class; | %just-para.class; | %list.class; | %math.class; | %related-article.class; | %rest-of-para.class;" > <!-- ============================================================= --> <!-- TABLE ELEMENT MIXES --> <!-- ============================================================= --> <!-- INSIDE TABLE CELL ELEMENTS --> <!-- Mixed with #PCDATA inside a table cell, such as a <td> or <th> element in the XHTML table model, the <entry> element in the OASIS CALS table model, etc. This PE will be used as the value of %Flow.mix;, %paracon;, etc. ### Usage Alert ### Design Note: Inside cell is an exception, an inline mix that does not start with an OR bar. This is because is used within the PE -%Flow.mix;, which is an inline mix defined in the course of the XHTML Table DTD, a DTD not under control of this DTD Suite. --> <!ENTITY % inside-cell "%address-link.class; | %appearance.class; | %article-link.class; | %block-math.class; | %break.class; | %chem-struct-wrap.class; | %citation.class; | %emphasis.class; | %inline-display.class; | %inline-math.class; | %list.class; | %math.class; | %phrase.class; | %simple-display.class; | %simple-link.class; | %subsup.class;" > <!-- INSIDE TABLE WRAPPER ELEMENTS --> <!-- Usually a Table Wrapper contains a table, properly tagged with rows and columns, but sometimes, a structure that is labeled as a "table" is actually a list, or two paragraphs. This Parameter Entity names all the alternatives to table that may occur inside a table wrapper. --> <!ENTITY % inside-table-wrapper "%intable-para.class; | %list.class; | %simple-intable-display.class; | %table.class;" > <!-- ============================================================= --> <!-- INLINE ELEMENT MIXES --> <!-- ============================================================= --> <!-- EMPHASIS MIX ELEMENTS --> <!-- Elements that may be used inside most of the emphasis class elements Design Note: Inline mixes begin with an OR bar --> <!ENTITY % emphasized-text "| %address-link.class; | %article-link.class; | %emphasis.class; | %inline-display.class; | %inline-math.class; | %math.class; | %phrase.class; | %simple-link.class; | %subsup.class;" > <!-- JUST RENDITION --> <!-- Only the simplest of the typographic emphasis elements, as well as subscript and superscript. Usually used in a model that allows #PCDATA and this restricted mixture. This mix may be stripped down to only subscript and superscript by some, more restrictive DTDs. DTD Maintenance Note: This Parameter Entity and the related PE "rendition-plus" have been put in place to restrict the amount of variability that a person modifying the DTD through PE redefinition can achieve. Some elements have been set #PCDATA plus one PE and some have been set to #PCDATA plus the other in an effort to allow designers to modify entire groups of elements, but not to change similar models individually . Design Note: Inline mixes begin with an OR bar --> <!ENTITY % just-rendition "| %emphasis.class; | %subsup.class;" > <!-- RENDITION MARKUP PLUS --> <!-- Only the simplest of the typographic emphasis elements, as well as subscript and superscript. Usually used in a model that allows #PCDATA and this restricted mixture. This mix may be enhanced slightly in some more permissive DTDs, and should always contain at least typographic emphasis, subscript, and superscript. DTD Maintenance Note: This Parameter Entity and the related PE "just-rendition" have been put in place to restrict the amount of variability that a person modifying the DTD through PE redefinition can achieve. Some elements have been set #PCDATA plus one PE and some have been set to #PCDATA plus the other in an effort to allow designers to modify entire groups of elements, but not to individually change similar models. modify entire groups of elements, but not to change similar models individually . Design Note: Inline mixes begin with an OR bar --> <!ENTITY % rendition-plus "| %emphasis.class; | %subsup.class;" > <!-- SIMPLE PHRASE-LEVEL TEXTUAL ELEMENTS --> <!-- Elements that may be used almost anywhere text is used, for example, inside a title. Simple text plus inline display and math elements. Design Note: Inline mixes begin with an OR bar --> <!ENTITY % simple-phrase "| %address-link.class; | %article-link.class; | %emphasis.class; | %inline-display.class; | %inline-math.class; | %math.class; | %phrase.class; | %simple-link.class; | %subsup.class;" > <!-- SIMPLE TEXTUAL CONTENT --> <!-- Elements that may be used inside elements that are really expected to be #PCDATA and not to contain any of these things. Note that there is no math and no links. Simpler even than %simple-phrase; Design Note: Inline mixes begin with an OR bar --> <!ENTITY % simple-text "| %emphasis.class; | %inline-display.class; | %inline-math.class; | %phrase.class; | %subsup.class; " > <!-- ================== End Archiving DTD Mixes Customization ==== -->