| # ============================================================= |
| |
| # HEADER |
| |
| # ============================================================= |
| |
| # MODULE: DITA DITA Topic |
| |
| # VERSION: 1.1 |
| |
| # DATE: June 2006 |
| |
| # |
| |
| # ============================================================= |
| |
| # ============================================================= |
| |
| # PUBLIC DOCUMENT TYPE DEFINITION |
| |
| # TYPICAL INVOCATION |
| |
| # |
| |
| # Refer to this file by the following public identifier or an |
| # appropriate system identifier |
| # PUBLIC "-//OASIS//ELEMENTS DITA Topic//EN" |
| # Delivered as file "topic.mod" |
| |
| # ============================================================= |
| |
| # SYSTEM: Darwin Information Typing Architecture (DITA) |
| |
| # |
| |
| # PURPOSE: Declaring the elements and specialization |
| |
| # attributes for the base Topic type |
| |
| # |
| |
| # ORIGINAL CREATION DATE: |
| |
| # March 2001 |
| |
| # |
| |
| # (C) Copyright OASIS Open 2005, 2006. |
| |
| # (C) Copyright IBM Corporation 2001, 2004. |
| |
| # All Rights Reserved. |
| |
| # |
| |
| # UPDATES: |
| |
| # 2005.11.15 RDA: Corrected the public ID for tblDecl.mod |
| |
| # 2005.11.15 RDA: Removed old declaration for topicreftypes |
| |
| # entity |
| |
| # 2005.11.15 RDA: Corrected the PURPOSE in this comment |
| |
| # 2005.11.15 RDA: Corrected Long Names for alt, indextermref |
| |
| # 2006.06.06 RDA: Bug fixes: |
| |
| # Added xref and fn to fig.cnt |
| |
| # Remove xmlns="" from global-atts |
| |
| # 2006.06.06 RDA: Moved shared items to commonElements file |
| |
| # 2006.06.07 RDA: Added <abstract> element |
| |
| # 2006.06.07 RDA: Make universal attributes universal |
| |
| # (DITA 1.1 proposal #12) |
| |
| # 2006.06.14 RDA: Add dir attribute to localization-atts |
| |
| # 2006.06.20 RDA: defn.cnt now explicitly sets its content |
| |
| # 2006.07.06 RDA: Moved class attributes in from topicAttr |
| |
| # ============================================================= |
| |
| # ============================================================= |
| |
| # ARCHITECTURE ENTITIES |
| |
| # ============================================================= |
| |
| # default namespace prefix for DITAArchVersion attribute can be |
| # overridden through predefinition in the document type shell |
| |
| # must be instanced on each topic type |
| |
| namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" |
| namespace ditaarch = "http://dita.oasis-open.org/architecture/2005/" |
| |
| arch-atts = |
| [ a:defaultValue = "1.1" ] |
| attribute ditaarch:DITAArchVersion { string "1.1" }? |
| # ============================================================= |
| |
| # ELEMENT NAME ENTITIES |
| |
| # ============================================================= |
| |
| # Definitions of declared elements |
| include "topicDefn.ent.rnc" |
| # Content elements common to map and topic |
| include "commonElements.mod.rnc" |
| # MetaData Elements, plus indexterm |
| include "metaDecl.mod.rnc" |
| # ============================================================= |
| |
| # ENTITY DECLARATIONS FOR ATTRIBUTE VALUES |
| |
| # ============================================================= |
| |
| # ============================================================= |
| |
| # COMMON ATTLIST SETS |
| |
| # ============================================================= |
| body.cnt = |
| basic.block |
| | required-cleanup |
| | data.elements.incl |
| | foreign.unknown.incl |
| section.cnt = |
| text |
| | basic.ph |
| | basic.block |
| | title |
| | txt.incl |
| | data.elements.incl |
| | foreign.unknown.incl |
| section.notitle.cnt = |
| text |
| | basic.ph |
| | basic.block |
| | txt.incl |
| | data.elements.incl |
| | foreign.unknown.incl |
| # ============================================================= |
| |
| # COMMON ENTITY DECLARATIONS |
| |
| # ============================================================= |
| |
| # for use within the DTD and supported topics; these will NOT work |
| # outside of this DTD or dtds that specialize from it! |
| |
| # ============================================================= |
| |
| # NOTATION DECLARATIONS |
| |
| # ============================================================= |
| |
| # DITA uses the direct reference model; |
| # notations may be added later as required |
| |
| # ============================================================= |
| |
| # STRUCTURAL MEMBERS |
| |
| # ============================================================= |
| info-types = topic.element |
| # ============================================================= |
| |
| # COMMON ATTLIST SETS |
| |
| # ============================================================= |
| |
| # Copied into metaDecl.mod |
| |
| # <!ENTITY % date-format 'CDATA' > |
| rel-atts = |
| attribute type { text }?, |
| attribute role { |
| "parent" |
| | "child" |
| | "sibling" |
| | "friend" |
| | "next" |
| | "previous" |
| | "cousin" |
| | "ancestor" |
| | "descendant" |
| | "sample" |
| | "external" |
| | "other" |
| }?, |
| attribute otherrole { text }? |
| # ============================================================= |
| |
| # SPECIALIZATION OF DECLARED ELEMENTS |
| |
| # ============================================================= |
| topic-info-types = info-types |
| # ============================================================= |
| |
| # DOMAINS ATTRIBUTE OVERRIDE |
| |
| # ============================================================= |
| |
| # ============================================================= |
| |
| # ELEMENT DECLARATIONS |
| |
| # ============================================================= |
| |
| # LONG NAME: Topic |
| topic.element = |
| element topic { |
| topic.attlist, |
| title, |
| titlealts?, |
| (shortdesc | abstract)?, |
| prolog?, |
| body?, |
| related-links?, |
| topic-info-types* |
| } |
| topic.attlist &= |
| attribute id { xsd:ID }, |
| attribute conref { text }?, |
| select-atts, |
| localization-atts, |
| attribute outputclass { text }?, |
| arch-atts, |
| [ |
| a:defaultValue = |
| "(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d) (topic ut-d) (topic indexing-d)" |
| ] |
| attribute domains { text }? |
| # LONG NAME: Title Alternatives |
| titlealts.element = |
| element titlealts { titlealts.attlist, navtitle?, searchtitle? } |
| titlealts.attlist &= univ-atts |
| # LONG NAME: Navigation Title |
| navtitle.element = element navtitle { navtitle.attlist, words.cnt* } |
| navtitle.attlist &= univ-atts |
| # LONG NAME: Search Title |
| searchtitle.element = |
| element searchtitle { searchtitle.attlist, words.cnt* } |
| searchtitle.attlist &= univ-atts |
| # LONG NAME: Abstract |
| abstract.element = |
| element abstract { |
| abstract.attlist, (section.notitle.cnt | shortdesc)* |
| } |
| abstract.attlist &= |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Short Description |
| |
| # <!ELEMENT shortdesc (%title.cnt;)* > |
| # <!ATTLIST shortdesc |
| # %univ-atts; |
| # outputclass |
| # CDATA #IMPLIED > |
| |
| # LONG NAME: Body |
| body.element = |
| element body { body.attlist, (body.cnt | section | example)* } |
| body.attlist &= |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: No Topic nesting |
| no-topic-nesting.element = |
| element no-topic-nesting { no-topic-nesting.attlist, empty } |
| # LONG NAME: Section |
| section.element = element section { section.attlist, section.cnt* } |
| section.attlist &= |
| attribute spectitle { text }?, |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Example |
| example.element = element example { example.attlist, section.cnt* } |
| example.attlist &= |
| attribute spectitle { text }?, |
| univ-atts, |
| attribute outputclass { text }? |
| # LONG NAME: Description |
| |
| # Desc is used in context with figure and |
| # table titles and also for content models |
| # within linkgroup and object (for |
| # accessibility) |
| |
| # <!ELEMENT desc (%desc.cnt;)* > |
| # <!ATTLIST desc |
| # %univ-atts; |
| # outputclass |
| # CDATA #IMPLIED > |
| |
| # ============================================================= |
| |
| # PROLOG (METADATA FOR TOPICS) |
| |
| # TYPED DATA ELEMENTS |
| |
| # ============================================================= |
| |
| # typed content definitions |
| |
| # typed, localizable content |
| |
| # LONG NAME: Prolog |
| prolog.element = |
| element prolog { |
| prolog.attlist, |
| author*, |
| source?, |
| publisher?, |
| copyright*, |
| critdates?, |
| permissions?, |
| metadata*, |
| resourceid*, |
| (data.elements.incl | foreign.unknown.incl)* |
| } |
| prolog.attlist &= univ-atts |
| # LONG NAME: Metadata |
| metadata.element = |
| element metadata { |
| metadata.attlist, |
| audience*, |
| category*, |
| keywords*, |
| prodinfo*, |
| othermeta*, |
| (data.elements.incl | foreign.unknown.incl)* |
| } |
| metadata.attlist &= |
| univ-atts, |
| attribute mapkeyref { text }? |
| # ============================================================= |
| |
| # BASIC DOCUMENT ELEMENT DECLARATIONS |
| |
| # (rich text) |
| |
| # ============================================================= |
| |
| # ============================================================= |
| |
| # BASE FORM PHRASE TYPES |
| |
| # ============================================================= |
| |
| # ============================================================= |
| |
| # LINKING GROUPING |
| |
| # ============================================================= |
| |
| # LONG NAME: Related Links |
| related-links.element = |
| element related-links { |
| related-links.attlist, (link | linklist | linkpool)+ |
| } |
| related-links.attlist &= |
| rel-atts, |
| univ-atts, |
| attribute format { text }?, |
| attribute scope { "local" | "peer" | "external" }?, |
| attribute outputclass { text }? |
| # LONG NAME: Link |
| link.element = element link { link.attlist, linktext?, desc? } |
| link.attlist &= |
| attribute href { text }?, |
| attribute keyref { text }?, |
| attribute query { text }?, |
| rel-atts, |
| univ-atts, |
| attribute format { text }?, |
| attribute scope { "local" | "peer" | "external" }?, |
| attribute outputclass { text }? |
| # LONG NAME: Link Text |
| linktext.element = element linktext { linktext.attlist, words.cnt* } |
| linktext.attlist &= univ-atts |
| # LONG NAME: Link List |
| linklist.element = |
| element linklist { |
| linklist.attlist, title?, desc?, (linklist | link)*, linkinfo? |
| } |
| linklist.attlist &= |
| attribute collection-type { |
| "unordered" | "sequence" | "choice" | "tree" | "family" |
| }?, |
| attribute duplicates { "yes" | "no" }?, |
| attribute mapkeyref { text }?, |
| rel-atts, |
| univ-atts, |
| attribute spectitle { text }?, |
| attribute format { text }?, |
| attribute scope { "local" | "peer" | "external" }?, |
| attribute outputclass { text }? |
| # LONG NAME: Link Information |
| linkinfo.element = element linkinfo { linkinfo.attlist, desc.cnt* } |
| linkinfo.attlist &= univ-atts |
| # LONG NAME: Link Pool |
| linkpool.element = |
| element linkpool { linkpool.attlist, (linkpool | link)* } |
| linkpool.attlist &= |
| attribute collection-type { |
| "unordered" | "sequence" | "choice" | "tree" | "family" |
| }?, |
| attribute duplicates { "yes" | "no" }?, |
| attribute mapkeyref { text }?, |
| rel-atts, |
| univ-atts, |
| attribute format { text }?, |
| attribute scope { "local" | "peer" | "external" }?, |
| attribute outputclass { text }? |
| # ============================================================= |
| |
| # MODULES CALLS |
| |
| # ============================================================= |
| |
| # Table Elements |
| |
| # 2005.11.15 RDA: Corrected the public ID for tblDecl.mod, |
| |
| # from the old value "-//OASIS//ELEMENTS DITA CALS Tables//EN" |
| |
| # Tables are now part of commonElements |
| |
| # <!ENTITY % tableXML PUBLIC |
| # "-//OASIS//ELEMENTS DITA Exchange Table Model//EN" |
| # "tblDecl.mod" > |
| # %tableXML; |
| |
| # ============================================================= |
| |
| # SPECIALIZATION ATTRIBUTE DECLARATIONS |
| |
| # ============================================================= |
| abstract.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/abstract " ] attribute class { text }? |
| body.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/body " ] attribute class { text }? |
| example.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/example " ] attribute class { text }? |
| link.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/link " ] attribute class { text }? |
| linkinfo.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/linkinfo " ] attribute class { text }? |
| linklist.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/linklist " ] attribute class { text }? |
| linkpool.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/linkpool " ] attribute class { text }? |
| linktext.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/linktext " ] attribute class { text }? |
| metadata.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/metadata " ] attribute class { text }? |
| navtitle.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/navtitle " ] attribute class { text }? |
| no-topic-nesting.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/no-topic-nesting " ] |
| attribute class { text }? |
| prolog.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/prolog " ] attribute class { text }? |
| related-links.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/related-links " ] |
| attribute class { text }? |
| searchtitle.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/searchtitle " ] attribute class { text }? |
| section.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/section " ] attribute class { text }? |
| titlealts.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/titlealts " ] attribute class { text }? |
| topic.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/topic " ] attribute class { text }? |
| # Shortdesc in map uses map/shortdesc so this one must be |
| # included, even though the element is common. |
| shortdesc.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/shortdesc " ] attribute class { text }? |
| # ================== End DITA Topic ========================== |