<?xml version="1.0" encoding="UTF-8"?>
<!-- ============================================================= -->
<!--                    HEADER                                     -->
<!-- ============================================================= -->
<!--  MODULE:    DITA Learning Content 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 Learning Content//EN"
      Delivered as file "learningContent.dtd"                      -->

<!-- ============================================================= -->
<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
<!--                                                               -->
<!-- PURPOSE:    DTD to describe DITA learning Content topic       -->
<!--                                                               -->
<!-- ORIGINAL CREATION DATE:                                       -->
<!--             May 2007                                          -->
<!--                                                               -->
<!--             (C) Copyright OASIS Open 2007, 2009.              -->
<!--             All Rights Reserved.                              -->
<!--                                                               -->
<!--  UPDATES:                                                     -->
<!--    2007.05.01 JPH: Original creation                          -->
<!-- ============================================================= -->

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

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

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

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

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

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

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

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


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

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

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

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

<!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;

<!-- ============================================================= -->
<!--                    DOMAIN EXTENSIONS                          -->
<!-- ============================================================= -->
<!--                    One for each extended base element, with
                        the name of the domain(s) in which the
                        extension was declared                     -->
<!ENTITY % ph           "ph |
                         %hi-d-ph;
                        ">
<!ENTITY % fig          "fig |
                         %ut-d-fig; |
                         %learningInteractionBase-d-fig; |
                         %learning-d-fig;
                        ">
<!ENTITY % lcInteractionBase "lcInteractionBase |
                         %learning-d-lcInteractionBase;
                        ">                        
<!ENTITY % index-base   "index-base | 
                         %indexing-d-index-base;
                        ">
<!ENTITY % note         "note | 
                         %learning-d-note;
                        ">
<!ENTITY % metadata     "metadata |
                         %learningmeta-d-metadata;
                         ">


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

<!--                    Redefine the infotype entity to exclude 
                        other topic types and disallow nesting     -->
<!ENTITY % learningContent-info-types "((concept | task | reference | topic)*, (learningAssessment)?, (learningSummary)?)">

<!--Redefine the infotype entity to disallow nesting-->
<!ENTITY % concept-info-types "(no-topic-nesting)?">

<!--Redefine the infotype entity to disallow nesting-->
<!ENTITY % task-info-types "(no-topic-nesting)?">

<!--Redefine the infotype entity to disallow nesting-->
<!ENTITY % reference-info-types "(no-topic-nesting)?">

<!--Redefine the infotype entity to disallow nesting-->
<!ENTITY % topic-info-types "(no-topic-nesting)?">

<!--Redefine the infotype entity to disallow nesting-->
<!ENTITY % learningAssessment-info-types "(no-topic-nesting)?">

<!--Redefine the infotype entity to disallow nesting-->
<!ENTITY % learningSummary-info-types "(no-topic-nesting)?">

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

<!ENTITY included-domains 
                          "&hi-d-att; 
                           &ut-d-att; 
                           &indexing-d-att;
                           &concept-att; 
                           &reference-att; 
                           &task-att; 
                           &learningInteractionBase-d-att;
                           &learning-d-att;
                           &learningmeta-d-att; 
                           &learningBase-att;
                           &learningContent-att;
                           &learningSummary-att; 
                           &learningAssessment-att;
  "
>

<!-- ============================================================= -->
<!--                    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 learningBase to get specific elements -->
<!ENTITY % learningBase-typemod PUBLIC 
"-//OASIS//ELEMENTS DITA 1.2 Learning Base//EN" 
"learningBase.mod">
  %learningBase-typemod;

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

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

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

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

<!--Embed learningContent to get specific elements -->
<!ENTITY % learningContent-typemod
  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Learning Content//EN" "learningContent.mod">
  %learningContent-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 % learningInteractionBase-d-def
  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Learning Interaction Base Domain//EN" 
         "learningInteractionBaseDomain.mod">
  %learningInteractionBase-d-def;

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

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