<!-- ============================================================= -->
<!--                                                               -->
<!--  (c) 2007 Justsystems Canada Inc. All Rights Reserved         -->
<!--                                                               -->
<!-- ============================================================= -->
<!--                    HEADER                                     -->
<!-- ============================================================= -->
<!--  MODULE:    DITA Component DTD                                -->
<!--  VERSION:   1.1                                               -->
<!--  DATE:      October 2006                                      -->
<!--                                                               -->
<!-- ============================================================= -->

<!-- ============================================================= -->
<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
<!--                    TYPICAL INVOCATION                         -->
<!--                                                               -->
<!--  Refer to this file by the following public identfier or an 
PUBLIC "-//XMETAL//DTD DITA Component//EN"
      Delivered as file "ditacomponent.dtd"                        -->

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


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

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

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

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

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

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


<!-- ============================================================= -->
<!--                    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      | %pr-d-ph;      | %sw-d-ph;      | 
                                    %hi-d-ph;     | %ui-d-ph;"       >
<!ENTITY % fig          "fig     | %pr-d-fig;     | %ut-d-fig;"      >
<!ENTITY % dl           "dl      | %pr-d-dl;"                        >
<!ENTITY % index-base   "index-base | %indexing-d-index-base;"       >


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

<!--                    Redefine the infotype entity to exclude 
                        other topic types and disallow nesting     -->
<!ENTITY % comp-info-types 
                        "component"                                  >


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

<!ENTITY included-domains 
                        "&ui-d-att; &hi-d-att; &pr-d-att; &sw-d-att;
                         &ut-d-att; &indexing-d-att;"                >


<!-- ============================================================= -->
<!--                    TOPIC ELEMENT INTEGRATION                  -->
<!-- ============================================================= -->

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

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

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

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

<!--                    Embed specialized to get specific elements -->
<!ENTITY % specialized-typemods
                        PUBLIC
"-//XMETAL//DTD DITA Component Specialized Typemods//EN"
"dcspecialized-typemods.ent"                                      >
 %specialized-typemods;

<!--                    Embed component to get specific elements   -->
<!ENTITY % component-typemod 
                        PUBLIC 
"-//XMETAL//ELEMENTS DITA Component//EN" 
"ditacomponent.mod"                                               >
 %component-typemod; 

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


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

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

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

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

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

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


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