<!-- ============================================================= --> <!-- MODULE: Journal Archiving DTD Customize Content and --> <!-- Attributes Module --> <!-- VERSION: 2.3 --> <!-- DATE: February 2007 --> <!-- --> <!-- ============================================================= --> <!-- ============================================================= --> <!-- PUBLIC DOCUMENT TYPE DEFINITION --> <!-- TYPICAL INVOCATION --> <!-- "-//NLM//DTD Journal Archiving DTD Customize Content and Attributes Module v2.3 20070202//EN" Delivered as file "archivecustom-models.ent" --> <!-- ============================================================= --> <!-- ============================================================= --> <!-- SYSTEM: Journal Archiving and Interchange DTD of the --> <!-- Archiving and Interchange DTD Suite --> <!-- --> <!-- PURPOSE: To declare the Parameter Entities (PEs) used to --> <!-- over-ride content models or parts of content --> <!-- models when making a new DTD from the modules of --> <!-- the Archiving and Interchange DTD Suite. --> <!-- --> <!-- Or-groups within models should use mixes or --> <!-- classes rather than name elements directly. --> <!-- --> <!-- Note: Since PEs must be declared before they --> <!-- are used, this module must be called before the --> <!-- content modules that declare elements. --> <!-- --> <!-- CONTAINS: 1) PEs that define OR lists of elements to be --> <!-- mixed with #PCDATA in element content models --> <!-- (all PEs are named "yyy-elements", where "yyy" --> <!-- is the name of the primary element whose --> <!-- content model will use the declared PE.) --> <!-- 2) PEs that define complete content models. --> <!-- (names ending in the suffix "-model") --> <!-- 3) PEs that define attribute list or attribute --> <!-- value over-rides --> <!-- --> <!-- 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. 40. TERM ELEMENTS - Added <chem-struct-wrapper> to the contents of <term> using -%chem-struct-wrap.class; inside -%term-elements; so that you can use a <chem-struct-wrapper> anywhere you can use a <disp-formula>. 39. ARTICLE META MODEL - Used to require <fpage> or <lpage> even when there was a <page-range>. Now both are optional. 38. Address models - Added <label> to <address> through -%address-model; - Added <x> to <address> through -%address-model; 37. PRODUCT - Added <size> to <product> through -%product-elements; - Added <label> to <product> through -%product-elements; 36. ANONYMOUS - Over-rode anonymous-elements to add <x> 35, PUB-DATE - Allowed <season> to be in the same <pub-date> with <day> and <month> instead of as an alternative to the day or month. Put <season> first in the model, since the only examples seen that used both on one <pubdate> put the season first and the order does not change the normal case. 34. DUPLICATE PES - Moved 3 Parameter Entities into this module from because needed to use them in other over rides in this module. The two entities themselves are unchanged. - sec-opt-title-mod (from common.ent for app-model) 33. APPENDIX TITLE - Made the appendix title optional by replacing "sec-model" with "sec-opt-title-model" in the parameter entity -%app-model;. 32. ELEMENT <x> ELEMENTS - Added the elements <sub>, <sup>, and all the emphasis elements to <x> through -%x.elements. 31. ADDED <x> TO MODELS - Using x.class, added the element <x> to the following models: - address-model - conference-model (new to this module) - copyright-statement-elements - etal-elements (new to this module) - issue-title-elements - kwd-elements - label-elements - role-elements - title-elements - xref-elements 30. CONTRIB GROUP MODEL - Eliminated all order in the model (contributors used to come first) and allowed <x> anywhere inside the model so that all text between elements can be captured. 29. RELATED ARTICLE ELEMENTS - Added <journal-id> to <related-article> textual mixture (related-article-elements) using the new journal-id.class. 28. PRODUCT ELEMENTS - Added <label> to product textual mixture (product-elements) using label.class. 27. ADDRESS MODEL a) Added <label> to address model using label.class. b) Added <x> to address model using x.class. 26. PARAGRAPH ELEMENTS - Created new class "contract-grant" to hold old elements <contract-num> and <contract-sponsor>, as well as new elements <grant-num> and <grant-sponsor>. To be used (initially) as part of Paragraph elements (-%p-elements;) 25. ARTICLE METADATA MODEL a) Added <grant-num>* and <grant-sponsor>* to the contents of <article-meta>. This is a temporary insertion for version 2.3. A more structured model for grant material and sponsorship is expected to be introduced in version 3.0. b) Made it possible to have a <page-range> without requiring an <fpage> 24. SECTION MODEL - Brought into this module to require that both <label> and <title> be present made optional for Sections, Appendices, and similar elements. This less-than-optimal modeling allows for the case where the tagging had faked sections headings using bolded paragraphs. This change is made in full knowledge of the fact that these falsely headed sections will make autogeneration of Tables of Contents problematic. 23. PERSON-GROUP-MODEL a. Added new PE "person-group-elements" to hold content of this PE b. Changed <person-group> to #PCDATA model from element content model that uses person-group-elements c. Changed person-group-elements from allowing (aff | name.class | etal) be replaced <etal> with the more generic "person-group-info" that will include <aff>, < etal>, and any similar information added in the future. 22. REF-MODEL a. Changed the construction but not the content of <ref> by changing -%ref-model from using the elements <citation> and <note> directly to using the classes -%citation,class; and -%note.class;. b. Added <x> to the content, using -%x.class; in the -%ref-model PE 21. NLM CITATION - Added <nlm-citation> as an alternative to unstructured <citation>s by adding <nlm-citation> to %citation.class;. This changed the models for: - <ref>, which uses %citation.class; inside %ref-model; - the inside cell mix (used for <td>, <th>, and OASIS <entry> - <p> through -%p-elements; 20. Updated public identifier to "v2.3 20070202//EN" ============================================================= Version 2.2 (DAL/BTU) v2.2 (2006-04-30) Backwards-compatible changes to meet operational needs. Typical changes include adding attribute values and making required elements optional. 19. SIGNATURE BLOCK AND SIGNATURE - Added new overriding Parameter Entities -%sig-block-elements; for use in the <sig-block> model and -%sig-elements; for use in the <sig> model. 18. PRICE - New <price> element added to <product>. 17. Updated public identifier to "v2.2 20060430//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 the online list 16. PERMISSIONS - Added a new <permissions> wrapper element to consolidate copyright and licensing information. For backwards compatibility, the new element will be added alongside the existing copyright elements. Best practice will be to use the new container, but <copyright-statement>, <copyright-year>, and <license> will be accepted in their old positions inside <article-meta> - Added <permissions> to <article-meta> model. This should be used in preference to the <copyright>, <copyright-year>, and <license> at the top level in the same model. 15. Updated public identifier to "v2.1 20050630" ============================================================= Version 2.0 (DAL/BTU) v2.0 (2004-08-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 14. OTHER-TABLE-WRAP-ATTS - Moved this Parameter Entity to the display module, so all variant DTDs could use it. 13. LOOSENING ALL PHRASE-LEVEL ELEMENT USAGE - As part of the version 2.0 split into 3 DTDs, removed the distinctions between where phrase-level elements may be used. Now, if you can use one phrase-level, you can use them all. This allows any in any order. Phrase-level elements include the address elements (which is only a little odd for <addr-line>). New Parameter Entity is %all-phrase; used inside: - the Parameter Entities named "nnn-elements" that can be mixed with #PCDATA in the content model of the nnn element (for which the defaults are defined in the module that holds the element, just before the element, and the over-rides are defined below.) - And the following content model over-rides: . %chem-struct-model; (via %chem-struct-elements;) . %copyright-statement-model; (renamed -elements) . %history-model; (via %history-elements) 12. ACCESS CLASS ### Customization Alert ### a. Took <ext-link> out of -%access.class;. It did not belong. It belongs in -%address-link.class; b. Added -%address-link.class; to anywhere regular %access.class; was used. 11. ATTRIBUTE VALUE LISTS - The Green (Archival) DTD needed to change all explicit attribute value lists in the DTD to CDATA. In the future, explicit list types will be a feature of the Blue (Publishing) and new Authoring DTDs. Therefore, added Parameter Entities to hold the following attributes: - %date-atts; (date-type changed from list to CDATA) - %article-id-atts; (pub-id-type changed to CDATA) - %pub-id-atts; (pub-id-type changed to CDATA) - %xref-atts; (ref-type changed to CDATA) 10. <x> GENERATED TEXT AND PUNCTUATION ELEMENT: a. Added to the following models: - %def-list-model; - %def-item-model; - %article-meta-model; - %person-group-model; b. Added to %contrib-model; and %contrib-group-model; (via %x.class;) (Therefore added to <contributor> and <contributor-group>) c. Also added to the element groups for: - %aff-elements; - %citation-elements; - %collab-elements; - %corresp-elements; - %product-elements; - %publisher-loc-elements; - %related-article-elements; 9. OVER-RIDE OF ARTICLE-META-MODEL - Added new elements a. <custom-meta-wrap> containing <custom-meta> b. <email> c. <issue-id> d. <issue-title> (for special title or theme) e. <page-range> f. <volume-id> g. <license> (for now, just a bucket into which to dump license-related material until the AIT Workgroup does more analysis) 8. DATES a. Made a new Parameter Entity %string-date-elements; to hold all the elements that may be mixed with #PCDATA in a <string-date> b. Used %date-parts.class; and %x.class; in new %string-date-elements; 7. PRODUCT AND RELATED ARTICLE Added reference elements to both 6. COMPLETE MODELS WHEN OVER-RIDING A MODEL (for all Parameter Entities suffixed "-model") ### Customization Alert ### Made all the model over-rides consistent. Some included the outer parentheses, some did not. They all do now, as this is the most flexible system, allowing for #PCDATA, mixed, or element content. (This is in direct contrast to the "-element" suffixed models, which are designed to prohibit element content and permit only #PCDATA or mixed content.) Added parentheses to Parameter Entity and removed them from the Element Declaration. - %article-meta-model; - %contrib-group-model; - %contrib-model; - %def-item-model; - %def-list-model; - %kwd-group-model; 5. CITATION MODEL / COPYRIGHT STATEMENT MODEL ### Customization Alert ### - Replaced the Parameter Entity %citation-model; with the OR list Parameter Entity %citation-elements; and used that within the content model of <citation> - Similar Change for copyright-statement-elements 4. DEF-ITEM LOOSENING a. Made <term> optional and repeatable so that incomplete <def-item>s can be captured. b. Added <x> to: - <def-list> by way of -%def-list-model; - <def-item> by way of -%def-item-model; 3. RENAMED CLASSES ### Customization Alert ### Not all classes ended in the ".class" suffix. Changed the following to add the class suffix: - %display-back-matter.class; used in -%preformat-elements; - %address-elements; (renamed -%address.class;!) used in: - %aff-elements; - %corresp-elements; - %publisher-loc-elements; - %contrib-info.class; used in -%contrib-group-model; - %block-math.class; used in - %named-content-elements; - %term-elements; - %rest-of-para.class; Inside the content model for Paragraph <p>, was renamed %p-elements;. The content model for Named Content and the model for %p-elements; still use %rest-of-para.class;. 2. INLINE PARAMETER MIXES ### Customization Alert ### INLINE FORMULA/DISPLAY FORMULA/PREFORMAT/RELATED ARTICLE - Changed the "-element" Parameter Entities to use the OR-bar-first mechanism: - Inline Formula - In the PE %inline-formula-elements; Changed the PE "%all-phrase;" to "| %all-phrase;" (Since the OR bar following the #PCDATA in the content model had been changed to match.) - Display Formula (%disp-formula-elements; %disp-formula-model;) - Preformat Elements (%preformat-elements; %preformat-model;) - Related Article (%related-article-elements;) 1. Created this module as version "v2.0 20040830" --> <!-- ============================================================= --> <!-- INLINE MIXES TO OVER-RIDE CONTENT MODELS --> <!-- (ELEMENTS TO BE ADDED TO #PCDATA IN MODELS)--> <!-- ============================================================= --> <!-- ABBREVIATION ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <abbrev> element --> <!ENTITY % abbrev-elements "| %all-phrase; | %def.class;" > <!-- ACCESS DATE ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the Access Date <access-date> element --> <!ENTITY % access-date-elements "| %date-parts.class; | %x.class;" > <!-- AFFILIATION ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <aff> element --> <!ENTITY % aff-elements "| %address.class; | %all-phrase; | %break.class; | %label.class; | %x.class;" > <!-- ANONYMOUS ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of an <anonymous> element --> <!ENTITY % anonymous-elements "%just-rendition; | %x.class;" > <!-- CHEMICAL STRUCTURE ELEMENTS --> <!-- Those elements that may mix with the data characters inside a Chemical Structure <chem-struct> --> <!ENTITY % chem-struct-elements "| %access.class; | %all-phrase; | %break.class; | %id.class; | %label.class; | %list.class; | %simple-display.class;" > <!-- CITATION ELEMENTS --> <!-- Those elements that may mix with the data characters inside a Citation --> <!ENTITY % citation-elements "| %article-link.class; | %appearance.class; | %emphasis.class; | %inline-display.class; | %inline-math.class; | %label.class; | %math.class; | %phrase.class; | %references.class; | %simple-link.class; | %subsup.class; | %x.class;" > <!-- COLLABORATIVE (GROUP) AUTHOR ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <collab> element --> <!ENTITY % collab-elements "| %all-phrase; | %break.class; | %x.class;" > <!-- CONFERENCE MODEL --> <!-- Content model for the <conference> element --> <!ENTITY % conference-model "(%conference.class; | %x.class;)*" > <!-- CONFERENCE DATE ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <conf-date> element --> <!ENTITY % conf-date-elements "| %date-parts.class; | %x.class;" > <!-- COPYRIGHT STATEMENT ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <copyright-statement> --> <!ENTITY % copyright-statement-elements "| %all-phrase; | %x.class;" > <!-- CORRESPONDENCE INFORMATION ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the correspondence information. --> <!ENTITY % corresp-elements "| %address.class; | %all-phrase; | %break.class; | %label.class; | %x.class;"> <!-- FORMULA, DISPLAY ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <disp-formula> --> <!ENTITY % disp-formula-elements "| %all-phrase; | %access.class; | %break.class; | %display-back-matter.class; | %label.class; | %simple-display.class;" > <!-- EMAIL ADDRESS ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <email> element --> <!ENTITY % email-elements "| %all-phrase;" > <!-- ET AL ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of an <etal> element --> <!ENTITY % etal-elements "%just-rendition; | %x.class;" > <!-- EXTERNAL LINK ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of an <ext-link> --> <!ENTITY % ext-link-elements "| %all-phrase;" > <!-- FORMULA, INLINE ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <inline-formula> element. --> <!ENTITY % inline-formula-elements "| %all-phrase;" > <!-- INLINE SUPPLEMENTARY MATERIAL ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <inline-supplementary-material> element--> <!ENTITY % inline-supplementary-material-elements "| %access.class; | %all-phrase;" > <!-- INSTITUTION NAME ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <institution> element --> <!ENTITY % institution-elements "| %all-phrase; | %break.class; | %x.class;" > <!-- ISSUE TITLE ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <issue-title> element --> <!ENTITY % issue-title-elements "| %all-phrase; | %x.class;" > <!-- KEYWORD CONTENT ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of a keyword. --> <!ENTITY % kwd-elements "| %break.class; | %all-phrase; | %x.class;" > <!-- LABEL ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <label> element --> <!ENTITY % label-elements "| %break.class; | %all-phrase; | %x.class;" > <!-- LINK ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of linking element such as <xref>, <target>, and <ext-link> --> <!ENTITY % link-elements "| %break.class; | %all-phrase;" > <!-- METADATA DATA NAME ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <meta-name> element --> <!ENTITY % meta-name-elements "| %all-phrase;" > <!-- METADATA DATA VALUE ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <meta-value> element --> <!ENTITY % meta-value-elements "| %all-phrase;" > <!-- NAMED CONTENT ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <named-content> element --> <!ENTITY % named-content-elements "| %all-phrase; | %block-display.class; | %block-math.class; | %list.class; | %rest-of-para.class;" > <!-- PARAGRAPH ELEMENTS --> <!-- Elements that may be used within a paragraph in a mixed content model with #PCDATA. Design Note: There is a major overlap between this parameter entity and the mix for 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 % p-elements "| %all-phrase; | %block-display.class; | %block-math.class; | %citation.class; | %contract-grant.class; | %list.class; | %rest-of-para.class;" > <!-- PREFORMATTED TEXT ELEMENTS --> <!-- Elements that may be used, along with data characters, inside the content model for the <preformat> element, in which white space, such as tabs, line feeds, and spaces will be preserved. --> <!ENTITY % preformat-elements "| %access.class; | %all-phrase; | %display-back-matter.class; " > <!-- PRODUCT ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <product> element --> <!ENTITY % product-elements "| %article-link.class; | %appearance.class; | %break.class; | %emphasis.class; | %inline-display.class; | %inline-math.class; | %label.class; | %math.class; | %phrase.class; | %price.class; | %references.class; | %simple-link.class; | %size.class; | %subsup.class; | %x.class;" > <!-- PUBLISHER'S LOCATION ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <publisher-loc> element --> <!ENTITY % publisher-loc-elements "| %address.class; | %all-phrase; | %break.class; | %x.class;" > <!-- RELATED ARTICLE ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <related-article> element. --> <!ENTITY % related-article-elements "| %article-link.class; | %appearance.class; | %break.class; | %emphasis.class; | %inline-display.class; | %inline-math.class; | %journal-id.class; | %math.class; | %phrase.class; | %references.class; | %simple-link.class; | %subsup.class; | %x.class;" > <!-- ROLE ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of a <role> Design Note: All inline mixes begin with an OR bar; since %rendition-plus; is an inline mix, the OR bar is already there. --> <!ENTITY % role-elements "%rendition-plus; | %x.class;" > <!-- SELF-URI ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <self-uri> element --> <!ENTITY % self-uri-elements "| %all-phrase;" > <!-- SIGNATURE BLOCK ELEMENTS --> <!-- Elements to be mixed with data characters inside the content model for the <sig-block> element. --> <!ENTITY % sig-block-elements "| %all-phrase; | %break.class; | %just-base-display.class; | %sig.class;" > <!-- SIGNATURE ELEMENTS --> <!-- Elements to be mixed with data characters inside the content model for the <sig> element. --> <!ENTITY % sig-elements "| %all-phrase; | %break.class; | %just-base-display.class;" > <!-- SOURCE ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <source> element --> <!ENTITY % source-elements "| %all-phrase; | %break.class;" > <!-- SPEAKER ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of a speaker. --> <!ENTITY % speaker-elements "| %all-phrase; | %person-name.class;" > <!-- STRING DATE ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <string-date> element --> <!ENTITY % string-date-elements "| %all-phrase; | %date-parts.class; | %x.class;" > <!-- STRING NAME ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <string-name> element --> <!ENTITY % string-name-elements "| %all-phrase; | %person-name.class; | %x.class;" > <!-- STRUCTURAL TITLE ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of the <title> element --> <!ENTITY % struct-title-elements "| %all-phrase; | %break.class; | %x.class;" > <!-- SUBJECT GROUPING NAME ELEMENTS --> <!-- Elements that may be used, along with data characters inside the content model of the <subject> element --> <!ENTITY % subject-elements "| %all-phrase; | %break.class; | %x.class;" > <!-- DEFINITION LIST: TERM ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of a <term>. --> <!ENTITY % term-elements "| %all-phrase; | %block-math.class; | %chem-struct-wrap.class; | %simple-display.class;" > <!-- TITLE ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of title elements such as <title>, <subtitle>, <trans-title>, etc. --> <!ENTITY % title-elements "| %all-phrase; | %break.class; | %x.class;" > <!-- X ELEMENTS --> <!-- Elements for use inside the <x> element --> <!ENTITY % x-elements "| %emphasis.class; | %subsup.class;" > <!-- X(CROSS) REFERENCE ELEMENTS --> <!-- The elements that can be included along with data characters inside the content model of an <xref> Design Note: All inline mixes begin with an OR bar, but since %link-elements; is an inline mix, the OR bar is already there. --> <!ENTITY % xref-elements "%link-elements; | %x.class;" > <!-- ============================================================= --> <!-- DUPLICATE NEEDED FOR OVER-RIDES --> <!-- ============================================================= --> <!-- CONTENT MODEL FOR AN UNTITLED SECTION --> <!-- The model for a section-like structure that may or may not have an initial title --> <!ENTITY % sec-opt-title-model "(sec-meta?, label?, title?, (%para-level;)*, (%sec-level;)*, (%sec-back-matter-mix;)* )" > <!-- ============================================================= --> <!-- OVER-RIDES OF CONTENT MODELS (FULL MODELS) --> <!-- ============================================================= --> <!-- ARTICLE METADATA MODEL --> <!-- Full content model for the metadata that is specific to the article. Note: This includes both metadata that directly describes the article (such as the article title, abstract, or article ID) as well as the metadata that many MAJOUR-style DTDs (such DTDs split the metadata into three categories: journal metadata, article metadata, and issue metadata), call the issue metadata. Related Element: Metadata specific to the journal is within the element <journal-meta> Journal Metadata --> <!ENTITY % article-meta-model "(article-id*, article-categories?, title-group?, (contrib-group | aff | %x.class;)*, author-notes?, pub-date*, volume?, volume-id*, issue?, issue-id*, issue-title*, supplement?, ( ( (fpage, lpage?)?, page-range?) | elocation-id )?, (%address-link.class; | product | supplementary-material)*, history?, copyright-statement?, copyright-year?, license?, permissions?, self-uri*, related-article*, abstract*, trans-abstract*, kwd-group*, contract-num*, contract-sponsor*, grant-num*, grant-sponsor*, conference*, counts?, custom-meta-wrap?)" > <!-- ADDRESS MODEL --> <!-- Content model for the <address> element --> <!ENTITY % address-model "(%address.class; | %address-link.class; | %label.class; | %x.class;)*" > <!-- APPENDIX MODEL --> <!-- Content model for the <app> element. The section model already contains parentheses. Made initial <title> optional. --> <!ENTITY % app-model "(%sec-opt-title-model;, permissions?)" > <!-- CONTRIBUTOR GROUP MODEL --> <!-- Content model for the <title-group> element--> <!ENTITY % contrib-group-model "(%contrib.class; | %contrib-info.class; | %x.class;)+" > <!-- CONTRIBUTOR MODEL --> <!-- Content model for the <contrib> element --> <!ENTITY % contrib-model "( (%name.class;)*, (%degree.class; | %contrib-info.class; | %x.class;)* )" > <!-- DEFINITION LIST: DEFINITION ITEM MODEL --> <!-- The content model of a <def-item> --> <!ENTITY % def-item-model "(label?, term*, (%def.class; | %x.class;)* )" > <!-- DEFINITION LIST MODEL --> <!-- Content model for the <def-list> element --> <!ENTITY % def-list-model "(label?, title?, term-head?, def-head?, (def-item | %x.class;)*, def-list* )" > <!-- HISTORY ELEMENTS --> <!-- Elements that may be mixed with data characters inside the model for <history> when <history> is modeled as a mixed content element. --> <!ENTITY % history-elements "| %all-phrase; | %break.class; | %date.class; | %x.class;" > <!-- HISTORY MODEL --> <!-- The content model for the <history> element (Design Note: This content model is a full model not just an OR list of elements, because the model it is replacing is an element model not a mixed-content model.) --> <!ENTITY % history-model "(#PCDATA %history-elements;)*" > <!-- KEYWORD GROUP MODEL --> <!-- Content model for a <kwd-group> element --> <!ENTITY % kwd-group-model "(title?, (%kwd.class; | %x.class;)+ )" > <!-- PERSON GROUP ELEMENTS --> <!-- Elements to be mixed with #PCDATA characters within the Person Group element --> <!ENTITY % person-group-elements "%name.class; | %person-group-info.class; | %x.class;" > <!-- PERSON GROUP MODEL --> <!-- Content model for the Person Group element --> <!ENTITY % person-group-model "(#PCDATA | %person-group-elements;)*" > <!-- PUBLICATION DATE MODEL --> <!-- The content model for the element <pub-date> --> <!ENTITY % pub-date-model "(season?, (day?, month?)?, year?, string-date?)" > <!-- REFERENCE ITEM MODEL --> <!-- Content model for the <ref> element Added <nlm-citation> as an alternative to unstructured <citation>s. using -%citation.class; --> <!ENTITY % ref-model "(label?, (%citation.class; | %note.class; | %x.class;)+ )" > <!-- CONTENT MODEL FOR A STRUCTURAL SECTION --> <!-- The model for a section. Unlike the other DTDs in the Suite which require a <title> or require either a <label> or a <title>, this model has been changed to make both <label> and <title> optional, with full knowledge that this may make it very difficult to generate a clean online Table of Contents. Used for elements such as Section and Appendix. --> <!ENTITY % sec-model "(sec-meta?, label?, title?, (%para-level;)*, (%sec-level;)*, (%sec-back-matter-mix;)* )" > <!-- ============================================================= --> <!-- OVER-RIDES OF ATTRIBUTE LISTS --> <!-- ============================================================= --> <!-- ARTICLE IDENTIFIER ATTRIBUTES --> <!-- Attributes for the <article-id> element pub-id-type Publication (article) Identifier Type Names the type of identifier, or the organization or system that defined this identifier for the identifier of the journal article or a cited publication. This is an optional CDATA attribute that should be used whenever the type is known. Used on the <article-id> element, which holds an identifier for the entire article. Also used on the <pubid> element, which is an identifier for a publication cited in a bibliographic reference (citation). Suggested values include: coden - Obsolete PDB/CCDC identifier (may be present on older articles) doaj - Directory of Open Access Journals doi - Digital Object Identifier medline- NLM Medline identifier other - None of the named identifiers pii - Publisher Item Identifier, see http://pubs.acs.org/epub/piius.htm or http://www.aip.org/epub/piipr.html pmid - PubMed ID (see www.ncbi.nlm.nih.gov/entrez/ query.fcgi?db=PubMed) publisher-id - Publisher's identifier such as an 'article-id', 'artnum', 'identifier', 'article- number', 'pub-id', etc. sici - Serial Item and Contribution Identifier (SICI). A journal article may have more than one SICI, one for a print version and one for an electronic version. --> <!ENTITY % article-id-atts "pub-id-type CDATA #IMPLIED" > <!-- DATE (HISTORICAL) ATTRIBUTES --> <!-- date-type Attribute should only be used if the type is known, otherwise omit the attribute. Suggested values include: accepted - Date manuscript was accepted received - Date manuscript received rev-request - Date revisions were requested or manuscript was returned rev-recd - Date revised manuscript was received --> <!ENTITY % date-atts "date-type CDATA #IMPLIED" > <!-- PUBLICATION IDENTIFIER ATTRIBUTES --> <!-- Attributes for the <pub-id> element --> <!ENTITY % pub-id-atts "pub-id-type CDATA #IMPLIED" > <!-- X(CROSS) REFERENCE ATTRIBUTES --> <!-- Attribute list for cross references --> <!ENTITY % xref-atts "id ID #IMPLIED ref-type CDATA #IMPLIED rid IDREFS #IMPLIED" > <!-- ================== End Archiving Content/ATT Over-rides ===== -->