<?xml version="1.0" encoding="UTF-8"?>
<!-- ============================================================= -->
<!--                    HEADER                                     -->
<!-- ============================================================= -->
<!--  MODULE:    DITA BASE DTD                                     -->
<!--  VERSION:   1.2                                               -->
<!--  DATE:      November 2009                                     -->
<!--                                                               -->
<!-- ============================================================= -->

<!-- ============================================================= -->
<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
<!--                    TYPICAL INVOCATION                         -->
<!--                                                               -->
<!--  Refer to this file by the following public identifier or an 
      appropriate system identifier 
PUBLIC "-//OASIS//DTD DITA Composite//EN"
      Delivered as file "ditabase.dtd"                             -->

<!-- The public ID above refers to the latest version of this DTD.
     To refer to this specific version, you may use this value:
PUBLIC "-//OASIS//DTD DITA 1.2 Composite//EN"                      -->
 
<!-- ============================================================= -->
<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
<!--                                                               -->
<!-- PURPOSE:    Base DTD holds all the information types          -->
<!--                                                               -->
<!-- ORIGINAL CREATION DATE:                                       -->
<!--             March 2001                                        -->
<!--                                                               -->
<!--             (C) Copyright OASIS Open 2005, 2009.              -->
<!--             (C) Copyright IBM Corporation 2001, 2004.         -->
<!--             All Rights Reserved.                              -->
<!--                                                               -->
<!--  UPDATES:                                                     -->
<!--    2005.11.15 RDA: Updated these comments to match template   -->
<!--    2006.06.07 RDA: Added indexing domain                      -->
<!--    2006.06.21 RDA: Added props attribute extensions           -->
<!--    2008.01.25 RDA: Added xml:lang, DITAArchVersion to <dita>  -->
<!--    2008.02.01 RDA: Added references to topic ENT files        -->
<!--    2008.02.12 RDA: Modify imbeds to use specific 1.2 version  -->
<!--    2008.04.15 RDA: Added hazard domain                        -->
<!--    2009.11.10 RDA: Added taskbody constraint                  -->
<!--    2009.11.10 RDA: Added glossgroup                           -->
<!-- ============================================================= -->


<!-- ============================================================= -->
<!--                    TOPIC ENTITY DECLARATIONS                  -->
<!-- ============================================================= -->

<!ENTITY % concept-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Concept//EN" 
         "concept.ent"
>%concept-dec;

<!ENTITY % glossentry-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Glossary Entry//EN" 
         "glossentry.ent"
>%glossentry-dec;

<!ENTITY % glossgroup-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Glossary Group//EN" 
         "glossgroup.ent"
>%glossgroup-dec;

<!ENTITY % reference-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Reference//EN" 
         "reference.ent"
>%reference-dec;

<!ENTITY % task-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Task//EN" 
         "task.ent"
>%task-dec;

<!-- ============================================================= -->
<!--                    DOMAIN ENTITY DECLARATIONS                 -->
<!-- ============================================================= -->


<!ENTITY % hi-d-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Highlight Domain//EN" 
         "../../base/dtd/highlightDomain.ent"
>%hi-d-dec;

<!ENTITY % ut-d-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Utilities Domain//EN" 
         "../../base/dtd/utilitiesDomain.ent"                                                
>%ut-d-dec;

<!ENTITY % indexing-d-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Indexing Domain//EN" 
         "../../base/dtd/indexingDomain.ent"                                                 
>%indexing-d-dec;

<!ENTITY % hazard-d-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Hazard Statement Domain//EN" 
         "../../base/dtd/hazardstatementDomain.ent"
>%hazard-d-dec;

<!ENTITY % abbrev-d-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Abbreviated Form Domain//EN" 
         "abbreviateDomain.ent"
>%abbrev-d-dec;

<!ENTITY % pr-d-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Programming Domain//EN" 
         "programmingDomain.ent"                                              
>%pr-d-dec;

<!ENTITY % sw-d-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Software Domain//EN" 
         "softwareDomain.ent"                                                 
>%sw-d-dec;

<!ENTITY % ui-d-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 User Interface Domain//EN" 
         "uiDomain.ent"                                                       
>%ui-d-dec;

<!-- ============================================================= -->
<!--                    DOMAIN ATTRIBUTE DECLARATIONS              -->
<!-- ============================================================= -->


<!-- ============================================================= -->
<!--                    DOMAIN EXTENSIONS                          -->
<!-- ============================================================= -->
<!--                    One for each extended base element, with
                        the name of the domain(s) in which the
                        extension was declared                     -->

<!ENTITY % pre          "pre |
                         %pr-d-pre; |
                         %sw-d-pre;|
                         %ui-d-pre;
                        ">
<!ENTITY % keyword      "keyword |
                         %pr-d-keyword; | 
                         %sw-d-keyword; |
                         %ui-d-keyword;
                        ">
<!ENTITY % ph           "ph | 
                         %hi-d-ph; | 
                         %pr-d-ph; | 
                         %sw-d-ph; | 
                         %ui-d-ph;
                        ">
<!ENTITY % term         "term | 
                         %abbrev-d-term;
                        ">
<!ENTITY % fig          "fig |
                         %pr-d-fig; |
                         %ut-d-fig;
                        ">
<!ENTITY % dl           "dl |
                         %pr-d-dl;
                        ">
<!ENTITY % index-base   "index-base | 
                         %indexing-d-index-base;
                        ">
<!ENTITY % note         "note | 
                         %hazard-d-note;
                        ">

<!-- ============================================================= -->
<!--                    DOMAIN ATTRIBUTE EXTENSIONS                -->
<!-- ============================================================= -->
<!ENTITY % props-attribute-extensions  ""                            >
<!ENTITY % base-attribute-extensions   ""                            >


<!-- ============================================================= -->
<!--                    TOPIC NESTING OVERRIDE                     -->
<!-- ============================================================= -->

<!--                    Redefine the infotype entity to exclude 
                        other topic types and disallow nesting     -->
<!ENTITY % glossentry-info-types 
                        "no-topic-nesting"                           >
<!ENTITY % info-types   "topic | concept | task | reference |
                         glossentry | glossgroup"                    >


<!-- ============================================================= -->
<!--                    LOCALLY DEFINED CONTAINMENT                -->
<!-- ============================================================= -->
<!--                    Define a containment for topics for editor 
                        support                                    -->

<!ELEMENT dita          (%info-types;)+                              >


<!-- ============================================================= -->
<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
<!-- ============================================================= -->
<!--                    Must be declared ahead of the DTDs, which
                        puts @domains first in order               -->

<!ENTITY included-domains 
                          "&concept-att;
                           &glossentry-att;
                           &glossgroup-att;
                           &reference-att;
                           &task-att;
                           &hi-d-att; 
                           &ut-d-att; 
                           &indexing-d-att;
                           &hazard-d-att;
                           &abbrev-d-att;
                           &pr-d-att; 
                           &sw-d-att;
                           &ui-d-att; 
                           &taskbody-constraints; 
  "
>

<!-- ============================================================= -->
<!--                    CONTENT CONSTRAINT INTEGRATION             -->
<!-- ============================================================= -->

<!ENTITY % strictTaskbody-c-def  
  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Strict Taskbody Constraint//EN" 
  "strictTaskbodyConstraint.mod">
%strictTaskbody-c-def;

<!-- ============================================================= -->
<!--                    TOPIC ELEMENT INTEGRATION                  -->
<!-- ============================================================= -->
<!--                    Embed topic to get generic elements        -->
<!ENTITY % topic-type   PUBLIC 
"-//OASIS//ELEMENTS DITA 1.2 Topic//EN" 
"../../base/dtd/topic.mod">
%topic-type;


<!--                    Embed concept to get specific elements     -->
<!ENTITY % concept-typemod 
                        PUBLIC 
"-//OASIS//ELEMENTS DITA 1.2 Concept//EN" 
"concept.mod">
%concept-typemod;

<!--                    Embed task to get specific elements        -->
<!ENTITY % task-typemod PUBLIC
 "-//OASIS//ELEMENTS DITA 1.2 Task//EN" 
"task.mod">
%task-typemod;

<!--                     Embed reference to get specific elements  -->
<!ENTITY % reference-typemod 
                         PUBLIC 
"-//OASIS//ELEMENTS DITA 1.2 Reference//EN" 
"reference.mod">
%reference-typemod;

<!--                    Embed glossary entry to get specific elements    -->
<!ENTITY % glossentry-typemod 
                        PUBLIC 
"-//OASIS//ELEMENTS DITA 1.2 Glossary Entry//EN" 
"glossentry.mod">
%glossentry-typemod;

<!ENTITY % glossgroup-typemod 
                        PUBLIC 
"-//OASIS//ELEMENTS DITA 1.2 Glossary Group//EN" 
"glossgroup.mod"                                                     >                                                     
%glossgroup-typemod;

<!-- ============================================================= -->
<!--                    DOMAIN ELEMENT INTEGRATION                 -->
<!-- ============================================================= -->


<!ENTITY % hi-d-def     
  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Highlight Domain//EN" 
         "../../base/dtd/highlightDomain.mod"
>%hi-d-def;

<!ENTITY % ut-d-def     
  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Utilities Domain//EN" 
         "../../base/dtd/utilitiesDomain.mod"
>%ut-d-def;

<!ENTITY % indexing-d-def     
  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Indexing Domain//EN" 
         "../../base/dtd/indexingDomain.mod"
>%indexing-d-def;

<!ENTITY % hazard-d-def     
  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Hazard Statement Domain//EN" 
         "../../base/dtd/hazardstatementDomain.mod"
>%hazard-d-def;

<!ENTITY % abbrev-d-def     
  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Abbreviated Form Domain//EN" 
         "abbreviateDomain.mod"
>%abbrev-d-def;

<!ENTITY % ui-d-def     
  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 User Interface Domain//EN" 
         "uiDomain.mod"
>%ui-d-def;

<!ENTITY % pr-d-def     
  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Programming Domain//EN" 
         "programmingDomain.mod"
>%pr-d-def;

<!ENTITY % sw-d-def     
  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Software Domain//EN" 
         "softwareDomain.mod"
>%sw-d-def;


<!-- ============================================================= -->
<!--                    SPECIALIZATION ATTRIBUTES                  -->
<!-- ============================================================= -->

<!ATTLIST dita
              %arch-atts;
              xml:lang   
                        NMTOKEN                            
                                  #IMPLIED
              %global-atts;
>


<!-- ================== End DITA Base DTD  ======================= -->