<!-- ============================================================= -->
<!--                                                               -->
<!--  (c) 2014 Justsystems Canada Inc. All Rights Reserved         -->
<!--                                                               -->
<!-- ============================================================= -->
<!--                    HEADER                                     -->
<!-- ============================================================= -->
<!--  MODULE:    DITA Component DTD                                -->
<!--  VERSION:   1.3                                               -->
<!--  DATE:      September 2014                                    -->
<!--                                                               -->
<!-- ============================================================= -->

<!-- ============================================================= -->
<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
<!--                    TYPICAL INVOCATION                         -->
<!--                                                               -->
<!--  Refer to this file by the following public identfier
 
PUBLIC "-//XMETAL//DTD DITA Component//EN"

OR

PUBLIC "-//XMETAL//DTD DITA 1.3 Component//EN"

      Delivered as file "ditacomponent.dtd"                        -->

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

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

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

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

<!ENTITY % glossentry-dec
  SYSTEM "glossentry.ent"
>%glossentry-dec;

<!ENTITY % glossgroup-dec
  SYSTEM "glossgroup.ent"
>%glossgroup-dec;

<!ENTITY % troubleshooting-dec
  SYSTEM "troubleshooting.ent"
>%troubleshooting-dec;

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

<!ENTITY % equation-d-dec PUBLIC
"-//OASIS//ENTITIES DITA Equation Domain//EN"
"equationDomain.ent"                         >
%equation-d-dec;

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

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

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

<!ENTITY % learningBase-dec     
  PUBLIC "-//OASIS//ENTITIES DITA Learning Base//EN" 
         "learningBase.ent"
>%learningBase-dec;

<!ENTITY % learningOverview-dec
  SYSTEM "learningOverview.ent"
>%learningOverview-dec;

<!ENTITY % learningPlan-dec
  SYSTEM "learningPlan.ent"
>%learningPlan-dec;

<!ENTITY % learningContent-dec     
  PUBLIC "-//OASIS//ENTITIES DITA Learning Content//EN" 
         "learningContent.ent"
>%learningContent-dec;

<!ENTITY % learningAssesment-dec     
  PUBLIC "-//OASIS//ENTITIES DITA Learning Assessment//EN" 
         "learningAssessment.ent"
>%learningAssesment-dec;

<!ENTITY % learningSummary-dec     
  PUBLIC "-//OASIS//ENTITIES DITA Learning Summary//EN" 
         "learningSummary.ent"
>%learningSummary-dec;

<!ENTITY % learningInteractionBase-d-dec   PUBLIC 
"-//OASIS//ENTITIES DITA Learning Interaction Base Domain//EN" 
"learningInteractionBaseDomain.ent">
%learningInteractionBase-d-dec;

<!ENTITY % learningInteractionBase2-d-dec   PUBLIC 
"-//OASIS//ELEMENTS DITA Learning Interaction Base 2 Domain//EN" 
"learningInteractionBase2Domain.ent">
%learningInteractionBase2-d-dec;

<!ENTITY % learning-d-dec   PUBLIC 
"-//OASIS//ENTITIES DITA Learning Domain//EN" 
"learningDomain.ent">
%learning-d-dec;

<!ENTITY % learning2-d-dec   PUBLIC 
"-//OASIS//ENTITIES DITA Learning 2 Domain//EN" 
"learning2Domain.ent">
%learning2-d-dec;

<!ENTITY % learningmeta-d-dec   PUBLIC 
"-//OASIS//ENTITIES DITA Learning Metadata Domain//EN" 
"learningMetadataDomain.ent">
%learningmeta-d-dec;

<!ENTITY % markup-d-dec PUBLIC
"-//OASIS//ENTITIES DITA Markup Domain//EN"
"markupDomain.ent"                           >
%markup-d-dec;

<!ENTITY % mathml-d-dec PUBLIC
"-//OASIS//ENTITIES DITA MathML Domain//EN"
"mathmlDomain.ent"                           >
%mathml-d-dec;

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

<!ENTITY % relmgmt-d-dec PUBLIC
"-//OASIS//ENTITIES DITA Release Management Domain//EN"
"releaseManagementDomain.ent"                >
%relmgmt-d-dec;

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

<!ENTITY % svg-d-dec PUBLIC
"-//OASIS//ENTITIES DITA SVG Domain//EN"
"svgDomain.ent"                              >
%svg-d-dec;

<!ENTITY % taskreq-d-dec     PUBLIC 
"-//OASIS//ENTITIES DITA Task Requirements Domain//EN" 
"taskreqDomain.ent"                       >
%taskreq-d-dec;

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

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

<!--
<!ENTITY % vocabularyModule-dec     PUBLIC 
"-//OASIS//ENTITIES DITA Vocabulary Module Description//EN" 
"vocabulary.ent"                           >
%vocabularyModule-dec;
-->

<!ENTITY % xml-d-dec PUBLIC
"-//OASIS//ENTITIES DITA XML Domain//EN"
"xmlDomain.ent"                              >
%xml-d-dec;


<!-- ============================================================= -->
<!--             DOMAIN ATTRIBUTES DECLARATIONS                    -->
<!-- ============================================================= -->

<!ENTITY % deliveryTargetAtt-d-dec PUBLIC
"-//OASIS//ENTITIES DITA Delivery Target Domain//EN"
"deliveryTargetAttDomain.ent"                            >
%deliveryTargetAtt-d-dec;


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

<!ENTITY % note         "note |
                         %hazard-d-note; |
                         %learning-d-note; |
                         %learning2-d-note;
                        ">
<!ENTITY % ph           "ph |
                         %hi-d-ph; |
                         %equation-d-ph; |
                         %pr-d-ph; |
                         %sw-d-ph; |
                         %ui-d-ph;
                        ">
<!ENTITY % index-base   "index-base |
                         %indexing-d-index-base;
                        ">
<!ENTITY % fig          "fig |
                         %ut-d-fig; |
                         %equation-d-fig; |
                         %pr-d-fig; |
                         %learning-d-fig; |
                         %learningInteractionBase-d-fig;                         
                        ">
<!ENTITY % data         "data |
                         %ut-d-data;
                        ">
<!ENTITY % term         "term |
                         %abbrev-d-term;
                        ">
<!ENTITY % div          "div |
                         %equation-d-div; |
                         %learning2-d-div; |
                         %learningInteractionBase2-d-div;
                        ">
<!ENTITY % keyword      "keyword |
                         %markup-d-keyword; |
                         %pr-d-keyword; |
                         %sw-d-keyword; |
                         %ui-d-keyword; |
                         %xml-d-keyword;
                        ">
<!ENTITY % foreign      "foreign |
                         %mathml-d-foreign; |
                         %svg-d-foreign;
                        ">
<!ENTITY % pre          "pre |
                         %pr-d-pre; |
                         %sw-d-pre; |
                         %ui-d-pre;
                        ">
<!ENTITY % dl           "dl |
                         %pr-d-dl;
                        ">
<!ENTITY % metadata     "metadata |
                         %learningmeta-d-metadata; |
                         %relmgmt-d-metadata;
                        ">
<!ENTITY % lcInteractionBase "lcInteractionBase |
                         %learning-d-lcInteractionBase;
                        ">
<!ENTITY % lcInteractionBase2 "lcInteractionBase2 |
                         %learning2-d-lcInteractionBase2;
                        ">
<!ENTITY % prereq       "prereq |
                         %taskreq-d-prereq;
                        ">
<!ENTITY % postreq      "postreq |
                         %taskreq-d-postreq;
                        ">


<!-- ============================================================= -->
<!--                    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 
                          "&abbrev-d-att;
                           &concept-att;
                           &deliveryTargetAtt-d-att;
                           &equation-d-att;
                           &glossentry-att;
                           &glossgroup-att;
						   &hazard-d-att;
						   &hi-d-att;
						   &indexing-d-att;
                           &learningInteractionBase-d-att;
                           &learningInteractionBase2-d-att;
                           &learning-d-att;
                           &learning2-d-att;
                           &learningmeta-d-att; 
                           &learningAssessment-att;
                           &learningBase-att;
                           &learningContent-att;
                           &learningOverview-att;
                           &learningPlan-att;
                           &learningSummary-att;
						   &markup-d-att;
						   &mathml-d-att;
						   &pr-d-att;
                           &reference-att;
                           &relmgmt-d-att; 
                           &svg-d-att;
                           &sw-d-att;                            
                           &task-att; 
	                       &taskreq-d-att;
	                       &troubleshooting-att;
	                       &ui-d-att;
	                       &ut-d-att;
	                       &xml-d-att;
  "
>
<!--
	                       &vocabularyModule-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 troubleshooting to get specific elements  -->
<!ENTITY % troubleshooting-typemod PUBLIC 
"-//OASIS//ELEMENTS DITA Troubleshooting//EN" 
"troubleshooting.mod"                              >
 %troubleshooting-typemod;

<!--                    Embed vocabulary to get specific elements  -->
<!--
<!ENTITY % vocabularyModule-typemod PUBLIC 
"-//OASIS//ELEMENTS DITA Vocabulary Module Description//EN" 
"vocabulary.mod"                              >
 %vocabularyModule-typemod;
-->
<!--                    Embed glossaryEntry to get specific elements     -->
<!ENTITY % glossentry-typemod PUBLIC 
"-//OASIS//ELEMENTS DITA Glossary Entry//EN" 
"glossentry.mod"                                   >
 %glossentry-typemod;

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

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

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

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

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

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

<!--Embed learningPlan to get specific elements -->
<!ENTITY % learningPlan-typemod PUBLIC 
"-//OASIS//ELEMENTS DITA Learning Plan//EN" 
"learningPlan.mod">
%learningPlan-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 % hazard-d-def PUBLIC
"-//OASIS//ELEMENTS DITA Hazard Statement Domain//EN" 
"hazardstatementDomain.mod"                                 >
%hazard-d-def;

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

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

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

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

<!ENTITY % equation-d-def  PUBLIC
"-//OASIS//ELEMENTS DITA Equation Domain//EN" 
"equationDomain.mod"                            >
%equation-d-def;

<!ENTITY % markup-d-def  PUBLIC
"-//OASIS//ELEMENTS DITA Markup Domain//EN"
"markupDomain.mod"                           >
%markup-d-def;

<!ENTITY % mathml-d-def PUBLIC
"-//OASIS//ELEMENTS DITA MathML Domain//EN"
"mathmlDomain.mod"                           >
%mathml-d-def;

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

<!ENTITY % relmgmt-d-def PUBLIC
"-//OASIS//ELEMENTS DITA Release Management Domain//EN"
"releaseManagementDomain.mod"                         >
%relmgmt-d-def;

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

<!ENTITY % svg-d-def  PUBLIC
"-//OASIS//ELEMENTS DITA SVG Domain//EN"
"svgDomain.mod"                           >
%svg-d-def;

<!ENTITY % taskreq-d-def  PUBLIC
"-//OASIS//ELEMENTS DITA Task Requirements Domain//EN" 
"taskreqDomain.mod"                          >
%taskreq-d-def;

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

<!ENTITY % xml-d-def  PUBLIC
"-//OASIS//ELEMENTS DITA XML Domain//EN" 
"xmlDomain.mod"                          >
%xml-d-def;

<!ENTITY % learningInteractionBase-d-def  PUBLIC 
"-//OASIS//ELEMENTS DITA Learning Interaction Base Domain//EN" 
"learningInteractionBaseDomain.mod">
%learningInteractionBase-d-def;

<!ENTITY % learningInteractionBase2-d-def  PUBLIC 
"-//OASIS//ELEMENTS DITA Learning Interaction Base 2 Domain//EN" 
"learningInteractionBase2Domain.mod">
%learningInteractionBase2-d-def;

<!ENTITY % learning-d-def  PUBLIC 
"-//OASIS//ELEMENTS DITA Learning Domain//EN" 
"learningDomain.mod">
%learning-d-def;

<!ENTITY % learning2-d-def  PUBLIC 
"-//OASIS//ELEMENTS DITA Learning 2 Domain//EN" 
"learning2Domain.mod">
%learning2-d-def;

<!ENTITY % learningmeta-d-def  PUBLIC 
"-//OASIS//ELEMENTS DITA Learning Metadata Domain//EN" 
"learningMetadataDomain.mod">
%learningmeta-d-def;



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