diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/build.properties b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/build.properties
index e34b724..e6870c0 100644
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/build.properties
+++ b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/build.properties
@@ -3,6 +3,5 @@
                plugin.properties,\
                META-INF/,\
                css/,\
-               dita11/,\
-               dita12/
+               dita11/
 source.. = src_does_not_exist/
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/basemap.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/basemap.dtd
deleted file mode 100644
index 1de74fa..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/basemap.dtd
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Base MAP DTD (only base domains)             -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      April 2010                                        -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                        TYPICAL INVOCATION                     -->
-<!--                                                               -->
-<!-- Refer to this file by the following public identifier or an
-     appropriate system identifier:
-PUBLIC "-//OASIS//DTD DITA Base Map//EN"
-     Delivered as file "basemap.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 Base Map//EN"                       -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITA maps                         -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             April 2010                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2010                     -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2010.09.20 RDA: Add topic-based domains                    -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    MAP ENTITY DECLARATIONS                    -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATIONS                 -->
-<!-- ============================================================= -->
-
-
-<!ENTITY % mapgroup-d-dec 
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Map Group Domain//EN" 
-         "mapGroup.ent"                                                       
->%mapgroup-d-dec;
-
-<!ENTITY % indexing-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Indexing Domain//EN" 
-         "indexingDomain.ent"                                                 
->%indexing-d-dec;
-
-<!ENTITY % delay-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Delayed Resolution Domain//EN" 
-         "delayResolutionDomain.ent"                                                       
->%delay-d-dec;
-
-<!ENTITY % hi-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Highlight Domain//EN" 
-         "highlightDomain.ent"
->%hi-d-dec;
-
-<!ENTITY % ut-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Utilities Domain//EN" 
-         "utilitiesDomain.ent"                                                
->%ut-d-dec;
-
-<!ENTITY % hazard-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Hazard Statement Domain//EN" 
-         "hazardstatementDomain.ent"
->%hazard-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 % keywords     "keywords | 
-                         %delay-d-keywords;
-                        ">
-<!ENTITY % topicref     "topicref | 
-                         %mapgroup-d-topicref;
-                        ">
-<!ENTITY % index-base   "index-base | 
-                         %indexing-d-index-base;
-                        ">
-<!ENTITY % ph           "ph | 
-                         %hi-d-ph;
-                        ">
-<!ENTITY % fig          "fig |
-                         %ut-d-fig;
-                        ">
-<!ENTITY % note         "note | 
-                         %hazard-d-note;
-                        ">
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ATTRIBUTE EXTENSIONS                -->
-<!-- ============================================================= -->
-<!ENTITY % props-attribute-extensions  
-  ""
->
-<!ENTITY % base-attribute-extensions   
-  ""
->
-
-<!-- ============================================================= -->
-<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
-<!-- ============================================================= -->
-<!--                    Must be declared ahead of the DTDs, which
-                        puts @domains first in order               -->
-
-<!ENTITY included-domains 
-                        "&delay-d-att;
-                         &mapgroup-d-att; 
-                         &indexing-d-att;
-                         &hi-d-att; 
-                         &ut-d-att; 
-                         &hazard-d-att;">
-
-<!-- ============================================================= -->
-<!--                    MAP ELEMENT INTEGRATION                    -->
-<!-- ============================================================= -->
-
-
-<!--                    Embed map to get generic elements          -->
-<!--    2005.11.15 RDA: Corrected public ID for map.mod. It was    -->
-<!--             "-//OASIS//Elements DITA Map Group Domain//EN"    -->
-<!ENTITY % map-type     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Map//EN" 
-         "map.mod"                                                            
->%map-type;
-
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ELEMENT INTEGRATION                 -->
-<!-- ============================================================= -->
-
-
-<!ENTITY % mapgroup-d-def  
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Map Group Domain//EN" 
-         "mapGroup.mod"                                                       
->%mapgroup-d-def;
-
-<!ENTITY % indexing-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Indexing Domain//EN" 
-         "indexingDomain.mod"                                                 
->%indexing-d-def;
-
-<!ENTITY % delay-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Delayed Resolution Domain//EN" 
-         "delayResolutionDomain.mod"
->%delay-d-def;
-
-<!ENTITY % hi-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Highlight Domain//EN" 
-         "highlightDomain.mod"
->%hi-d-def;
-
-<!ENTITY % ut-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Utilities Domain//EN" 
-         "utilitiesDomain.mod"
->%ut-d-def;
-
-<!ENTITY % hazard-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Hazard Statement Domain//EN" 
-         "hazardstatementDomain.mod"
->%hazard-d-def;
-
-<!-- ================== End DITA Map DTD  ======================== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/basetopic.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/basetopic.dtd
deleted file mode 100644
index ec252f5..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/basetopic.dtd
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Topic Base DTD (only base domains)           -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      April 2010                                        -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identifier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//DTD DITA Base Topic//EN"
-      Delivered as file "basetopic.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 Base Topic//EN"                     -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe Base DITA Topics                  -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             April 2010                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2010.                    -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    TOPIC ENTITY DECLARATIONS                  -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATIONS                 -->
-<!-- ============================================================= -->
-
-
-<!ENTITY % hi-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Highlight Domain//EN" 
-         "highlightDomain.ent"
->%hi-d-dec;
-
-<!ENTITY % ut-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Utilities Domain//EN" 
-         "utilitiesDomain.ent"                                                
->%ut-d-dec;
-
-<!ENTITY % indexing-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Indexing Domain//EN" 
-         "indexingDomain.ent"                                                 
->%indexing-d-dec;
-
-<!ENTITY % hazard-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Hazard Statement Domain//EN" 
-         "hazardstatementDomain.ent"
->%hazard-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 % ph           "ph | 
-                         %hi-d-ph;
-                        ">
-<!ENTITY % fig          "fig |
-                         %ut-d-fig;
-                        ">
-<!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 % topic-info-types 
-  "topic
-  "
->
-
-
-<!-- ============================================================= -->
-<!--                    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;
-                           &hazard-d-att;
-  "
->
-
-
-<!-- ============================================================= -->
-<!--                    TOPIC ELEMENT INTEGRATION                  -->
-<!-- ============================================================= -->
-
-<!--                    Embed topic to get generic elements        -->
-<!ENTITY % topic-type   
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Topic//EN" 
-         "topic.mod"
->
-%topic-type;
-
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ELEMENT INTEGRATION                 -->
-<!-- ============================================================= -->
-
-<!ENTITY % hi-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Highlight Domain//EN" 
-         "highlightDomain.mod"
->%hi-d-def;
-
-<!ENTITY % ut-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Utilities Domain//EN" 
-         "utilitiesDomain.mod"
->%ut-d-def;
-
-<!ENTITY % indexing-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Indexing Domain//EN" 
-         "indexingDomain.mod"
->%indexing-d-def;
-
-<!ENTITY % hazard-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Hazard Statement Domain//EN" 
-         "hazardstatementDomain.mod"
->%hazard-d-def;
-
-<!-- ================== End DITA Topic DTD  ====================== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/commonElements.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/commonElements.ent
deleted file mode 100644
index 9710b0f..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/commonElements.ent
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Common Element Entities                      -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identifier or an 
-PUBLIC"-//OASIS//ENTITIES DITA Common Elements//EN"
-      Delivered as file "commonElements.ent"                       -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the definitions for elements used in    -->
-<!--             both maps and topics                              -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             June 2006                                         -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2005, 2009.              -->
-<!--             (C) Copyright IBM Corporation 2001, 2004.         -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2008.01.28 RDA: Copied %metadata; defn. from topic.mod     -->
-<!--    2008.02.12 RDA: Added %text; entity                        -->
-<!--    2008.02.12 RDA: Added %longdescref; entity                 -->
-<!--    2008.02.12 RDA: Move %navtitle; defn from topic.mod        -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT NAME ENTITIES                      -->
-<!-- ============================================================= -->
-
-<!--                    Elements in commonElements.mod             -->
-<!ENTITY % alt          "alt"                                        >
-<!ENTITY % boolean      "boolean"                                    >
-<!ENTITY % cite         "cite"                                       >
-<!ENTITY % data         "data"                                       >
-<!ENTITY % data-about   "data-about"                                 >
-<!ENTITY % dd           "dd"                                         >
-<!ENTITY % ddhd         "ddhd"                                       >
-<!ENTITY % desc         "desc"                                       >
-<!ENTITY % dl           "dl"                                         >
-<!ENTITY % dlentry      "dlentry"                                    >
-<!ENTITY % dlhead       "dlhead"                                     >
-<!ENTITY % draft-comment 
-                        "draft-comment"                              >
-<!ENTITY % dt           "dt"                                         >
-<!ENTITY % dthd         "dthd"                                       >
-<!ENTITY % fig          "fig"                                        >
-<!ENTITY % figgroup     "figgroup"                                   >
-<!ENTITY % fn           "fn"                                         >
-<!ENTITY % foreign      "foreign"                                    >
-<!ENTITY % image        "image"                                      >
-<!ENTITY % indexterm    "indexterm"                                  >
-<!ENTITY % index-base   "index-base"                                 >
-<!ENTITY % indextermref "indextermref"                               >
-<!ENTITY % itemgroup    "itemgroup"                                  >
-<!ENTITY % keyword      "keyword"                                    >
-<!ENTITY % li           "li"                                         >
-<!ENTITY % lines        "lines"                                      >
-<!ENTITY % longdescref  "longdescref"                                >
-<!ENTITY % longquoteref "longquoteref"                               >
-<!ENTITY % lq           "lq"                                         >
-<!ENTITY % navtitle     "navtitle"                                   >
-<!ENTITY % note         "note"                                       >
-<!ENTITY % object       "object"                                     >
-<!ENTITY % ol           "ol"                                         >
-<!ENTITY % p            "p"                                          > 
-<!ENTITY % param        "param"                                      >
-<!ENTITY % ph           "ph"                                         >
-<!ENTITY % pre          "pre"                                        >
-<!ENTITY % q            "q"                                          >
-<!ENTITY % required-cleanup     
-                        "required-cleanup"                           >
-<!ENTITY % sl           "sl"                                         > 
-<!ENTITY % sli          "sli"                                        >
-<!ENTITY % simpletable  "simpletable"                                >
-<!ENTITY % state        "state"                                      >
-<!ENTITY % stentry      "stentry"                                    >
-<!ENTITY % sthead       "sthead"                                     >
-<!ENTITY % strow        "strow"                                      >
-<!ENTITY % term         "term"                                       >
-<!ENTITY % text         "text"                                       >
-<!ENTITY % title        "title"                                      >
-<!ENTITY % tm           "tm"                                         >
-<!ENTITY % ul           "ul"                                         >
-<!ENTITY % unknown      "unknown"                                    >
-<!ENTITY % xref         "xref"                                       >
-
-<!--                    Elements in tblDecl.mod                    -->
-<!ENTITY % table        "table"                                      >
-<!ENTITY % colspec      "colspec"                                    >
-<!ENTITY % entry        "entry"                                      >
-<!ENTITY % row          "row"                                        >
-<!ENTITY % tbody        "tbody"                                      >
-<!ENTITY % tgroup       "tgroup"                                     >
-<!ENTITY % thead        "thead"                                      >
-
-<!--                    Elements in metaDecl.mod                   -->
-<!ENTITY % audience     "audience"                                   >
-<!ENTITY % author       "author"                                     >
-<!ENTITY % brand        "brand"                                      >
-<!ENTITY % category     "category"                                   >
-<!ENTITY % component    "component"                                  >
-<!ENTITY % copyrholder  "copyrholder"                                >
-<!ENTITY % copyright    "copyright"                                  >
-<!ENTITY % copyryear    "copyryear"                                  >
-<!ENTITY % created      "created"                                    >
-<!ENTITY % critdates    "critdates"                                  >
-<!ENTITY % featnum      "featnum"                                    >
-<!ENTITY % keywords     "keywords"                                   >
-<!ENTITY % metadata     "metadata"                                   >
-<!ENTITY % othermeta    "othermeta"                                  >
-<!ENTITY % permissions  "permissions"                                >
-<!ENTITY % platform     "platform"                                   >
-<!ENTITY % prodinfo     "prodinfo"                                   >
-<!ENTITY % prodname     "prodname"                                   >
-<!ENTITY % prognum      "prognum"                                    >
-<!ENTITY % publisher    "publisher"                                  >
-<!ENTITY % resourceid   "resourceid"                                 >
-<!ENTITY % revised      "revised"                                    >
-<!ENTITY % series       "series"                                     >
-<!ENTITY % source       "source"                                     >
-<!ENTITY % vrm          "vrm"                                        >
-<!ENTITY % vrmlist      "vrmlist"                                    >
-
-<!-- ================== End Common Element Entities ============== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/commonElements.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/commonElements.mod
deleted file mode 100644
index 0cf177d..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/commonElements.mod
+++ /dev/null
@@ -1,1896 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Common Elements                              -->
-<!--  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//ELEMENTS DITA Common Elements//EN"
-      Delivered as file "commonElements.mod"                       -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for content elements used in both      -->
-<!--             topics and maps.                                  -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             June 2006                                         -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2005, 2009.              -->
-<!--             (C) Copyright IBM Corporation 2001, 2004.         -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2006.06.06 RDA: Add data element                           -->
-<!--    2006.06.07 RDA: Add @scale to image                        -->
-<!--    2006.06.07 RDA: Add index-base element                     -->
-<!--    2006.06.07 RDA: Make universal attributes universal        -->
-<!--                      (DITA 1.1 proposal #12)                  -->
-<!--    2006.06.07 RDA: Add unknown element                        -->
-<!--    2006.06.14 RDA: Add dir attribute to localization-atts     -->
-<!--    2006.11.30 RDA: Add -dita-use-conref-target to enumerated  -->
-<!--                      attributes                               -->
-<!--    2007.12.01 EK:  Reformatted DTD modules for DITA 1.2       -->
-<!--    2008.01.28 RDA: Add draft-comment to shortdesc             -->
-<!--    2008.01.28 RDA: Remove enumeration for @disposition on     -->
-<!--                    draft-comment                              -->
-<!--    2008.01.29 RDA: Extend content of figgroup                 -->
-<!--    2008.01.30 RDA: Add %conref-atts; and @conaction           -->
-<!--    2008.02.01 RDA: Added keyref to data, data-about           -->
-<!--                    Added conkeyref attr to conref attr entity -->
-<!--    2008.02.12 RDA: Added text element, added to keyword, tm,  -->
-<!--                    term, ph. Added ph to alt.                 -->
-<!--    2008.02.12 RDA: Added longdescref; add to image, object    -->
-<!--    2008.02.12 RDA: Modify imbeds to use specific 1.2 version  -->
-<!--    2008.02.12 RDA: Move navtitle decl. here from topic.mod    -->
-<!--    2008.02.13 RDA: Create .content and .attributes entities   -->
-<!--    2008.11.10 RDA: Make href optional on image                -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT NAME ENTITIES                      -->
-<!-- ============================================================= -->
-
-<!ENTITY % commonDefns 
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Common Elements//EN" 
-         "commonElements.ent" 
->%commonDefns;
-
-<!-- ============================================================= -->
-<!--                    COMMON ELEMENT SETS                        -->
-<!-- ============================================================= -->
-
-
-<!--                   Phrase/inline elements of various classes   -->
-<!ENTITY % basic.ph 
-  "%boolean; | 
-   %cite; | 
-   %keyword; | 
-   %ph; | 
-   %q; |
-   %term; | 
-   %tm; | 
-   %xref; | 
-   %state;
-  "
->
-
-<!--                   Elements common to most body-like contexts  -->
-<!ENTITY % basic.block 
-  "%dl; | 
-   %fig; | 
-   %image; | 
-   %lines; | 
-   %lq; | 
-   %note; | 
-   %object; | 
-   %ol;| 
-   %p; | 
-   %pre; | 
-   %simpletable; | 
-   %sl; | 
-   %table; | 
-   %ul;
-  "
->
-
-<!-- class groupings to preserve in a schema -->
-
-<!ENTITY % basic.phandblock 
-  "%basic.block; | 
-   %basic.ph;
-  " 
->
-
-
-<!-- Exclusions: models modified by removing excluded content      -->
-<!ENTITY % basic.ph.noxref
-  "%boolean; | 
-   %keyword; | 
-   %ph; | 
-   %q; |
-   %term; | 
-   %tm; | 
-   %state;
-  "
->
-<!ENTITY % basic.ph.notm
-  "%boolean; | 
-   %cite; | 
-   %keyword; | 
-   %ph; | 
-   %q; |
-   %term; | 
-   %xref; | 
-   %state;
-  "
->
-
-
-<!ENTITY % basic.block.notbl
-  "%dl; | 
-   %fig; | 
-   %image; | 
-   %lines; | 
-   %lq; | 
-   %note; | 
-   %object; | 
-   %ol;| 
-   %p; | 
-   %pre; | 
-   %sl; | 
-   %ul;
-  "
->
-<!ENTITY % basic.block.nonote
-  "%dl; | 
-   %fig; | 
-   %image; | 
-   %lines; | 
-   %lq; | 
-   %object; | 
-   %ol;| 
-   %p; | 
-   %pre; | 
-   %simpletable; | 
-   %sl; | 
-   %table; | 
-   %ul;
-  "
->
-<!ENTITY % basic.block.nopara
-  "%dl; | 
-   %fig; | 
-   %image; | 
-   %lines; | 
-   %lq; | 
-   %note; | 
-   %object; | 
-   %ol;| 
-   %pre; | 
-   %simpletable; | 
-   %sl; | 
-   %table; | 
-   %ul;
-  "
->
-<!ENTITY % basic.block.nolq
-  "%dl; | 
-   %fig; | 
-   %image; | 
-   %lines; | 
-   %note; | 
-   %object; | 
-   %ol;| 
-   %p; | 
-   %pre; | 
-   %simpletable; | 
-   %sl; | 
-   %table; | 
-   %ul;
-  "
->
-<!ENTITY % basic.block.notbnofg
-  "%dl; | 
-   %image; | 
-   %lines; | 
-   %lq; | 
-   %note; | 
-   %object; | 
-   %ol;| 
-   %p; | 
-   %pre; | 
-   %sl; | 
-   %ul;
-  "
->
-<!ENTITY % basic.block.notbfgobj
-  "%dl; | 
-   %image; | 
-   %lines; | 
-   %lq; | 
-   %note; | 
-   %ol;| 
-   %p; | 
-   %pre; | 
-   %sl; | 
-   %ul;
-  "
->
-
-
-<!-- Inclusions: defined sets that can be added into appropriate models -->
-<!ENTITY % txt.incl 
-  "%draft-comment; |
-   %fn; |
-   %indextermref; |
-   %indexterm; |
-   %required-cleanup;
-  ">
-
-<!-- Metadata elements intended for specialization -->
-<!ENTITY % data.elements.incl 
-  "%data; |
-   %data-about;
-  "
->
-<!ENTITY % foreign.unknown.incl 
-  "%foreign; | 
-   %unknown;
-  " 
->
-
-<!-- Predefined content model groups, based on the previous, element-only categories: -->
-<!-- txt.incl is appropriate for any mixed content definitions (those that have PCDATA) -->
-<!-- the context for blocks is implicitly an InfoMaster "containing_division" -->
-<!ENTITY % listitem.cnt 
-  "#PCDATA | 
-   %basic.block; |
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %itemgroup; | 
-   %txt.incl;
-  "
->
-<!ENTITY % itemgroup.cnt 
-  "#PCDATA | 
-   %basic.block; | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %txt.incl;
-  "
->
-<!ENTITY % title.cnt 
-  "#PCDATA | 
-   %basic.ph.noxref; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %image;
-  "
->
-<!ENTITY % xreftext.cnt 
-  "#PCDATA | 
-   %basic.ph.noxref; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %image;
-  "
->
-<!ENTITY % xrefph.cnt 
-  "#PCDATA | 
-   %basic.ph.noxref; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl;
-  "
->
-<!ENTITY % shortquote.cnt 
-  "#PCDATA | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl;
-  "
->
-<!ENTITY % para.cnt 
-  "#PCDATA | 
-   %basic.block.nopara; | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %txt.incl;
-  "
->
-<!ENTITY % note.cnt 
-  "#PCDATA | 
-   %basic.block.nonote; | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %txt.incl;
-  "
->
-<!ENTITY % longquote.cnt 
-  "#PCDATA | 
-   %basic.block.nolq; | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; |
-   %longquoteref; | 
-   %txt.incl; 
-  ">
-<!ENTITY % tblcell.cnt 
-  "#PCDATA | 
-   %basic.block.notbl; | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %txt.incl;
-  "
->
-<!ENTITY % desc.cnt 
-  "#PCDATA | 
-   %basic.block.notbfgobj; | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl;
-  "
->
-<!ENTITY % ph.cnt 
-  "#PCDATA | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %image; | 
-   %txt.incl;
-  "
->
-<!ENTITY % fn.cnt 
-  "#PCDATA | 
-   %basic.block.notbl; | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl;
-  "
->
-<!ENTITY % term.cnt 
-  "#PCDATA | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %image;
-  "
->
-<!ENTITY % defn.cnt 
-  "#PCDATA | 
-   %basic.block; |
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %itemgroup; | 
-   %txt.incl;
-  "
->
-<!ENTITY % pre.cnt 
-  "#PCDATA | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %txt.incl;
-  "
->
-<!ENTITY % fig.cnt 
-  "%basic.block.notbnofg; | 
-   %data.elements.incl; | 
-   %fn;| 
-   %foreign.unknown.incl; | 
-   %simpletable; | 
-   %xref;
-  "
->
-<!ENTITY % figgroup.cnt 
-  "%basic.block.notbnofg; | 
-   %basic.ph; |
-   %data.elements.incl; | 
-   %fn; |
-   %foreign.unknown.incl; 
-  "
->
-<!ENTITY % words.cnt 
-  "#PCDATA | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %keyword; | 
-   %term;
-  "
->
-<!ENTITY % data.cnt 
-  "%words.cnt; |
-   %image; |
-   %object; |
-   %ph; |
-   %title;
-  "
->
-
-<!-- ============================================================= -->
-<!--                    COMMON ATTLIST SETS                        -->
-<!-- ============================================================= -->
-
-<!-- Copied into metaDecl.mod -->
-<!--<!ENTITY % date-format 'CDATA'                                       >-->
-
-<!ENTITY % display-atts 
-             'scale 
-                        (50 |
-                         60 |
-                         70 |
-                         80 |
-                         90 |
-                         100 |
-                         110 |
-                         120 |
-                         140 |
-                         160 |
-                         180 |
-                         200 |
-                        -dita-use-conref-target) 
-                                  #IMPLIED
-              frame 
-                        (all |
-                         bottom |
-                         none | 
-                         sides | 
-                         top | 
-                         topbot | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              expanse 
-                        (column | 
-                         page |
-                         spread | 
-                         textline | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED' 
->
-
-<!-- Provide a default of no attribute extensions -->
-<!ENTITY % props-attribute-extensions 
-  ""
->
-<!ENTITY % base-attribute-extensions 
-  ""
->
-
-<!ENTITY % filter-atts
-             'props 
-                         CDATA 
-                                   #IMPLIED
-              platform 
-                         CDATA 
-                                   #IMPLIED
-              product 
-                         CDATA 
-                                   #IMPLIED
-              audience 
-                         CDATA 
-                                   #IMPLIED
-              otherprops 
-                         CDATA 
-                                   #IMPLIED
-              %props-attribute-extensions; 
-  ' 
->
-
-<!ENTITY % select-atts 
-             '%filter-atts;
-              base 
-                         CDATA 
-                                  #IMPLIED
-              %base-attribute-extensions;
-              importance 
-                        (default | 
-                         deprecated | 
-                         high | 
-                         low | 
-                         normal | 
-                         obsolete | 
-                         optional | 
-                         recommended | 
-                         required | 
-                         urgent | 
-                         -dita-use-conref-target ) 
-                                  #IMPLIED
-              rev 
-                        CDATA 
-                                  #IMPLIED
-              status 
-                        (changed | 
-                         deleted | 
-                         new | 
-                         unchanged | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED' 
->
-
-<!ENTITY % conref-atts 
-             'conref 
-                        CDATA 
-                                  #IMPLIED
-              conrefend
-                        CDATA
-                                  #IMPLIED
-              conaction
-                        (mark |
-                         pushafter |
-                         pushbefore |
-                         pushreplace |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              conkeyref
-                        CDATA
-                                  #IMPLIED' 
->
-
-<!ENTITY % id-atts 
-             'id 
-                        NMTOKEN 
-                                  #IMPLIED
-              %conref-atts;' 
->
-
-<!-- Attributes related to localization that are used everywhere   -->
-<!ENTITY % localization-atts 
-             'translate 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              xml:lang 
-                        CDATA 
-                                  #IMPLIED
-              dir 
-                        (lro | 
-                         ltr | 
-                         rlo | 
-                         rtl | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED' 
->
-<!-- The following entity should be used when defaulting a new
-     element to translate="no", so that other (or new) localization
-     attributes will always be included.   -->
-<!ENTITY % localization-atts-translate-no 
-             'translate 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  "no"
-              xml:lang 
-                        CDATA 
-                                  #IMPLIED
-              dir 
-                        (lro | 
-                         ltr | 
-                         rlo | 
-                         rtl | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED' 
->
- 
-<!ENTITY % univ-atts 
-             '%id-atts;
-              %select-atts;
-              %localization-atts;' 
->
-<!ENTITY % univ-atts-translate-no 
-             '%id-atts;
-              %select-atts;
-              %localization-atts-translate-no;' 
->
-
-<!ENTITY % global-atts 
-             'xtrc 
-                        CDATA 
-                                  #IMPLIED
-              xtrf 
-                        CDATA 
-                                  #IMPLIED'
->
- 
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS                       -->
-<!-- ============================================================= -->
-
-<!--                    LONG NAME: Data About                      -->
-<!ENTITY % data-about.content
-                       "((%data;), 
-                         (%data;|
-                          %data-about;)*)
-">
-<!ENTITY % data-about.attributes
-             "%univ-atts;
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                       (external | 
-                        local | 
-                        peer | 
-                        -dita-use-conref-target) 
-                                  #IMPLIED
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT data-about    %data-about.content;>
-<!ATTLIST data-about    %data-about.attributes;>
-
-
-<!ENTITY % data-element-atts
-             '%univ-atts;
-              name 
-                        CDATA 
-                                  #IMPLIED
-              datatype 
-                        CDATA 
-                                  #IMPLIED
-              value 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              outputclass
-                        CDATA 
-                                  #IMPLIED' 
->
- 
-<!--                    LONG NAME: Data element                    -->
-<!ENTITY % data.content
-                       "(%data.cnt;)*
-">
-<!ENTITY % data.attributes
-             "%data-element-atts;"
->
-<!ELEMENT data    %data.content;>
-<!ATTLIST data    %data.attributes;>
-
-
-<!--                    LONG NAME: Unknown element                 -->
-<!ENTITY % unknown.content
-                       "ANY"
->
-<!ENTITY % unknown.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT unknown    %unknown.content;>
-<!ATTLIST unknown    %unknown.attributes;>
-
- 
-<!--                    LONG NAME: Foreign content element         -->
-<!ENTITY % foreign.content
-                       "ANY
-">
-<!ENTITY % foreign.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT foreign    %foreign.content;>
-<!ATTLIST foreign    %foreign.attributes;>
-
-
-<!--                    LONG NAME: Title                           -->
-<!--                    This is referenced inside CALS table       -->
-<!ENTITY % title.content
-                       "(%title.cnt;)*"
->
-<!ENTITY % title.attributes
-             "%id-atts;
-              %localization-atts;
-              base 
-                        CDATA 
-                                  #IMPLIED
-              %base-attribute-extensions;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT title    %title.content;>
-<!ATTLIST title    %title.attributes;>
-
-
-<!--                    LONG NAME: Navigation Title                -->
-<!ENTITY % navtitle.content
-                       "(%words.cnt; |
-                         %ph;)*"
->
-<!ENTITY % navtitle.attributes
-             "%univ-atts;"
->
-<!ELEMENT navtitle    %navtitle.content;>
-<!ATTLIST navtitle    %navtitle.attributes;>
-
-
-<!--                    LONG NAME: Short Description               -->
-<!ENTITY % shortdesc.content
-                       "(%title.cnt; |
-                         %draft-comment;)*"
->
-<!ENTITY % shortdesc.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT shortdesc    %shortdesc.content;>
-<!ATTLIST shortdesc    %shortdesc.attributes;>
-
-
-<!--                    LONG NAME: Description                     -->
-<!--                    Desc is used in context with figure and 
-                        table titles and also for content models 
-                        within linkgroup and object (for 
-                        accessibility)                             -->
-<!ENTITY % desc.content
-                       "(%desc.cnt;)*"
->
-<!ENTITY % desc.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT desc    %desc.content;>
-<!ATTLIST desc    %desc.attributes;>
-
-
-
-<!-- ============================================================= -->
-<!--                    BASIC DOCUMENT ELEMENT DECLARATIONS        -->
-<!--                    (rich text)                                -->
-<!-- ============================================================= -->
-
-<!--                    LONG NAME: Paragraph                       -->
-<!ENTITY % p.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % p.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT p    %p.content;>
-<!ATTLIST p    %p.attributes;>
-
-
-
-<!--                    LONG NAME: Note                            -->
-<!ENTITY % note.content
-                       "(%note.cnt;)*"
->
-<!ENTITY % note.attributes
-             "type 
-                        (attention|
-                         caution | 
-                         danger | 
-                         fastpath | 
-                         important | 
-                         note |
-                         notice |
-                         other | 
-                         remember | 
-                         restriction |
-                         tip |
-                         warning |
-                         -dita-use-conref-target) 
-                                  #IMPLIED 
-              spectitle 
-                        CDATA 
-                                  #IMPLIED
-              othertype 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT note    %note.content;>
-<!ATTLIST note    %note.attributes;>
-
-
-<!--                    LONG NAME: Long quote reference            -->
-<!ENTITY % longquoteref.content
-                       "EMPTY"
->
-<!ENTITY % longquoteref.attributes
-             "href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT longquoteref    %longquoteref.content;>
-<!ATTLIST longquoteref    %longquoteref.attributes;>
-
-<!--                    LONG NAME: Long Quote (Excerpt)            -->
-<!ENTITY % lq.content
-                       "(%longquote.cnt;)*"
->
-<!ENTITY % lq.attributes
-             "href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                       (external | 
-                        local | 
-                        peer | 
-                        -dita-use-conref-target) 
-                                  #IMPLIED
-              reftitle 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT lq    %lq.content;>
-<!ATTLIST lq    %lq.attributes;>
-
-
-
-<!--                    LONG NAME: Quoted text                     -->
-<!ENTITY % q.content
-                       "(%shortquote.cnt;)*"
->
-<!ENTITY % q.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT q    %q.content;>
-<!ATTLIST q    %q.attributes;>
-
-
-
-<!--                    LONG NAME: Simple List                     -->
-<!ENTITY % sl.content
-                       "(%sli;)+"
->
-<!ENTITY % sl.attributes
-             "compact 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              spectitle 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT sl    %sl.content;>
-<!ATTLIST sl    %sl.attributes;>
-
-
-
-<!--                    LONG NAME: Simple List Item                -->
-<!ENTITY % sli.content
-                       "(%ph.cnt;)*"
->
-<!ENTITY % sli.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT sli    %sli.content;>
-<!ATTLIST sli    %sli.attributes;>
-
-
-
-<!--                    LONG NAME: Unordered List                  -->
-<!ENTITY % ul.content
-                       "(%li;)+"
->
-<!ENTITY % ul.attributes
-             "compact 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              spectitle 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT ul    %ul.content;>
-<!ATTLIST ul    %ul.attributes;>
-
-
-
-<!--                    LONG NAME: Ordered List                    -->
-<!ENTITY % ol.content
-                       "(%li;)+"
->
-<!ENTITY % ol.attributes
-             "compact 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              spectitle 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT ol    %ol.content;>
-<!ATTLIST ol    %ol.attributes;>
-
-
-
-<!--                    LONG NAME: List Item                       -->
-<!ENTITY % li.content
-                       "(%listitem.cnt;)*"
->
-<!ENTITY % li.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT li    %li.content;>
-<!ATTLIST li    %li.attributes;>
-
-
-
-<!--                    LONG NAME: Item Group                      -->
-<!ENTITY % itemgroup.content
-                       "(%itemgroup.cnt;)*"
->
-<!ENTITY % itemgroup.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT itemgroup    %itemgroup.content;>
-<!ATTLIST itemgroup    %itemgroup.attributes;>
-
-
-
-<!--                    LONG NAME: Definition List                 -->
-<!ENTITY % dl.content
-                       "((%dlhead;)?, 
-                         (%dlentry;)+)"
->
-<!ENTITY % dl.attributes
-             "compact 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              spectitle 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT dl    %dl.content;>
-<!ATTLIST dl    %dl.attributes;>
-
-
-
-<!--                    LONG NAME: Definition List Head            -->
-<!ENTITY % dlhead.content
-                       "((%dthd;)?, 
-                         (%ddhd;)? )"
->
-<!ENTITY % dlhead.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT dlhead    %dlhead.content;>
-<!ATTLIST dlhead    %dlhead.attributes;>
-
-
-
-<!--                    LONG NAME: Term Header                     -->
-<!ENTITY % dthd.content
-                       "(%title.cnt;)*"
->
-<!ENTITY % dthd.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT dthd    %dthd.content;>
-<!ATTLIST dthd    %dthd.attributes;>
-
-
-
-<!--                    LONG NAME: Definition Header               -->
-<!ENTITY % ddhd.content
-                       "(%title.cnt;)*"
->
-<!ENTITY % ddhd.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT ddhd    %ddhd.content;>
-<!ATTLIST ddhd    %ddhd.attributes;>
-
-
-
-<!--                    LONG NAME: Definition List Entry           -->
-<!ENTITY % dlentry.content
-                       "((%dt;)+, 
-                         (%dd;)+ )"
->
-<!ENTITY % dlentry.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT dlentry    %dlentry.content;>
-<!ATTLIST dlentry    %dlentry.attributes;>
-
-
-
-
-<!--                    LONG NAME: Definition Term                 --> 
-<!ENTITY % dt.content
-                       "(%term.cnt;)*"
->
-<!ENTITY % dt.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT dt    %dt.content;>
-<!ATTLIST dt    %dt.attributes;>
-
-
-
-<!--                    LONG NAME: Definition Description          -->
-<!ENTITY % dd.content
-                       "(%defn.cnt;)*"
->
-<!ENTITY % dd.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT dd    %dd.content;>
-<!ATTLIST dd    %dd.attributes;>
-
-
-<!--                    LONG NAME: Figure                          -->
-<!ENTITY % fig.content
-                       "((%title;)?, 
-                         (%desc;)?, 
-                         (%figgroup; | 
-                          %fig.cnt;)* )"
->
-<!ENTITY % fig.attributes
-             "%display-atts;
-              spectitle 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT fig    %fig.content;>
-<!ATTLIST fig    %fig.attributes;>
-
-
-
-<!--                    LONG NAME: Figure Group                    -->
-<!ENTITY % figgroup.content
-                       "((%title;)?, 
-                         (%figgroup; | 
-                          (%figgroup.cnt;))* )"
->
-<!ENTITY % figgroup.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT figgroup    %figgroup.content;>
-<!ATTLIST figgroup    %figgroup.attributes;>
-
-
-<!--                    LONG NAME: Preformatted Text               -->
-<!ENTITY % pre.content
-                       "(%pre.cnt;)*"
->
-<!ENTITY % pre.attributes
-             "%display-atts;
-              spectitle 
-                        CDATA 
-                                  #IMPLIED
-              xml:space 
-                        (preserve) 
-                                  #FIXED 'preserve'
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT pre    %pre.content;>
-<!ATTLIST pre    %pre.attributes;>
-
-
-<!--                    LONG NAME: Line Respecting Text            -->
-<!ENTITY % lines.content
-                       "(%pre.cnt;)*"
->
-<!ENTITY % lines.attributes
-             "%display-atts;
-              spectitle 
-                        CDATA 
-                                  #IMPLIED
-              xml:space 
-                        (preserve) 
-                                  #FIXED 'preserve'
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT lines    %lines.content;>
-<!ATTLIST lines    %lines.attributes;>
-
-
-<!-- ============================================================= -->
-<!--                   BASE FORM PHRASE TYPES                      -->
-<!-- ============================================================= -->
-
-<!--                    LONG NAME: Text                            -->
-<!ENTITY % text.content
-                       "(#PCDATA | 
-                         %text;)*"
->
-<!ENTITY % text.attributes
-             "%univ-atts;
-">
-<!ELEMENT text    %text.content;>
-<!ATTLIST text    %text.attributes;>
-
-
-<!--                    LONG NAME: Keyword                         -->
-<!ENTITY % keyword.content
-                       "(#PCDATA |
-                         %text; |
-                         %tm;)*"
->
-<!ENTITY % keyword.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT keyword    %keyword.content;>
-<!ATTLIST keyword    %keyword.attributes;>
-
-
-
-<!--                    LONG NAME: Term                            -->
-<!ENTITY % term.content
-                       "(#PCDATA |
-                         %text; |
-                         %tm;)*"
->
-<!ENTITY % term.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT term    %term.content;>
-<!ATTLIST term    %term.attributes;>
-
-
-
-<!--                    LONG NAME: Phrase                          -->
-<!ENTITY % ph.content
-                       "(%ph.cnt; |
-                         %text;)*"
->
-<!ENTITY % ph.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT ph    %ph.content;>
-<!ATTLIST ph    %ph.attributes;>
-
-
-
-<!--                    LONG NAME: Trade Mark                      -->
-<!ENTITY % tm.content
-                       "(#PCDATA |
-                         %text; |
-                         %tm;)*"
->
-<!ENTITY % tm.attributes
-             "trademark 
-                        CDATA 
-                                  #IMPLIED
-              tmowner 
-                        CDATA 
-                                  #IMPLIED
-              tmtype 
-                        (reg | 
-                         service | 
-                         tm | 
-                         -dita-use-conref-target) 
-                                  #REQUIRED
-              tmclass 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-">
-<!ELEMENT tm    %tm.content;>
-<!ATTLIST tm    %tm.attributes;>
-
-
-
-<!--                    LONG NAME: Boolean  (deprecated)           -->
-<!ENTITY % boolean.content
-                       "EMPTY"
->
-<!ENTITY % boolean.attributes
-             "state 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #REQUIRED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT boolean    %boolean.content;>
-<!ATTLIST boolean    %boolean.attributes;>
-
-
-
-<!--                    LONG NAME: State                           -->
-<!--                    A state can have a name and a string value, 
-                        even if empty or indeterminate             -->
-<!ENTITY % state.content
-                       "EMPTY"
->
-<!ENTITY % state.attributes
-             "name 
-                        CDATA 
-                                  #REQUIRED
-              value 
-                        CDATA 
-                                  #REQUIRED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT state    %state.content;>
-<!ATTLIST state    %state.attributes;>
-
-
-<!--                    LONG NAME: Image Data                      -->
-<!ENTITY % image.content
-                       "((%alt;)?,
-                         (%longdescref;)?)
-">
-<!ENTITY % image.attributes
-             "href 
-                        CDATA 
-                                  #IMPLIED
-
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              alt 
-                        CDATA 
-                                  #IMPLIED
-              longdescref 
-                        CDATA 
-                                  #IMPLIED
-              height 
-                        NMTOKEN 
-                                  #IMPLIED
-              width 
-                        NMTOKEN 
-                                  #IMPLIED
-              align 
-                        CDATA 
-                                  #IMPLIED
-              scale 
-                        NMTOKEN 
-                                  #IMPLIED
-              scalefit
-                        (yes |
-                         no |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              placement 
-                        (break | 
-                         inline | 
-                         -dita-use-conref-target) 
-                                  'inline'
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT image    %image.content;>
-<!ATTLIST image    %image.attributes;>
-
-
-
-<!--                    LONG NAME: Alternate text                  -->
-<!ENTITY % alt.content
-                       "(%words.cnt; |
-                         %ph;)*
-">
-<!ENTITY % alt.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT alt    %alt.content;>
-<!ATTLIST alt    %alt.attributes;>
-
-
-<!--                    LONG NAME: Long description reference      -->
-<!ENTITY % longdescref.content
-                       "EMPTY"
->
-<!ENTITY % longdescref.attributes
-             "href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT longdescref    %longdescref.content;>
-<!ATTLIST longdescref    %longdescref.attributes;>
-
-
-<!--                    LONG NAME: Object (Streaming/Executable 
-                                   Data)                           -->
-<!-- The longdescre attribute is an error which appeared in the
-     original DTD implementation of OASIS DITA. It is an error that
-     is not part of the standard. It was left here to provide time
-     to change documents, but it will be removed at a later date.
-     The longdescref (with ending F) should be used instead.       -->
-<!ENTITY % object.content
-                       "((%desc;)?,
-                         (%longdescref;)?,
-                         (%param;)*, 
-                         (%foreign.unknown.incl;)*)"
->
-<!ENTITY % object.attributes
-             "declare 
-                        (declare) 
-                                  #IMPLIED
-              classid 
-                        CDATA 
-                                  #IMPLIED
-              codebase 
-                        CDATA 
-                                  #IMPLIED
-              data 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              codetype 
-                        CDATA 
-                                  #IMPLIED
-              archive 
-                        CDATA 
-                                  #IMPLIED
-              standby 
-                        CDATA 
-                                  #IMPLIED
-              height 
-                        NMTOKEN 
-                                  #IMPLIED
-              width 
-                        NMTOKEN 
-                                  #IMPLIED
-              usemap 
-                        CDATA 
-                                  #IMPLIED
-              name 
-                        CDATA 
-                                  #IMPLIED
-              tabindex 
-                        NMTOKEN 
-                                  #IMPLIED
-              longdescref
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED 
-              longdescre CDATA    #IMPLIED"
->
-<!ELEMENT object    %object.content;>
-<!ATTLIST object    %object.attributes;>
-
-
-
-<!--                    LONG NAME: Parameter                       -->
-<!ENTITY % param.content
-                       "EMPTY
-">
-<!ENTITY % param.attributes
-             "%univ-atts;
-              name 
-                        CDATA 
-                                  #REQUIRED
-              value 
-                        CDATA 
-                                  #IMPLIED
-              valuetype 
-                        (data | 
-                         object | 
-                         ref | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT param    %param.content;>
-<!ATTLIST param    %param.attributes;>
- 
-
-
-<!--                    LONG NAME: Simple Table                    -->
-<!ENTITY % simpletable.content
-                       "((%sthead;)?, 
-                         (%strow;)+)"
->
-<!ENTITY % simpletable.attributes
-             "relcolwidth 
-                        CDATA 
-                                  #IMPLIED
-              keycol 
-                        NMTOKEN 
-                                  #IMPLIED
-              refcols 
-                        NMTOKENS 
-                                  #IMPLIED
-              %display-atts;
-              spectitle 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT simpletable    %simpletable.content;>
-<!ATTLIST simpletable    %simpletable.attributes;>
-
-
-
-<!--                    LONG NAME: Simple Table Head               -->
-<!ENTITY % sthead.content
-                       "(%stentry;)+"
->
-<!ENTITY % sthead.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT sthead    %sthead.content;>
-<!ATTLIST sthead    %sthead.attributes;>
-
-
-
-<!--                    LONG NAME: Simple Table Row                -->
-<!ENTITY % strow.content
-                       "(%stentry;)*"
->
-<!ENTITY % strow.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT strow    %strow.content;>
-<!ATTLIST strow    %strow.attributes;>
-
-
-
-<!--                    LONG NAME: Simple Table Cell (entry)       -->
-<!ENTITY % stentry.content
-                       "(%tblcell.cnt;)*"
->
-<!ENTITY % stentry.attributes
-             "specentry 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT stentry    %stentry.content;>
-<!ATTLIST stentry    %stentry.attributes;>
-
-
-<!--                    LONG NAME: Review Comments Block           -->
-<!ENTITY % draft-comment.content
-                       "(#PCDATA | 
-                         %basic.phandblock; | 
-                         %data.elements.incl; | 
-                         %foreign.unknown.incl;)*"
->
-<!-- 20080128: Removed enumeration for @disposition for DITA 1.2. Previous values:
-               accepted, completed, deferred, duplicate, issue, open, 
-               rejected, reopened, unassigned, -dita-use-conref-target           -->
-<!ENTITY % draft-comment.attributes
-             "author 
-                        CDATA 
-                                  #IMPLIED
-              time 
-                        CDATA 
-                                  #IMPLIED
-              disposition 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts-translate-no;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT draft-comment    %draft-comment.content;>
-<!ATTLIST draft-comment    %draft-comment.attributes;>
-
-<!--                    LONG NAME: Required Cleanup Block          -->
-<!ENTITY % required-cleanup.content
-                       "ANY"
->
-<!ENTITY % required-cleanup.attributes
-             "remap 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts-translate-no;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT required-cleanup    %required-cleanup.content;>
-<!ATTLIST required-cleanup    %required-cleanup.attributes;>
-
-
-
-<!--                    LONG NAME: Footnote                        -->
-<!ENTITY % fn.content
-                       "(%fn.cnt;)*"
->
-<!ENTITY % fn.attributes
-             "callout 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT fn    %fn.content;>
-<!ATTLIST fn    %fn.attributes;>
-
-
-<!--                    LONG NAME: Index Term                      -->
-<!ENTITY % indexterm.content
-                       "(%words.cnt;|
-                         %indexterm;|
-                         %index-base;)*"
->
-<!ENTITY % indexterm.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              start 
-                        CDATA 
-                                  #IMPLIED
-              end 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-">
-<!ELEMENT indexterm    %indexterm.content;>
-<!ATTLIST indexterm    %indexterm.attributes;>
-
-
-<!--                    LONG NAME: Index Base                      -->
-<!ENTITY % index-base.content
-                       "(%words.cnt; |
-                         %indexterm;)*"
->
-<!ENTITY % index-base.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT index-base    %index-base.content;>
-<!ATTLIST index-base    %index-base.attributes;>
-
-
-<!--                    LONG NAME: Index term reference            -->
-<!ENTITY % indextermref.content
-                       "EMPTY
-">
-<!ENTITY % indextermref.attributes
-             "keyref 
-                        CDATA 
-                                  #REQUIRED
-              %univ-atts;
-">
-<!ELEMENT indextermref    %indextermref.content;>
-<!ATTLIST indextermref    %indextermref.attributes;>
-
-
-<!--                    LONG NAME: Citation (bibliographic source) -->
-<!ENTITY % cite.content
-                       "(%xrefph.cnt;)*"
->
-<!ENTITY % cite.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT cite    %cite.content;>
-<!ATTLIST cite    %cite.attributes;>
-
-
-<!--                    LONG NAME: Cross Reference/Link            -->
-<!ENTITY % xref.content
-                       "(%xreftext.cnt; | 
-                         %desc;)*"
->
-<!ENTITY % xref.attributes
-             "href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT xref    %xref.content;>
-<!ATTLIST xref    %xref.attributes;>
-
-
-
-<!ENTITY % tableXML 
-  PUBLIC  "-//OASIS//ELEMENTS DITA Exchange Table Model//EN" 
-          "tblDecl.mod" 
->%tableXML;
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
- 
-<!ATTLIST alt       %global-atts;  class CDATA "- topic/alt "        >
-<!ATTLIST boolean   %global-atts;  class CDATA "- topic/boolean "    >
-<!ATTLIST cite      %global-atts;  class CDATA "- topic/cite "       >
-<!ATTLIST dd        %global-atts;  class CDATA "- topic/dd "         >
-<!ATTLIST data      %global-atts;  class CDATA "- topic/data "       >
-<!ATTLIST data-about
-                    %global-atts;  class CDATA "- topic/data-about ">
-<!ATTLIST ddhd      %global-atts;  class CDATA "- topic/ddhd "       >
-<!ATTLIST desc      %global-atts;  class CDATA "- topic/desc "       >
-<!ATTLIST dl        %global-atts;  class CDATA "- topic/dl "         >
-<!ATTLIST dlentry   %global-atts;  class CDATA "- topic/dlentry "    >
-<!ATTLIST dlhead    %global-atts;  class CDATA "- topic/dlhead "     >
-<!ATTLIST draft-comment 
-                    %global-atts;  class CDATA "- topic/draft-comment ">
-<!ATTLIST dt        %global-atts;  class CDATA "- topic/dt "         >
-<!ATTLIST dthd      %global-atts;  class CDATA "- topic/dthd "       >
-<!ATTLIST fig       %global-atts;  class CDATA "- topic/fig "        >
-<!ATTLIST figgroup  %global-atts;  class CDATA "- topic/figgroup "   >
-<!ATTLIST fn        %global-atts;  class CDATA "- topic/fn "         >
-<!ATTLIST foreign   %global-atts;  class CDATA "- topic/foreign "    >
-<!ATTLIST image     %global-atts;  class CDATA "- topic/image "      >
-<!ATTLIST indexterm %global-atts;  class CDATA "- topic/indexterm "  >
-<!ATTLIST index-base %global-atts;  class CDATA "- topic/index-base ">
-<!ATTLIST indextermref 
-                    %global-atts;  class CDATA "- topic/indextermref ">
-<!ATTLIST itemgroup %global-atts;  class CDATA "- topic/itemgroup "  >
-<!ATTLIST keyword   %global-atts;  class CDATA "- topic/keyword "    >
-<!ATTLIST li        %global-atts;  class CDATA "- topic/li "         >
-<!ATTLIST lines     %global-atts;  class CDATA "- topic/lines "      >
-<!ATTLIST longdescref
-                    %global-atts;  class CDATA "- topic/longdescref ">
-<!ATTLIST longquoteref
-                    %global-atts;  class CDATA "- topic/longquoteref ">
-<!ATTLIST lq        %global-atts;  class CDATA "- topic/lq "         >
-<!ATTLIST navtitle  %global-atts;  class CDATA "- topic/navtitle "   >
-<!ATTLIST note      %global-atts;  class CDATA "- topic/note "       >
-<!ATTLIST object    %global-atts;  class CDATA "- topic/object "     >
-<!ATTLIST ol        %global-atts;  class CDATA "- topic/ol "         >
-<!ATTLIST p         %global-atts;  class CDATA "- topic/p "          >
-<!ATTLIST param     %global-atts;  class CDATA "- topic/param "      >
-<!ATTLIST ph        %global-atts;  class CDATA "- topic/ph "         >
-<!ATTLIST pre       %global-atts;  class CDATA "- topic/pre "        >
-<!ATTLIST q         %global-atts;  class CDATA "- topic/q "          >
-<!ATTLIST required-cleanup 
-                    %global-atts;  class CDATA "- topic/required-cleanup ">
-<!ATTLIST simpletable 
-                    %global-atts;  class CDATA "- topic/simpletable ">
-<!ATTLIST sl        %global-atts;  class CDATA "- topic/sl "         >
-<!ATTLIST sli       %global-atts;  class CDATA "- topic/sli "        >
-<!ATTLIST state     %global-atts;  class CDATA "- topic/state "      >
-<!ATTLIST stentry   %global-atts;  class CDATA "- topic/stentry "    >
-<!ATTLIST sthead    %global-atts;  class CDATA "- topic/sthead "     >
-<!ATTLIST strow     %global-atts;  class CDATA "- topic/strow "      >
-<!ATTLIST term      %global-atts;  class CDATA "- topic/term "       >
-<!ATTLIST text      %global-atts;  class CDATA "- topic/text "       >
-<!ATTLIST title     %global-atts;  class CDATA "- topic/title "      >
-<!ATTLIST tm        %global-atts;  class CDATA "- topic/tm "         >
-<!ATTLIST ul        %global-atts;  class CDATA "- topic/ul "         >
-<!ATTLIST unknown   %global-atts;  class CDATA "- topic/unknown "    >
-<!ATTLIST xref      %global-atts;  class CDATA "- topic/xref "       >
-
-
-<!-- ================== End Common Elements Module  ============== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/delayResolutionDomain.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/delayResolutionDomain.ent
deleted file mode 100644
index 54359e5..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/delayResolutionDomain.ent
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Delayed Resolution Domain                    -->
-<!--  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//ENTITIES DITA Delayed Resolution Domain//EN"
-      Delivered as file "delayResolutionDomain.ent"                -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the substitution context and domain     -->
-<!--             entity declarations for the delayed resolution    -->
-<!--             domain                                            -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             February 2008                                     -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    DELAYED RESOLUTION DOMAIN ENTITIES         -->
-<!-- ============================================================= -->
-
-<!ENTITY % delay-d-keywords      
-  "exportanchors 
-  "
->
-
-<!ENTITY delay-d-att     
-  "(topic delay-d)"
->
-
-
-<!-- ================== End Delayed Resolution Domain Entities === -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/delayResolutionDomain.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/delayResolutionDomain.mod
deleted file mode 100644
index b4eea78..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/delayResolutionDomain.mod
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Delayed Resolution Domain                    -->
-<!--  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//ELEMENTS DITA Delayed Resolution Domain//EN"
-      Delivered as file "delayResolutionDomain.mod"                -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Define elements and specialization attributes     -->
-<!--             for Delayed Resolution Domain                     -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             February 2008                                     -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                   ELEMENT NAME ENTITIES                       -->
-<!-- ============================================================= -->
-
-<!ENTITY % exportanchors "exportanchors"                             >
-<!ENTITY % anchorid      "anchorid"                                  >
-<!ENTITY % anchorkey     "anchorkey"                                 >
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS                       -->
-<!-- ============================================================= -->
-
-
-<!--                    LONG NAME: Export Anchor List              -->
-<!ENTITY % exportanchors.content
-                       "(%anchorid; | 
-                         %anchorkey;)*"
->
-<!ENTITY % exportanchors.attributes
-             "%univ-atts;"
->
-<!ELEMENT exportanchors    %exportanchors.content;>
-<!ATTLIST exportanchors    %exportanchors.attributes;>
-
-
-<!--                    LONG NAME: Anchor ID                       -->
-<!ENTITY % anchorid.content
-                       "EMPTY"
->
-<!ENTITY % anchorid.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              id 
-                        NMTOKEN 
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT anchorid    %anchorid.content;>
-<!ATTLIST anchorid    %anchorid.attributes;>
-
-
-<!--                    LONG NAME: Anchor Key                       -->
-<!ENTITY % anchorkey.content
-                       "EMPTY"
->
-<!ENTITY % anchorkey.attributes
-             "keyref 
-                        CDATA 
-                                  #REQUIRED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT anchorkey    %anchorkey.content;>
-<!ATTLIST anchorkey    %anchorkey.attributes;>
-
-
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
-
-<!ATTLIST exportanchors %global-atts;  class CDATA "+ topic/keywords delay-d/exportanchors "  >
-<!ATTLIST anchorid      %global-atts;  class CDATA "+ topic/keyword delay-d/anchorid "  >
-<!ATTLIST anchorkey     %global-atts;  class CDATA "+ topic/keyword delay-d/anchorkey "  >
-
-<!-- ================== End Delayed Resolution Domain  =========== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/hazardstatementDomain.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/hazardstatementDomain.ent
deleted file mode 100644
index 629cde6..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/hazardstatementDomain.ent
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Hazard Statement Domain Entities             -->
-<!--  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//ENTITIES DITA Hazard Statement Domain//EN"
-      Delivered as file "hazardstatementDomain.ent"                -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the substitution context and domain     -->
-<!--             entity declarations for the User Interface Domain -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             February 2008                                     -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2007.02.20 Chris Kravogel, SeicoDyne GmbH: Created domain  -->
-<!--    2008.02.05 Chris Kravogel, SeicoDyne GmbH: Renamed symbol  -->
-<!--                    to hazardsymbol                            -->
-<!--    2008.02.05 RDA: Removed entities hs-d-ul, hs-d-image,      -->
-<!--                    hs-d-li                                    -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    ELEMENT EXTENSION ENTITY DECLARATIONS      -->
-<!-- ============================================================= -->
-
-<!ENTITY % hazard-d-note    "hazardstatement"                        >
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATION                  -->
-<!-- ============================================================= -->
-
-
-<!ENTITY hazard-d-att "(topic hazard-d)">
-
-
-<!-- ================== End Hazard Statement Domain Entities ===== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/hazardstatementDomain.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/hazardstatementDomain.mod
deleted file mode 100644
index a546a8b..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/hazardstatementDomain.mod
+++ /dev/null
@@ -1,247 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Hazard Statement Domain                      -->
-<!--  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//ELEMENTS DITA Hazard Statement Domain//EN"
-      Delivered as file "hazardstatementDomain.mod"                -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for the Hazard Statement Domain        -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             February 2008                                     -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2007.02.20 Chris Kravogel, SeicoDyne GmbH: Created domain  -->
-<!--    2007.03.06 Chris Kravogel, SeicoDyne GmbH: Add howtoavoid  -->
-<!--                    entity                                     -->
-<!--    2007.11.20 Chris Kravogel, SeicoDyne GmbH: Reduced ATTLIST -->
-<!--                    of hazardstatement to ATTLIST of note      -->
-<!--    2008.02.05 Chris Kravogel, SeicoDyne GmbH: Renamed symbol  -->
-<!--                    to hazardsymbol, added %words.cnt; and     -->
-<!--                    %trademark; to consequences, typeofhazard  -->
-<!--    2008.02.05 RDA: Reformatted for DITA 1.2; removed @alt     -->
-<!--                    and added @scalefit on hazardsymbol        -->
-<!--    2008.02.13 RDA: Create .content and .attributes entities   -->
-<!--    2009.12.03 RDA: Removed caution1 and caution2 values to    -->
-<!--                    match the revised note/@type values        -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    COMMON ATTLIST SETS                        -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    Hazard Statement Entities                  -->
-<!-- ============================================================= -->
-
-<!ENTITY % hazard.cnt 
-  "#PCDATA | 
-   %basic.ph; | 
-   %sl; | 
-   %simpletable;"
->
-
-<!-- ============================================================= -->
-<!--                   ELEMENT NAME ENTITIES                       -->
-<!-- ============================================================= -->
-
- 
-<!ENTITY % hazardstatement "hazardstatement"                         >
-<!ENTITY % messagepanel    "messagepanel"                            >
-<!ENTITY % hazardsymbol    "hazardsymbol"                            >
-<!ENTITY % typeofhazard    "typeofhazard"                            >
-<!ENTITY % consequence     "consequence"                             >
-<!ENTITY % howtoavoid      "howtoavoid"                              >
-
-<!-- ============================================================= -->
-<!--            HAZARDSTATEMENT KEYWORD TYPES ELEMENT DECLARATIONS -->
-<!-- ============================================================= -->
-
-
-<!--                    LONG NAME: Hazard Statement                -->
-<!ENTITY % hazardstatement.content
-                       "((%messagepanel;)+,
-                         (%hazardsymbol;)*)"
->
-<!ENTITY % hazardstatement.attributes
-             "type 
-                        (attention|
-                         caution | 
-                         danger | 
-                         fastpath | 
-                         important | 
-                         note |
-                         notice |
-                         other | 
-                         remember | 
-                         restriction |
-                         tip |
-                         warning |
-                         -dita-use-conref-target) 
-                                  #IMPLIED 
-              spectitle 
-                        CDATA 
-                                  #IMPLIED
-              othertype 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT hazardstatement    %hazardstatement.content;>
-<!ATTLIST hazardstatement    %hazardstatement.attributes;>
-
-
-<!--                    LONG NAME: Hazard Symbol                   -->
-<!ENTITY % hazardsymbol.content
-                       "((%alt;)?,
-                         (%longdescref;)?)"
->
-<!ENTITY % hazardsymbol.attributes
-             "href 
-                        CDATA 
-                                  #REQUIRED
-
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              longdescref 
-                        CDATA 
-                                  #IMPLIED
-              height 
-                        NMTOKEN 
-                                  #IMPLIED
-              width 
-                        NMTOKEN 
-                                  #IMPLIED
-              align 
-                        CDATA 
-                                  #IMPLIED
-              scale 
-                        NMTOKEN 
-                                  #IMPLIED
-              scalefit
-                        (yes |
-                         no |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              placement 
-                        (break | 
-                         inline | 
-                         -dita-use-conref-target) 
-                                  'inline'
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT hazardsymbol    %hazardsymbol.content;>
-<!ATTLIST hazardsymbol    %hazardsymbol.attributes;>
-
-
-<!--                    LONG NAME: Hazard Message panel            -->
-<!ENTITY % messagepanel.content
-                       "((%typeofhazard;),
-                         (%consequence;)*,
-                         (%howtoavoid;)+)"
->
-<!ENTITY % messagepanel.attributes
-             "spectitle 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT messagepanel    %messagepanel.content;>
-<!ATTLIST messagepanel    %messagepanel.attributes;>
-
-
-
-<!--                    LONG NAME: The Type of Hazard              -->
-<!ENTITY % typeofhazard.content
-                   "(%words.cnt; |
-                     %ph; |
-                     %tm;)*"
->
-<!ENTITY % typeofhazard.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT typeofhazard    %typeofhazard.content;>
-<!ATTLIST typeofhazard    %typeofhazard.attributes;>
-
-
-
-<!--            LONG NAME: Consequences of not Avoiding the Hazard -->
-<!ENTITY % consequence.content
-                       "(%words.cnt; |
-                         %ph; | 
-                         %tm;)*
-">
-<!ENTITY % consequence.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT consequence    %consequence.content;>
-<!ATTLIST consequence    %consequence.attributes;>
-
-
-<!--                    LONG NAME: How to Avoid the Hazard         -->
-<!ENTITY % howtoavoid.content
-                       "(%hazard.cnt;)*
-">
-<!ENTITY % howtoavoid.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT howtoavoid    %howtoavoid.content;>
-<!ATTLIST howtoavoid    %howtoavoid.attributes;>
-
-
-<!-- ============================================================= -->
-<!--               SPECIALIZATION ATTRIBUTE DECLARATIONS           -->
-<!-- ============================================================= -->
-
-<!ATTLIST hazardstatement %global-atts;  class CDATA "+ topic/note hazard-d/hazardstatement "> 
-<!ATTLIST messagepanel    %global-atts;  class CDATA "+ topic/ul hazard-d/messagepanel "     > 
-<!ATTLIST hazardsymbol    %global-atts;  class CDATA "+ topic/image hazard-d/hazardsymbol "  > 
-<!ATTLIST typeofhazard    %global-atts;  class CDATA "+ topic/li hazard-d/typeofhazard "     >
-<!ATTLIST consequence     %global-atts;  class CDATA "+ topic/li hazard-d/consequence "      >
-<!ATTLIST howtoavoid      %global-atts;  class CDATA "+ topic/li hazard-d/howtoavoid "       >
- 
-<!-- ================== End DITA Hazard Statement Domain ========= -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/highlightDomain.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/highlightDomain.ent
deleted file mode 100644
index 2ed7a0b..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/highlightDomain.ent
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Highlight Domain                             -->
-<!--  VERSION:   1.1                                               -->
-<!--  DATE:      November 2006                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identifier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//ENTITIES DITA Highlight Domain//EN"
-      Delivered as file "higlightDomain.ent"                       -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the substitution context and domain     -->
-<!--             entity declarations for the highlight domain      -->
-<!--                                                               -->
-<!-- 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 "Delivered as" system ID     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    HIGHLIGHT DOMAIN ENTITIES                  -->
-<!-- ============================================================= -->
-
-<!ENTITY % hi-d-ph      
-  "b | 
-   i | 
-   sup | 
-   sub |
-   tt | 
-   u 
-  "
->
-
-<!ENTITY hi-d-att     
-  "(topic hi-d)"
->
-
-
-<!-- ================== End Highlight Domain Entities ============ -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/highlightDomain.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/highlightDomain.mod
deleted file mode 100644
index 97e097f..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/highlightDomain.mod
+++ /dev/null
@@ -1,179 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Highlight Domain                             -->
-<!--  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//ELEMENTS DITA Highlight Domain//EN"
-      Delivered as file "highlightDomain.mod"                      -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Define elements and specialization attributes     -->
-<!--             for Highlight Domain                              -->
-<!--                                                               -->
-<!-- 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: Corrected descriptive names for all        -->
-<!--                    elements except bold                       -->
-<!--    2005.11.15 RDA: Corrected the "Delivered as" system ID     -->
-<!--    2007.12.01 EK:  Reformatted DTD modules for DITA 1.2       -->
-<!--    2008.02.13 RDA: Create .content and .attributes entities   -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                   ELEMENT NAME ENTITIES                       -->
-<!-- ============================================================= -->
-
-<!ENTITY % b           "b"                                           >
-<!ENTITY % i           "i"                                           >
-<!ENTITY % u           "u"                                           > 
-<!ENTITY % tt          "tt"                                          >
-<!ENTITY % sup         "sup"                                         >
-<!ENTITY % sub         "sub"                                         >
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS                       -->
-<!-- ============================================================= -->
-
-
-<!--                    LONG NAME: Bold                            -->
-<!ENTITY % b.content
-                       "(#PCDATA | 
-                         %basic.ph; | 
-                         %data.elements.incl; |
-                         %foreign.unknown.incl;)*"
->
-<!ENTITY % b.attributes
-             "%univ-atts; 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT b    %b.content;>
-<!ATTLIST b    %b.attributes;>
-
-
-
-<!--                    LONG NAME: Underlined                      -->
-<!ENTITY % u.content
-                       "(#PCDATA | 
-                         %basic.ph; | 
-                         %data.elements.incl; |
-                         %foreign.unknown.incl;)*"
->
-<!ENTITY % u.attributes
-             "%univ-atts; 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT u    %u.content;>
-<!ATTLIST u    %u.attributes;>
-
-
-
-<!--                    LONG NAME: Italic                          -->
-<!ENTITY % i.content
-                       "(#PCDATA | 
-                         %basic.ph; | 
-                         %data.elements.incl; |
-                         %foreign.unknown.incl;)*"
->
-<!ENTITY % i.attributes
-             "%univ-atts; 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT i    %i.content;>
-<!ATTLIST i    %i.attributes;>
-
-
-
-<!--                    LONG NAME: Teletype (monospaced)           -->
-<!ENTITY % tt.content
-                       "(#PCDATA | 
-                         %basic.ph; | 
-                         %data.elements.incl; |
-                         %foreign.unknown.incl;)*"
->
-<!ENTITY % tt.attributes
-             "%univ-atts; 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT tt    %tt.content;>
-<!ATTLIST tt    %tt.attributes;>
-
-
-
-<!--                    LONG NAME: Superscript                     -->
-<!ENTITY % sup.content
-                       "(#PCDATA | 
-                         %basic.ph; | 
-                         %data.elements.incl; |
-                         %foreign.unknown.incl;)*"
->
-<!ENTITY % sup.attributes
-             "%univ-atts; 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT sup    %sup.content;>
-<!ATTLIST sup    %sup.attributes;>
-
-
-
-<!--                    LONG NAME: Subscript                       -->
-<!ENTITY % sub.content
-                       "(#PCDATA | 
-                         %basic.ph; | 
-                         %data.elements.incl; |
-                         %foreign.unknown.incl;)*"
->
-<!ENTITY % sub.attributes
-             "%univ-atts; 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT sub    %sub.content;>
-<!ATTLIST sub    %sub.attributes;>
-
- 
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
-
-
-<!ATTLIST b           %global-atts;  class CDATA "+ topic/ph hi-d/b "  >
-<!ATTLIST i           %global-atts;  class CDATA "+ topic/ph hi-d/i "  >
-<!ATTLIST sub         %global-atts;  class CDATA "+ topic/ph hi-d/sub ">
-<!ATTLIST sup         %global-atts;  class CDATA "+ topic/ph hi-d/sup ">
-<!ATTLIST tt          %global-atts;  class CDATA "+ topic/ph hi-d/tt " >
-<!ATTLIST u           %global-atts;  class CDATA "+ topic/ph hi-d/u "  >
-
-
-<!-- ================== DITA Highlight Domain ==================== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/indexingDomain.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/indexingDomain.ent
deleted file mode 100644
index ba488ec..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/indexingDomain.ent
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Indexing Domain Entities                     -->
-<!--  VERSION:   1.1                                               -->
-<!--  DATE:      November 2006                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identifier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//ENTITIES DITA Indexing Domain//EN"
-      Delivered as file "indexingDomain.ent"                       -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the substitution context and domain     -->
-<!--             entity declarations for the indexing domain       -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             June 2006                                         -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2006.                    -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    ELEMENT EXTENSION ENTITY DECLARATIONS      -->
-<!-- ============================================================= -->
-
-<!ENTITY % indexing-d-index-base 
-  "index-see | 
-   index-see-also | 
-   index-sort-as
-  "
->
-
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATION                  -->
-<!-- ============================================================= -->
-
-<!ENTITY indexing-d-att 
-  "(topic indexing-d)"                         
->
-
-<!-- ================== End Indexing Domain Entities ============= -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/indexingDomain.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/indexingDomain.mod
deleted file mode 100644
index f6ab3f6..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/indexingDomain.mod
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Indexing  Domain                             -->
-<!--  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//ELEMENTS DITA Indexing Domain//EN"
-      Delivered as file "indexingDomain.mod"                       -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for the DITA Indexing Domain           -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             June 2006                                         -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2006, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--  UPDATES:                                                     -->
-<!--    2007.12.01 EK:  Reformatted DTD modules for DITA 1.2       -->
-<!--    2008.02.13 RDA: Create .content and .attributes entities   -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   ELEMENT NAME ENTITIES                       -->
-<!-- ============================================================= -->
-
-<!ENTITY % index-see       "index-see"                               >
-<!ENTITY % index-see-also  "index-see-also"                          >
-<!ENTITY % index-sort-as   "index-sort-as"                           >
-
-
-<!-- ============================================================= -->
-<!--                    COMMON ATTLIST SETS                        -->
-<!-- ============================================================= -->
-
-
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS for IMAGEMAP          -->
-<!-- ============================================================= -->
-
-<!--                    LONG NAME: Index See                       -->
-<!ENTITY % index-see.content
-                       "(%words.cnt; |
-                         %indexterm;)*"
->
-<!ENTITY % index-see.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT index-see    %index-see.content;>
-<!ATTLIST index-see    %index-see.attributes;>
-
-
-<!--                    LONG NAME: Index See Also                  -->
-<!ENTITY % index-see-also.content
-                       "(%words.cnt; |
-                         %indexterm;)*"
->
-<!ENTITY % index-see-also.attributes
-             "keyref 
-                            CDATA 
-                                            #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT index-see-also    %index-see-also.content;>
-<!ATTLIST index-see-also    %index-see-also.attributes;>
-
-
-<!--                    LONG NAME: Index Sort As                   -->
-<!ENTITY % index-sort-as.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % index-sort-as.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT index-sort-as    %index-sort-as.content;>
-<!ATTLIST index-sort-as    %index-sort-as.attributes;>
-
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
-
-
-<!ATTLIST index-see       %global-atts; class CDATA "+ topic/index-base indexing-d/index-see ">
-<!ATTLIST index-see-also  %global-atts; class CDATA "+ topic/index-base indexing-d/index-see-also ">
-<!ATTLIST index-sort-as   %global-atts; class CDATA "+ topic/index-base indexing-d/index-sort-as ">
- 
-<!-- ================== End Indexing Domain ====================== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/map.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/map.mod
deleted file mode 100644
index 0d8aa87..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/map.mod
+++ /dev/null
@@ -1,616 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Map                                          -->
-<!--  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//ELEMENTS DITA Map//EN"
-      Delivered as file "map.mod"                                  -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for the DITA Maps                      -->
-<!--                                                               -->
-<!-- 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: Corrected public ID in the comment above   -->
-<!--    2005.11.15 RDA: Removed old declaration for topicreftypes  -->
-<!--                      entity                                   -->
-<!--    2006.06.06 RDA: Removed default locktitle="yes" from       -->
-<!--                      %topicref-atts-no-toc;                   -->
-<!--                    Remove keyword declaration                 -->
-<!--                    Add reference to commonElements            -->
-<!--                    Add title element to map                   -->
-<!--                    Add data element to topicmeta              -->
-<!--                    Remove shortdesc declaration               -->
-<!--    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.14 RDA: Add outputclass attribute to most elemetns -->
-<!--    2006.11.30 RDA: Add -dita-use-conref-target to enumerated  -->
-<!--                      attributes                               -->
-<!--    2006.11.30 RDA: Remove #FIXED from DITAArchVersion         -->
-<!--    2007.12.01 EK:  Reformatted DTD modules for DITA 1.2       -->
-<!--    2008.01.28 RDA: Added <metadata> to <topicmeta>            -->
-<!--    2008.01.30 RDA: Replace @conref defn. with %conref-atts;   -->
-<!--    2008.02.01 RDA: Added keys attributes, more keyref attrs   -->
-<!--    2008.02.12 RDA: Expand relcolspec content model            -->
-<!--    2008.02.12 RDA: Modify imbeds to use specific 1.2 version  -->
-<!--    2008.02.12 RDA: Add navtitle to topicmeta                  -->
-<!--    2008.02.13 RDA: Create .content and .attributes entities   -->
-<!--    2010.09.20 RDA: Bring linktext content in sync with topic  -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   ARCHITECTURE ENTITIES                       -->
-<!-- ============================================================= -->
-
-<!-- default namespace prefix for DITAArchVersion attribute can be
-     overridden through predefinition in the document type shell   -->
-<!ENTITY % DITAArchNSPrefix
-  "ditaarch"
->
-
-<!-- must be instanced on each topic type                          -->
-<!ENTITY % arch-atts 
-             "xmlns:%DITAArchNSPrefix; 
-                        CDATA
-                                  #FIXED 'http://dita.oasis-open.org/architecture/2005/'
-              %DITAArchNSPrefix;:DITAArchVersion
-                        CDATA
-                                  '1.2'
-  "
->
-
-<!-- ============================================================= -->
-<!--                   ELEMENT NAME ENTITIES                       -->
-<!-- ============================================================= -->
-
-
-<!ENTITY % map         "map"                                         >
-<!ENTITY % anchor      "anchor"                                      >
-<!ENTITY % linktext    "linktext"                                    >
-<!ENTITY % navref      "navref"                                      >
-<!ENTITY % relcell     "relcell"                                     >
-<!ENTITY % relcolspec  "relcolspec"                                  >
-<!ENTITY % relheader   "relheader"                                   >
-<!ENTITY % relrow      "relrow"                                      >
-<!ENTITY % reltable    "reltable"                                    >
-<!ENTITY % searchtitle "searchtitle"                                 >
-<!ENTITY % shortdesc   "shortdesc"                                   >
-<!ENTITY % topicmeta   "topicmeta"                                   >
-<!ENTITY % topicref    "topicref"                                    >
-
-
-<!-- ============================================================= -->
-<!--                    ENTITY DECLARATIONS FOR ATTRIBUTE VALUES   -->
-<!-- ============================================================= -->
-
-
-<!--                    DATE FORMAT                                -->
-<!-- Copied into metaDecl.mod -->
-<!--<!ENTITY % date-format  'CDATA'                               >-->
-
-
-<!-- ============================================================= -->
-<!--                    COMMON ATTLIST SETS                        -->
-<!-- ============================================================= -->
-
-
-<!ENTITY % topicref-atts 
-             "collection-type 
-                        (choice | 
-                         family | 
-                         sequence | 
-                         unordered |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              locktitle 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              linking 
-                        (none | 
-                         normal | 
-                         sourceonly | 
-                         targetonly |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              print 
-                        (no | 
-                         printonly | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              search 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              chunk 
-                        CDATA 
-                                  #IMPLIED
-  "
->
-
-<!ENTITY % topicref-atts-no-toc 
-             'collection-type 
-                        (choice | 
-                         family | 
-                         sequence | 
-                         unordered |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              locktitle 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              linking 
-                        (none | 
-                         normal | 
-                         sourceonly | 
-                         targetonly |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target)
-                                  "no"
-              print 
-                        (no | 
-                         printonly | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              search 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              chunk 
-                        CDATA 
-                                  #IMPLIED
-  '
->
-
-<!ENTITY % topicref-atts-without-format 
-             "collection-type 
-                        (choice | 
-                         family | 
-                         sequence | 
-                         unordered |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              locktitle 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              linking 
-                        (none | 
-                         normal | 
-                         sourceonly | 
-                         targetonly |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              print 
-                        (no | 
-                         printonly | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              search 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              chunk 
-                        CDATA 
-                                  #IMPLIED
-  "
->
-
-<!-- ============================================================= -->
-<!--                    MODULES CALLS                              -->
-<!-- ============================================================= -->
-
-
-<!--                      Content elements common to map and topic -->
-<!ENTITY % commonElements 
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Common Elements//EN" 
-         "commonElements.mod" 
->%commonElements;
-
-<!--                      MetaData Elements                        -->
-<!ENTITY % metaXML 
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Metadata//EN" 
-         "metaDecl.mod" 
->%metaXML;
- 
-<!-- ============================================================= -->
-<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
-<!-- ============================================================= -->
-
-<!ENTITY included-domains 
-  "" 
->
- 
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS                       -->
-<!-- ============================================================= -->
-
-
-
-
-
-<!--                    LONG NAME: Map                             -->
-<!ENTITY % map.content
-                       "((%title;)?, 
-                         (%topicmeta;)?, 
-                         (%anchor; |
-                          %data.elements.incl; |
-                          %navref; |
-                          %reltable; |
-                          %topicref;)* )"
->
-<!ENTITY % map.attributes
-             "title 
-                        CDATA 
-                                  #IMPLIED
-              id 
-                        ID 
-                                  #IMPLIED
-              %conref-atts;
-              anchorref 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %localization-atts;
-              %topicref-atts;
-              %select-atts;"
->
-<!ELEMENT map    %map.content;>
-<!ATTLIST map    
-              %map.attributes;
-              %arch-atts;
-              domains 
-                        CDATA 
-                                  "&included-domains;" 
->
-
-
-
-<!--                    LONG NAME: Navigation Reference            -->
-<!ENTITY % navref.content
-                       "EMPTY"
->
-<!ENTITY % navref.attributes
-             "%univ-atts;
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              mapref 
-                        CDATA 
-                                  #IMPLIED 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-">
-<!ELEMENT navref    %navref.content;>
-<!ATTLIST navref    %navref.attributes;>
-
-
-<!--                    LONG NAME: Topic Reference                 -->
-<!ENTITY % topicref.content
-                       "((%topicmeta;)?, 
-                         (%anchor; | 
-                          %data.elements.incl; |
-                          %navref; | 
-                          %topicref;)* )"
->
-<!ENTITY % topicref.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              copy-to 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %topicref-atts;
-              %univ-atts;"
->
-<!ELEMENT topicref    %topicref.content;>
-<!ATTLIST topicref    %topicref.attributes;>
-
-
-<!--                    LONG NAME: Anchor                          -->
-<!ENTITY % anchor.content
-                       "EMPTY"
->
-<!ENTITY % anchor.attributes
-             "outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %localization-atts;
-              id 
-                        ID 
-                                  #REQUIRED 
-              %conref-atts;
-              %select-atts;"
->
-<!ELEMENT anchor    %anchor.content;>
-<!ATTLIST anchor    %anchor.attributes;>
-
-
-
-<!--                    LONG NAME: Relationship Table              -->
-<!ENTITY % reltable.content
-                       "((%title;)?,
-                         (%topicmeta;)?, 
-                         (%relheader;)?, 
-                         (%relrow;)+)"
->
-<!ENTITY % reltable.attributes
-             "title 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %topicref-atts-no-toc;
-              %univ-atts;"
->
-<!ELEMENT reltable    %reltable.content;>
-<!ATTLIST reltable    %reltable.attributes;>
-
-
-
-<!--                    LONG NAME: Relationship Header             -->
-<!ENTITY % relheader.content
-                       "(%relcolspec;)+"
->
-<!ENTITY % relheader.attributes
-             "%univ-atts;"
->
-<!ELEMENT relheader    %relheader.content;>
-<!ATTLIST relheader    %relheader.attributes;>
- 
-
-
-<!--                    LONG NAME: Relationship Column Specification
-                                                                   -->
-<!ENTITY % relcolspec.content
-                       "((%title;)?,
-                         (%topicmeta;)?,
-                         (%topicref;)*)
-">
-<!ENTITY % relcolspec.attributes
-             "outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %topicref-atts;
-              %univ-atts;"
->
-<!ELEMENT relcolspec    %relcolspec.content;>
-<!ATTLIST relcolspec    %relcolspec.attributes;>
-
-
-
-<!--                    LONG NAME: Relationship Table Row          -->
-<!ENTITY % relrow.content
-                       "(%relcell;)*"
->
-<!ENTITY % relrow.attributes
-             "outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT relrow    %relrow.content;>
-<!ATTLIST relrow    %relrow.attributes;>
-
-
-
-<!--                    LONG NAME: Relationship Table Cell         -->
-<!ENTITY % relcell.content
-                       "(%topicref; |
-                         %data.elements.incl;)*
-">
-<!ENTITY % relcell.attributes
-             "outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %topicref-atts;
-              %univ-atts;"
->
-<!ELEMENT relcell    %relcell.content;>
-<!ATTLIST relcell    %relcell.attributes;>
-
-
-
-<!--                    LONG NAME: Topic Metadata                  -->
-<!ENTITY % topicmeta.content
-                       "((%navtitle;)?,
-                         (%linktext;)?, 
-                         (%searchtitle;)?, 
-                         (%shortdesc;)?, 
-                         (%author;)*, 
-                         (%source;)?, 
-                         (%publisher;)?, 
-                         (%copyright;)*, 
-                         (%critdates;)?, 
-                         (%permissions;)?, 
-                         (%metadata;)*, 
-                         (%audience;)*, 
-                         (%category;)*, 
-                         (%keywords;)*, 
-                         (%prodinfo;)*, 
-                         (%othermeta;)*, 
-                         (%resourceid;)*, 
-                         (%data.elements.incl; | 
-                          %foreign.unknown.incl;)*)"
->
-<!ENTITY % topicmeta.attributes
-             "lockmeta 
-                       (no | 
-                        yes | 
-                        -dita-use-conref-target) 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT topicmeta    %topicmeta.content;>
-<!ATTLIST topicmeta    %topicmeta.attributes;>
-
-
-
-<!--                    LONG NAME: Link Text                       -->
-<!ENTITY % linktext.content
-                       "(%words.cnt; |
-                         %ph;)*"
->
-<!ENTITY % linktext.attributes
-             "outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT linktext    %linktext.content;>
-<!ATTLIST linktext    %linktext.attributes;>
-
-
-
-<!--                    LONG NAME: Search Title                    -->
-<!ENTITY % searchtitle.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % searchtitle.attributes
-             "outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT searchtitle    %searchtitle.content;>
-<!ATTLIST searchtitle    %searchtitle.attributes;>
-
-
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
-
-
-<!ATTLIST map         %global-atts;  class CDATA "- map/map "        >
-<!ATTLIST navref      %global-atts;  class CDATA "- map/navref "     >
-<!ATTLIST topicref    %global-atts;  class CDATA "- map/topicref "   >
-<!ATTLIST anchor      %global-atts;  class CDATA "- map/anchor "     >
-<!ATTLIST reltable    %global-atts;  class CDATA "- map/reltable "   >
-<!ATTLIST relheader   %global-atts;  class CDATA "- map/relheader "  >
-<!ATTLIST relcolspec  %global-atts;  class CDATA "- map/relcolspec " >
-<!ATTLIST relrow      %global-atts;  class CDATA "- map/relrow "     >
-<!ATTLIST relcell     %global-atts;  class CDATA "- map/relcell "    >
-<!ATTLIST topicmeta   %global-atts;  class CDATA "- map/topicmeta "  >
-<!ATTLIST linktext    %global-atts;  class CDATA "- map/linktext "   >
-<!ATTLIST searchtitle %global-atts;  class CDATA "- map/searchtitle ">
-
-<!-- Shortdesc in topic uses topic/shortdesc so this one must be 
-     included, even though the element is common. -->
-<!ATTLIST shortdesc   %global-atts;  class CDATA "- map/shortdesc "  >
-
-
-<!-- ================== End DITA Map ============================= -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/mapGroup.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/mapGroup.ent
deleted file mode 100644
index 3ac7ca3..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/mapGroup.ent
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Map Group Domain Entities                    -->
-<!--  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//ENTITIES DITA Map Group Domain//EN"
-      Delivered as file "mapGroup.ent"                             -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the substitution context and domain     -->
-<!--             entity declarations for the map group domain      -->
-<!--                                                               -->
-<!-- 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: Corrected the "Delivered as" system ID     -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    ELEMENT EXTENSION ENTITY DECLARATIONS      -->
-<!-- ============================================================= -->
-
-<!ENTITY % mapgroup-d-topicref 
-  "anchorref |
-   keydef |
-   mapref |
-   topicgroup |
-   topichead | 
-   topicset |
-   topicsetref
-  "                     
->
-
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATION                  -->
-<!-- ============================================================= -->
-
-<!ENTITY mapgroup-d-att 
-  "(map mapgroup-d)"                           
->
-
-
-<!-- ================== End Map Group Domain Entities ============ -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/mapGroup.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/mapGroup.mod
deleted file mode 100644
index 7eaf283..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/mapGroup.mod
+++ /dev/null
@@ -1,526 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Map Group Domain                             -->
-<!--  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//ELEMENTS DITA Map Group Domain//EN"
-      Delivered as file "mapGroup.mod"                             -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Define elements and specialization attributes     -->
-<!--             for Map Group Domain                              -->
-<!--                                                               -->
-<!-- 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: Corrected the "Delivered as" system ID     -->
-<!--    2006.06.07 RDA: Make universal attributes universal        -->
-<!--                      (DITA 1.1 proposal #12)                  -->
-<!--    2007.12.01 EK:  Reformatted DTD modules for DITA 1.2       -->
-<!--    2008.02.01 RDA: Added keydef element, keys attributes      -->
-<!--    2008.02.12 RDA: Navtitle no longer required on topichead   -->
-<!--    2008.02.13 RDA: Create .content and .attributes entities   -->
-<!--    2010.09.20 RDA: Add copy-to to topichead                   -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT NAME ENTITIES                      -->
-<!-- ============================================================= -->
-
-<!ENTITY % anchorref    "anchorref"                                  >
-<!ENTITY % keydef       "keydef"                                     >
-<!ENTITY % mapref       "mapref"                                     >
-<!ENTITY % topicgroup   "topicgroup"                                 >
-<!ENTITY % topichead    "topichead"                                  >
-<!ENTITY % topicset     "topicset"                                   >
-<!ENTITY % topicsetref  "topicsetref"                                >
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS                       -->
-<!-- ============================================================= -->
-
-
-<!--                    LONG NAME: Topic Head                      -->
-<!ENTITY % topichead.content
-                       "((%topicmeta;)?, 
-                         (%anchor; | 
-                          %data.elements.incl; | 
-                          %navref; | 
-                          %topicref;)* )"
->
-<!ENTITY % topichead.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              copy-to 
-                        CDATA 
-                                  #IMPLIED
-              %topicref-atts;
-              %univ-atts;"
->
-<!ELEMENT topichead    %topichead.content;>
-<!ATTLIST topichead    %topichead.attributes;>
-
-
-
-<!--                    LONG NAME: Topic Group                     -->
-<!ENTITY % topicgroup.content
-                       "((%topicmeta;)?, 
-                         (%anchor; | 
-                          %data.elements.incl; | 
-                          %navref; | 
-                          %topicref;)* )"
->
-<!ENTITY % topicgroup.attributes
-             "outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %topicref-atts;
-              %univ-atts;"
->
-<!ELEMENT topicgroup    %topicgroup.content;>
-<!ATTLIST topicgroup    %topicgroup.attributes;>
-
-
-<!--                    LONG NAME: Anchor Reference                -->
-<!ENTITY % anchorref.content
-                       "((%topicmeta;)?, 
-                         (%data.elements.incl; |
-                          %topicref;)* )"
->
-<!ENTITY % anchorref.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              copy-to 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              collection-type 
-                        (choice | 
-                         family | 
-                         sequence | 
-                         unordered |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  'anchor'
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              locktitle 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  'ditamap'
-              linking 
-                        (none | 
-                         normal | 
-                         sourceonly | 
-                         targetonly |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              print 
-                        (no | 
-                         printonly | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              search 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              chunk 
-                        CDATA 
-                                  'to-navigation'
-              %univ-atts;"
->
-<!ELEMENT anchorref    %anchorref.content;>
-<!ATTLIST anchorref    %anchorref.attributes;>
-
-
-<!--                    LONG NAME: Map Reference                   -->
-<!ENTITY % mapref.content
-                       "((%topicmeta;)?, 
-                         (%data.elements.incl;)* )"
->
-<!ENTITY % mapref.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              copy-to 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  'ditamap'
-              %topicref-atts-without-format;
-              %univ-atts;"
->
-<!ELEMENT mapref    %mapref.content;>
-<!ATTLIST mapref    %mapref.attributes;>
-
-
-<!--                    LONG NAME: Topicset                        -->
-<!ENTITY % topicset.content
-                       "((%topicmeta;)?, 
-                         (%anchor; | 
-                          %data.elements.incl; |
-                          %navref; | 
-                          %topicref;)* )"
->
-<!ENTITY % topicset.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              copy-to 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              collection-type 
-                        (choice | 
-                         family | 
-                         sequence | 
-                         unordered |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              locktitle 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              linking 
-                        (none | 
-                         normal | 
-                         sourceonly | 
-                         targetonly |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              print 
-                        (no | 
-                         printonly | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              search 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              chunk 
-                        CDATA 
-                                  'to-navigation'
-              id 
-                        NMTOKEN 
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;"
->
-<!ELEMENT topicset    %topicset.content;>
-<!ATTLIST topicset    %topicset.attributes;>
-
-
-<!--                    LONG NAME: Topicset Reference              -->
-<!ENTITY % topicsetref.content
-                       "((%topicmeta;)?, 
-                         (%data.elements.incl; |
-                          %topicref;)* )"
->
-<!ENTITY % topicsetref.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              copy-to 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              collection-type 
-                        (choice | 
-                         family | 
-                         sequence | 
-                         unordered |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  'topicset'
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              locktitle 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  'ditamap'
-              linking 
-                        (none | 
-                         normal | 
-                         sourceonly | 
-                         targetonly |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              print 
-                        (no | 
-                         printonly | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              search 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              chunk 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT topicsetref    %topicsetref.content;>
-<!ATTLIST topicsetref    %topicsetref.attributes;>
-
-
-<!--                    LONG NAME: Key Definition                  -->
-<!ENTITY % keydef.content
-                       "((%topicmeta;)?, 
-                         (%anchor; | 
-                          %data.elements.incl; |
-                          %navref; | 
-                          %topicref;)* )"
->
-<!ENTITY % keydef.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #REQUIRED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              copy-to 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              collection-type 
-                        (choice | 
-                         family | 
-                         sequence | 
-                         unordered |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  'resource-only'
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              locktitle 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              linking 
-                        (none | 
-                         normal | 
-                         sourceonly | 
-                         targetonly |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              print 
-                        (no | 
-                         printonly | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              search 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              chunk 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT keydef    %keydef.content;>
-<!ATTLIST keydef    %keydef.attributes;>
-
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
-
-<!ATTLIST anchorref     %global-atts;  class CDATA "+ map/topicref mapgroup-d/anchorref ">
-<!ATTLIST keydef        %global-atts;  class CDATA "+ map/topicref mapgroup-d/keydef ">
-<!ATTLIST mapref        %global-atts;  class CDATA "+ map/topicref mapgroup-d/mapref ">
-<!ATTLIST topicgroup    %global-atts;  class CDATA "+ map/topicref mapgroup-d/topicgroup ">
-<!ATTLIST topichead     %global-atts;  class CDATA "+ map/topicref mapgroup-d/topichead ">
-<!ATTLIST topicset      %global-atts;  class CDATA "+ map/topicref mapgroup-d/topicset ">
-<!ATTLIST topicsetref   %global-atts;  class CDATA "+ map/topicref mapgroup-d/topicsetref ">
-
-
-<!-- ================== DITA Map Group Domain  =================== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/metaDecl.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/metaDecl.mod
deleted file mode 100644
index 86b0446..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/metaDecl.mod
+++ /dev/null
@@ -1,561 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Metadata                                     -->
-<!--  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//ELEMENTS DITA Metadata//EN"
-      Delivered as file "metaDecl.mod"                             -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for the DITA XML Metadata              -->
-<!--                                                               -->
-<!-- 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: Corrected the "Delivered as" system ID     -->
-<!--    2006.06.06 RDA: Move indexterm into commonElements         -->
-<!--    2006.06.07 RDA: Make universal attributes universal        -->
-<!--                      (DITA 1.1 proposal #12)                  -->
-<!--    2006.11.30 RDA: Add -dita-use-conref-target to enumerated  -->
-<!--                      attributes                               -->
-<!--    2007.12.01 EK:  Reformatted DTD modules for DITA 1.2       -->
-<!--    2008.01.28 RDA: Removed enumerations for attributes:       -->
-<!--                    author/@type, copyright/@type,             -->
-<!--                    permissions/@view, audience/@type,         -->
-<!--                    audience/@job, audience/@experiencelevel   -->
-<!--    2008.01.28 RDA: Moved <metadata> defn. here from topic.mod -->
-<!--    2008.01.30 RDA: Replace @conref defn. with %conref-atts;   -->
-<!--    2008.02.12 RDA: Add ph to source                           -->
-<!--    2008.02.12 RDA: Add @format, @scope, and @type to          -->
-<!--                    publisher, source                          -->
-<!--    2008.02.12 RDA: Add @format, @scope, to author             -->
-<!--    2008.02.13 RDA: Create .content and .attributes entities   -->
-<!--    2009.03.09 RDA: Corrected public ID in comments to use     -->
-<!--                    ELEMENTS instead of ENTITIES               -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT NAME ENTITIES                      -->
-<!-- ============================================================= -->
-
-
-<!ENTITY % date-format 
- "CDATA"
->
-
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS                       -->
-<!-- ============================================================= -->
-
-<!--                    LONG NAME: Author                          -->
-<!ENTITY % author.content
-                       "(%words.cnt;)*"
->
-<!-- 20080128: Removed enumeration for @type for DITA 1.2. Previous values:
-               contributor, creator, -dita-use-conref-target           -->
-<!ENTITY % author.attributes
-             "%univ-atts;
-              href 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                       (external | 
-                        local | 
-                        peer | 
-                        -dita-use-conref-target) 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT author    %author.content;> 
-<!ATTLIST author    %author.attributes;>
-
-<!--                     LONG NAME: Source                         -->
-<!ENTITY % source.content
-                       "(%words.cnt; |
-                         %ph;)*"
->
-<!ENTITY % source.attributes
-             "%univ-atts;
-              href 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                       (external | 
-                        local | 
-                        peer | 
-                        -dita-use-conref-target) 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT source    %source.content;>
-<!ATTLIST source    %source.attributes;>
-
-
-
-<!--                    LONG NAME: Publisher                       -->
-<!ENTITY % publisher.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % publisher.attributes
-             "href 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                       (external | 
-                        local | 
-                        peer | 
-                        -dita-use-conref-target) 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT publisher    %publisher.content;>
-<!ATTLIST publisher    %publisher.attributes;>
-
-<!--                    LONG NAME: Copyright                       -->
-<!ENTITY % copyright.content
-                       "((%copyryear;)+, 
-                         (%copyrholder;))"
->
-<!-- 20080128: Removed enumeration for @type for DITA 1.2. Previous values:
-               primary, secondary, -dita-use-conref-target           -->
-<!ENTITY % copyright.attributes
-             "%univ-atts;
-              type 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT copyright    %copyright.content;> 
-<!ATTLIST copyright    %copyright.attributes;>
-
-<!--                    LONG NAME: Copyright Year                  -->
-<!ENTITY % copyryear.content
-                       "EMPTY"
->
-<!ENTITY % copyryear.attributes
-             "year 
-                        %date-format; 
-                                  #REQUIRED
-              %univ-atts;"
->
-<!ELEMENT copyryear    %copyryear.content;>
-<!ATTLIST copyryear    %copyryear.attributes;>
-
-
-
-<!--                    LONG NAME: Copyright Holder                -->
-<!ENTITY % copyrholder.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % copyrholder.attributes
-             "%univ-atts;"
->
-<!ELEMENT copyrholder    %copyrholder.content;>
-<!ATTLIST copyrholder    %copyrholder.attributes;>
-
-
-
-<!--                    LONG NAME: Critical Dates                  -->
-<!ENTITY % critdates.content
-                       "((%created;)?, 
-                         (%revised;)*)"
->
-<!ENTITY % critdates.attributes
-             "%univ-atts;"
->
-<!ELEMENT critdates    %critdates.content;>
-<!ATTLIST critdates    %critdates.attributes;>
-
-
-
-<!--                    LONG NAME: Created Date                    -->
-<!ENTITY % created.content
-                       "EMPTY"
->
-<!ENTITY % created.attributes
-             "date 
-                        %date-format; 
-                                  #REQUIRED
-              golive 
-                        %date-format; 
-                                  #IMPLIED
-              expiry 
-                        %date-format; 
-                                  #IMPLIED 
-              %univ-atts;"
->
-<!ELEMENT created    %created.content;>
-<!ATTLIST created    %created.attributes;>
-
-
-
-<!--                    LONG NAME: Revised Date                    -->
-<!ENTITY % revised.content
-                       "EMPTY"
->
-<!ENTITY % revised.attributes
-             "modified 
-                        %date-format; 
-                                  #REQUIRED
-              golive 
-                        %date-format; 
-                                  #IMPLIED
-              expiry 
-                        %date-format; 
-                                  #IMPLIED 
-              %univ-atts;"
->
-<!ELEMENT revised    %revised.content;>
-<!ATTLIST revised    %revised.attributes;>
-
-
-<!--                    LONG NAME: Permissions                     -->
-<!ENTITY % permissions.content
-                       "EMPTY"
->
-<!-- 20080128: Removed enumeration for @type for DITA 1.2. Previous values:
-               all, classified, entitled, internal, -dita-use-conref-target -->
-<!ENTITY % permissions.attributes
-             "%univ-atts;
-              view 
-                        CDATA 
-                                  #REQUIRED"
->
-<!ELEMENT permissions    %permissions.content;>  
-<!ATTLIST permissions    %permissions.attributes;>
-
-<!--                    LONG NAME: Category                        -->
-<!ENTITY % category.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % category.attributes
-             "%univ-atts;"
->
-<!ELEMENT category    %category.content;>
-<!ATTLIST category    %category.attributes;>
-
-
-<!--                    LONG NAME: Metadata                        -->
-<!ENTITY % metadata.content
-                       "((%audience;)*, 
-                         (%category;)*, 
-                         (%keywords;)*,
-                         (%prodinfo;)*, 
-                         (%othermeta;)*, 
-                         (%data.elements.incl; |
-                          %foreign.unknown.incl;)*)"
->
-<!ENTITY % metadata.attributes
-             "%univ-atts; 
-              mapkeyref 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT metadata    %metadata.content;>
-<!ATTLIST metadata    %metadata.attributes;>
-
-
-<!--                    LONG NAME: Audience                        -->
-<!ENTITY % audience.content
-                       "EMPTY"
->
-<!-- 20080128: Removed enumerations for DITA 1.2. Previous values:
-         @type: administrator, executive, other, purchaser, programmer, 
-                services, user, -dita-use-conref-target
-         @job: administering, customizing, evaluating, installing,
-               maintaining, migrating, other, planning, programming,
-               troubleshooting, using, -dita-use-conref-target
-         @experiencelevel: expert, general, novice, -dita-use-conref-target -->
-<!ENTITY % audience.attributes
-             "type 
-                        CDATA 
-                                  #IMPLIED
-              othertype 
-                        CDATA 
-                                  #IMPLIED
-              job 
-                        CDATA
-                                  #IMPLIED
-              otherjob 
-                        CDATA 
-                                  #IMPLIED
-              experiencelevel
-                        CDATA 
-                                  #IMPLIED
-              name 
-                        NMTOKEN 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT audience    %audience.content;> 
-<!ATTLIST audience    %audience.attributes;>
-
-<!--                    LONG NAME: Keywords                        -->
-<!ENTITY % keywords.content
-                       "(%indexterm; | 
-                         %keyword;)*"
->
-<!ENTITY % keywords.attributes
-             "%univ-atts;"
->
-<!ELEMENT keywords    %keywords.content;>
-<!ATTLIST keywords    %keywords.attributes;>
-
-
-
-<!--                    LONG NAME: Product Information             -->
-<!ENTITY % prodinfo.content
-                       "((%prodname;), 
-                         (%vrmlist;),
-                         (%brand; | 
-                          %component; | 
-                          %featnum; | 
-                          %platform; | 
-                          %prognum; | 
-                          %series;)* )"
->
-<!ENTITY % prodinfo.attributes
-             "%univ-atts;"
->
-<!ELEMENT prodinfo    %prodinfo.content;>
-<!ATTLIST prodinfo    %prodinfo.attributes;>
-
-
-
-<!--                    LONG NAME: Product Name                    -->
-<!ENTITY % prodname.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % prodname.attributes
-             "%univ-atts;"
->
-<!ELEMENT prodname    %prodname.content;>
-<!ATTLIST prodname    %prodname.attributes;>
-
-
-
-<!--                    LONG NAME: Version Release and Modification
-                                   List                            -->
-<!ENTITY % vrmlist.content
-                       "(%vrm;)+"
->
-<!ENTITY % vrmlist.attributes
-             "%univ-atts;"
->
-<!ELEMENT vrmlist    %vrmlist.content;>
-<!ATTLIST vrmlist    %vrmlist.attributes;>
-
-
-
-<!--                    LONG NAME: Version Release and Modification-->
-<!ENTITY % vrm.content
-                       "EMPTY"
->
-<!ENTITY % vrm.attributes
-             "version 
-                        CDATA 
-                                  #REQUIRED
-              release 
-                        CDATA 
-                                  #IMPLIED
-              modification 
-                        CDATA 
-                                  #IMPLIED 
-              %univ-atts;"
->
-<!ELEMENT vrm    %vrm.content;>
-<!ATTLIST vrm    %vrm.attributes;>
-
- 
-<!--                    LONG NAME: Brand                           -->
-<!ENTITY % brand.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % brand.attributes
-             "%univ-atts;"
->
-<!ELEMENT brand    %brand.content;>
-<!ATTLIST brand    %brand.attributes;>
-
-
-
-<!--                    LONG NAME: Series                          -->
-<!ENTITY % series.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % series.attributes
-             "%univ-atts;"
->
-<!ELEMENT series    %series.content;>
-<!ATTLIST series    %series.attributes;>
-
-
-
-<!--                    LONG NAME: Platform                        -->
-<!ENTITY % platform.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % platform.attributes
-             "%univ-atts;"
->
-<!ELEMENT platform    %platform.content;>
-<!ATTLIST platform    %platform.attributes;>
-
-
-<!--                    LONG NAME: Program Number                  -->
-<!ENTITY % prognum.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % prognum.attributes
-             "%univ-atts;"
->
-<!ELEMENT prognum    %prognum.content;>
-<!ATTLIST prognum    %prognum.attributes;>
-
-
-
-<!--                    LONG NAME: Feature Number                  -->
-<!ENTITY % featnum.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % featnum.attributes
-             "%univ-atts;"
->
-<!ELEMENT featnum    %featnum.content;>
-<!ATTLIST featnum    %featnum.attributes;>
-
-
-
-<!--                    LONG NAME: Component                       -->
-<!ENTITY % component.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % component.attributes
-             "%univ-atts;"
->
-<!ELEMENT component    %component.content;>
-<!ATTLIST component    %component.attributes;>
-
-
-
-<!--                    LONG NAME: Other Metadata                  -->
-<!--                    NOTE: needs to be HTML-equiv, at least     -->
-<!ENTITY % othermeta.content
-                       "EMPTY"
->
-<!ENTITY % othermeta.attributes
-             "name 
-                        CDATA 
-                                  #REQUIRED
-              content 
-                        CDATA 
-                                  #REQUIRED
-              translate-content
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-              #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT othermeta    %othermeta.content;>
-<!ATTLIST othermeta    %othermeta.attributes;>
-
-
-
-<!--                    LONG NAME: Resource Identifier             -->
-<!ENTITY % resourceid.content
-                       "EMPTY"
->
-<!ENTITY % resourceid.attributes
-             "%select-atts;
-              %localization-atts;
-              id 
-                        CDATA 
-                                  #REQUIRED
-              %conref-atts;
-              appname 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT resourceid    %resourceid.content;>
-<!ATTLIST resourceid    %resourceid.attributes;>
-
-
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
- 
-
-<!ATTLIST author      %global-atts;  class CDATA "- topic/author "      >
-<!ATTLIST source      %global-atts;  class CDATA "- topic/source "      >
-<!ATTLIST publisher   %global-atts;  class CDATA "- topic/publisher "   >
-<!ATTLIST copyright   %global-atts;  class CDATA "- topic/copyright "   >
-<!ATTLIST copyryear   %global-atts;  class CDATA "- topic/copyryear "   >
-<!ATTLIST copyrholder %global-atts;  class CDATA "- topic/copyrholder " >
-<!ATTLIST critdates   %global-atts;  class CDATA "- topic/critdates "   >
-<!ATTLIST created     %global-atts;  class CDATA "- topic/created "     >
-<!ATTLIST revised     %global-atts;  class CDATA "- topic/revised "     >
-<!ATTLIST permissions %global-atts;  class CDATA "- topic/permissions " >
-<!ATTLIST category    %global-atts;  class CDATA "- topic/category "    >
-<!ATTLIST metadata    %global-atts;  class CDATA "- topic/metadata "   >
-<!ATTLIST audience    %global-atts;  class CDATA "- topic/audience "    >
-<!ATTLIST keywords    %global-atts;  class CDATA "- topic/keywords "    >
-<!ATTLIST prodinfo    %global-atts;  class CDATA "- topic/prodinfo "    >
-<!ATTLIST prodname    %global-atts;  class CDATA "- topic/prodname "    >
-<!ATTLIST vrmlist     %global-atts;  class CDATA "- topic/vrmlist "     >
-<!ATTLIST vrm         %global-atts;  class CDATA "- topic/vrm "         >
-<!ATTLIST brand       %global-atts;  class CDATA "- topic/brand "       >
-<!ATTLIST series      %global-atts;  class CDATA "- topic/series "      >
-<!ATTLIST platform    %global-atts;  class CDATA "- topic/platform "    >
-<!ATTLIST prognum     %global-atts;  class CDATA "- topic/prognum "     >
-<!ATTLIST featnum     %global-atts;  class CDATA "- topic/featnum "     >
-<!ATTLIST component   %global-atts;  class CDATA "- topic/component "   >
-<!ATTLIST othermeta   %global-atts;  class CDATA "- topic/othermeta "   >
-<!ATTLIST resourceid  %global-atts;  class CDATA "- topic/resourceid "  >
-
-<!-- ================== End Metadata  ================================ -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/tblDecl.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/tblDecl.mod
deleted file mode 100644
index c6cee8b..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/tblDecl.mod
+++ /dev/null
@@ -1,411 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    XML EXCHANGE TABLE MODEL DECLARATION MODULE       -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!--             (C) Copyright OASIS Open 2005, 2009.              -->
-<!--             (C) Copyright IBM Corporation 2001, 2004.         -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2005.11.15 RDA: Corrected the "Delivered as" system ID     -->
-<!--    2006.06.07 RDA: Make universal attributes universal        -->
-<!--                      (DITA 1.1 proposal #12)                  -->
-<!--    2006.11.30 RDA: Add -dita-use-conref-target to enumerated  -->
-<!--                      attributes                               -->
-<!--    2008.02.13 RDA: Create .content and .attributes entities;  -->
-<!--                    requires reorganization of some existing   -->
-<!--                    entities provided with the Exchange Model  -->
-
-<!-- ============================================================= -->
-<!--  Delivered as file "tblDecl.mod"                              -->
-<!-- ============================================================= -->
-
-
-<!-- XML EXCHANGE TABLE MODEL DECLARATION MODULE                   -->
-
-<!-- OASIS DITA 1.0 notes:
-     The Exchange Table Model replaces the original CALS-based model
-     used in development versions of the DITA definition.
-     This set of declarations defines the XML version of the Exchange
-     Table Model as adapted for OASIS DITA version 1.0.
-     The base for the DITA version of the Exchange Table Model is
-     defined at http://www.oasis-open.org/specs/tm9901.htm .
-     The DITA version specifically extends this model with these DITA-
-     specific content and attribute adaptations to the DITA processing
-     requirements:
-
-STRUCTURE:
-
-Introduce the DITA-unique <desc> element (optional after <title>); this element
-enables more consistent presentation of both figures and tables.
-
-
-ATTRIBUTES:
-
-For frame, align, and valign attributes on any element:
-  Add the enumerated value -dita-use-conref-target for DITA 1.1.  
-
-For the <table> element, add:
-  %univ-atts; which consists of:
-    %select-atts; [for selection, conditional processing]
-    %id-atts; [for conref and linking]
-    %localization-atts (@translate + @xml:lang) [for NLS processing support]
-    %global-atts; (@xtrf + @xtrc) [for tracing and messaging support in processors]
-    @class [for specialization support]
-  @outputclass [for role designation (ie, styles, future migrations)]
-  @rowheader [for accessibility support in processing]
-  %display-atts; which consists of:
-    @scale [for presentational equivalence with other scaled exhibits: fig, pre, lines, simpletable]
-    @frame (already part of table)
-    @pgwide (already part of table, same intent as original @expanse)
-
-For <tgroup>, <thead>, <tbody>, and <row>, add:
-  %univ-atts;
-  %global-atts;
-  @class
-  @outputclass [for role designation (ie, styles, future migrations)]
-
-For <entry>, add:
-  %id-atts;
-  %global-atts
-  @class
-  @outputclass [for role designation (ie, styles, future migrations)]
-  @rev [for indication of revised content for flag-based processing]
-
--->
-
-<!-- DITA specialization support: element redefinition for expansion -->
-
-<!ENTITY % table "table">
-<!ENTITY % tgroup "tgroup">
-<!ENTITY % colspec "colspec">
-<!ENTITY % thead "thead">
-<!ENTITY % tbody "tbody">
-<!ENTITY % row "row">
-<!ENTITY % entry "entry">
-
-<!-- The Formal Public Identifier (FPI) for this DITA adaptation of
-     the Exchange Table Model shall be:
-
-     "-//OASIS//ELEMENTS DITA Exchange Table Model//EN"
-
-     This set of declarations may be referred to using a public external
-     entity declaration and reference as shown in the following three
-     lines:
-
-     <!ENTITY % tableXML
-       PUBLIC "-//OASIS//ELEMENTS DITA Exchange Table Model//EN">
-       %tableXML;
--->
-
-
-
-<!-- In order to use the Exchange table model, various parameter entity
-     declarations are required.  A brief description is as follows:
-
-     ENTITY NAME      WHERE USED              WHAT IT IS
-
-     %yesorno         In ATTLIST of:          An attribute declared value
-                      almost all elements     for a "boolean" attribute
-
-     %paracon         In content model of:    The "text" (logical content)
-                      <entry>                 of the model group for <entry>
-
-     %titles          In content model of:    The "title" part of the model
-                      table element           group for the table element
-
-     %tbl.table.name  In declaration of:      The name of the "table"
-                      table element           element
-
-     %tbl.table-titles.mdl In content model of: The model group for the title
-                      table elements          part of the content model for
-                                              table element
-
-     %tbl.table.mdl   In content model of:    The model group for the content
-                      table elements          model for table element,
-                                              often (and by default) defined
-                                              in terms of %tbl.table-titles.mdl
-                                              and tgroup
-
-     %tbl.table.att   In ATTLIST of:          Additional attributes on the
-                      table element           table element
-
-     %bodyatt         In ATTLIST of:          Additional attributes on the
-                      table element           table element (for backward
-                                              compatibility with the SGML
-                                              model)
-
-     %tbl.tgroup.mdl  In content model of:    The model group for the content
-                      <tgroup>                model for <tgroup>
-
-     %tbl.tgroup.att  In ATTLIST of:          Additional attributes on the
-                      <tgroup>                <tgroup> element
-
-     %tbl.thead.att   In ATTLIST of:          Additional attributes on the
-                      <thead>                 <thead> element
-
-     %tbl.tbody.att   In ATTLIST of:          Additional attributes on the
-                      <tbody>                 <tbody> element
-
-     %tbl.colspec.att In ATTLIST of:          Additional attributes on the
-                      <colspec>               <colspec> element
-
-     %tbl.row.mdl     In content model of:    The model group for the content
-                      <row>                   model for <row>
-
-     %tbl.row.att     In ATTLIST of:          Additional attributes on the
-                      <row>                   <row> element
-
-     %tbl.entry.mdl   In content model of:    The model group for the content
-                      <entry>                 model for <entry>
-
-     %tbl.entry.att   In ATTLIST of:          Additional attributes on the
-                      <entry>                 <entry> element
-
-     This set of declarations will use the default definitions shown below
-     for any of these parameter entities that are not declared before this
-     set of declarations is referenced.
-
-     Note that DITA properties are added in cumulative declarations at the end.
--->
-
-<!-- These definitions are not directly related to the table model, but are
-     used in the default CALS table model and may be defined elsewhere (and
-     prior to the inclusion of this table module) in the referencing DTD. -->
-
-<!ENTITY % yesorno 'NMTOKEN'> <!-- no if zero(s), yes if any other value -->
-<!ENTITY % titles  'title?'>
-<!ENTITY % paracon '%tblcell.cnt;'> <!-- default for use in entry content -->
-
-<!--
-The parameter entities as defined below change and simplify the CALS table
-model as published (as part of the Example DTD) in MIL-HDBK-28001.  The
-resulting simplified DTD has support from the SGML Open vendors and is
-therefore more interoperable among different systems.
-
-These following declarations provide the Exchange default definitions
-for these entities.  However, these entities can be redefined (by giving
-the appropriate parameter entity declaration(s) prior to the reference
-to this Table Model declaration set entity) to fit the needs of the
-current application.
-
-Note, however, that changes may have significant effect on the ability to
-interchange table information.  These changes may manifest themselves
-in useability, presentation, and possible structure information degradation.
--->
-
-<!ENTITY % tbl.table.name       "table">
-<!ENTITY % tbl.table-titles.mdl "((%title;)?, (%desc;)?)?,">
-<!ENTITY % tbl.table-main.mdl   "(%tgroup;)+">
-<!ENTITY % tbl.table.mdl        "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
-<!ENTITY % tbl.table.att        "
-    pgwide      %yesorno;       #IMPLIED ">
-<!ENTITY % bodyatt              "">
-<!ENTITY % tbl.tgroup.mdl       "(%colspec;)*, (%thead;)?, %tbody;">
-<!ENTITY % tbl.tgroup.att       "">
-<!ENTITY % tbl.thead.att        "">
-<!ENTITY % tbl.tbody.att        "">
-<!ENTITY % tbl.colspec.att      "base                        CDATA   #IMPLIED
-                                 %base-attribute-extensions;">
-<!ENTITY % tbl.row.mdl          "(%entry;)+">
-<!ENTITY % tbl.row.att          "">
-<!ENTITY % tbl.entry.mdl        "(%paracon;)*">
-<!ENTITY % tbl.entry.att        "base                        CDATA   #IMPLIED
-                                 %base-attribute-extensions;">
-
-<!-- =====  Element and attribute declarations follow. =====  -->
-
-<!-- ============================================================= -->
-<!--                    DITA BEHAVIOR ATTRIBUTES                   -->
-<!-- ============================================================= -->
-
-<!ENTITY % dita.table.attributes
-       "rowheader   (firstcol | norowheader | 
-                         -dita-use-conref-target) #IMPLIED
-        scale (50|60|70|80|90|100|110|120|140|160|180|200| 
-                         -dita-use-conref-target) #IMPLIED
-        %univ-atts;
-        outputclass CDATA #IMPLIED">
-<!ENTITY % dita.tgroup.attributes
-       "%univ-atts;
-        outputclass CDATA #IMPLIED">
-<!ENTITY % dita.thead.attributes
-       "%univ-atts;
-        outputclass CDATA #IMPLIED">
-<!ENTITY % dita.tbody.attributes
-       "%univ-atts;
-        outputclass CDATA #IMPLIED">
-<!ENTITY % dita.row.attributes
-       "%univ-atts;
-        outputclass CDATA #IMPLIED">
-<!ENTITY % dita.entry.attributes
-       "%id-atts;
-        %localization-atts;
-        rev CDATA #IMPLIED
-        outputclass CDATA #IMPLIED">
-<!ENTITY % dita.colspec.attributes
-       "%id-atts;
-        %localization-atts;">
-
-<!-- ============================================================= -->
-<!--                   ORIGINAL ELEMENT AND ATTRIBUTE DECLARATIONS -->
-<!-- ============================================================= -->
-
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % tbl.table.name       "table"
-     ENTITY % tbl.table-titles.mdl "%titles;,"
-     ENTITY % tbl.table.mdl        "%tbl.table-titles; tgroup+"
-     ENTITY % tbl.table.att        "
-                        pgwide          %yesorno;       #IMPLIED "
--->
-
-<!ENTITY % table.content     "(%tbl.table.mdl;)">
-<!ENTITY % table.attributes
-       "frame           (top|bottom|topbot|all|sides|none| 
-                         -dita-use-conref-target)               #IMPLIED
-        colsep          %yesorno;                               #IMPLIED
-        rowsep          %yesorno;                               #IMPLIED
-        %tbl.table.att;
-        %bodyatt;
-        %dita.table.attributes;">
-<!ELEMENT %tbl.table.name;    %table.content;>
-<!ATTLIST %tbl.table.name;    %table.attributes;>
-
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % tbl.tgroup.mdl    "colspec*,thead?,tbody"
-     ENTITY % tbl.tgroup.att    ""
--->
-
-<!ENTITY % tgroup.content     "(%tbl.tgroup.mdl;)">
-<!ENTITY % tgroup.attributes
-       "cols            NMTOKEN                                 #REQUIRED
-        colsep          %yesorno;                               #IMPLIED
-        rowsep          %yesorno;                               #IMPLIED
-        align           (left|right|center|justify|char| 
-                         -dita-use-conref-target)               #IMPLIED
-        %tbl.tgroup.att;
-        %dita.tgroup.attributes;">
-<!ELEMENT tgroup    %tgroup.content;>
-<!ATTLIST tgroup    %tgroup.attributes;>
-
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % tbl.colspec.att   ""
--->
-
-<!ENTITY % colspec.content     "EMPTY">
-<!ENTITY % colspec.attributes
-       "colnum          NMTOKEN                                 #IMPLIED
-        colname         NMTOKEN                                 #IMPLIED
-        colwidth        CDATA                                   #IMPLIED
-        colsep          %yesorno;                               #IMPLIED
-        rowsep          %yesorno;                               #IMPLIED
-        align           (left|right|center|justify|char| 
-                         -dita-use-conref-target)               #IMPLIED
-        char            CDATA                                   #IMPLIED
-        charoff         NMTOKEN                                 #IMPLIED
-        %tbl.colspec.att;
-        %dita.colspec.attributes;">
-<!ELEMENT colspec    %colspec.content;>
-<!ATTLIST colspec    %colspec.attributes;>
-
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % tbl.thead.att      ""
--->
-
-<!ENTITY % thead.content     "((%row;)+)">
-<!ENTITY % thead.attributes
-       "valign          (top|middle|bottom|
-                         -dita-use-conref-target)               #IMPLIED
-        %tbl.thead.att;
-        %dita.thead.attributes;">
-<!ELEMENT thead    %thead.content;>
-<!ATTLIST thead    %thead.attributes;>
-
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % tbl.tbody.att     ""
--->
-
-<!ENTITY % tbody.content     "(%row;)+">
-<!ENTITY % tbody.attributes
-       "valign          (top|middle|bottom| 
-                         -dita-use-conref-target)               #IMPLIED
-        %tbl.tbody.att;
-        %dita.tbody.attributes;">
-<!ELEMENT tbody    %tbody.content;>
-<!ATTLIST tbody    %tbody.attributes;>
-
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % tbl.row.mdl       "entry+"
-     ENTITY % tbl.row.att       ""
--->
-
-<!ENTITY % row.content     "(%tbl.row.mdl;)">
-<!ENTITY % row.attributes
-       "rowsep          %yesorno;                               #IMPLIED
-        valign          (top|middle|bottom| 
-                         -dita-use-conref-target)               #IMPLIED
-        %tbl.row.att;
-        %dita.row.attributes;">
-<!ELEMENT row    %row.content;>
-<!ATTLIST row    %row.attributes;>
-
-<!--
-     Default declarations previously defined in this entity and
-     referenced below include:
-     ENTITY % paracon           "#PCDATA"
-     ENTITY % tbl.entry.mdl     "(%paracon;)*"
-     ENTITY % tbl.entry.att     ""
--->
-
-<!ENTITY % entry.content     "%tbl.entry.mdl;">
-<!ENTITY % entry.attributes
-       "colname         NMTOKEN                                 #IMPLIED
-        namest          NMTOKEN                                 #IMPLIED
-        nameend         NMTOKEN                                 #IMPLIED
-        morerows        NMTOKEN                                 #IMPLIED
-        colsep          %yesorno;                               #IMPLIED
-        rowsep          %yesorno;                               #IMPLIED
-        align           (left|right|center|justify|char| 
-                         -dita-use-conref-target)               #IMPLIED
-        char                                CDATA                                   #IMPLIED
-        charoff         NMTOKEN                                 #IMPLIED
-        valign          (top|middle|bottom| 
-                         -dita-use-conref-target)               #IMPLIED
-        %tbl.entry.att;
-        %dita.entry.attributes;">
-<!ELEMENT entry    %entry.content;>
-<!ATTLIST entry    %entry.attributes;>
-
-
-<!-- ============================================================= -->
-<!--                    DITA SPECIALIZATION ATTRIBUTE DECLARATIONS -->
-<!-- ============================================================= -->
-
-<!ATTLIST table    %global-atts;  class CDATA "- topic/table "       >
-<!ATTLIST tgroup   %global-atts;  class CDATA "- topic/tgroup "      >
-<!ATTLIST colspec  %global-atts;  class CDATA "- topic/colspec "     >
-<!ATTLIST thead    %global-atts;  class CDATA "- topic/thead "       >
-<!ATTLIST tbody    %global-atts;  class CDATA "- topic/tbody "       >
-<!ATTLIST row      %global-atts;  class CDATA "- topic/row "         >
-<!ATTLIST entry    %global-atts;  class CDATA "- topic/entry "       >
-
-
-<!-- ================== End XML Exchange Table Model ============= -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/topic.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/topic.mod
deleted file mode 100644
index 4550367..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/topic.mod
+++ /dev/null
@@ -1,687 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA DITA Topic                                   -->
-<!--  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//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, 2009.              -->
-<!--             (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   -->
-<!--    2006.11.30 RDA: Add -dita-use-conref-target to enumerated  -->
-<!--                      attributes                               -->
-<!--    2006.11.30 RDA: Remove #FIXED from DITAArchVersion         -->
-<!--    2007.12.01 EK:  Reformatted DTD modules for DITA 1.2       -->
-<!--    2008.01.28 RDA: Add draft-comment to body.cnt              -->
-<!--    2008.01.28 RDA: Moved <metadata> defn. to metaDecl.mod     -->
-<!--    2008.01.30 RDA: Replace @conref defn. with %conref-atts;   -->
-<!--    2008.02.12 RDA: Add ph to linktext, navtitle, searchtitle  -->
-<!--    2008.02.12 RDA: Modify imbeds to use specific 1.2 version  -->
-<!--    2008.02.12 RDA: Move navtitle to commonElements.mod        -->
-<!--    2008.02.13 RDA: Add bodydiv and sectiondiv                 -->
-<!--    2008.02.13 RDA: Create .content and .attributes entities   -->
-<!--    2008.05.06 RDA: Moved sectiondiv to section.cnt; created   -->
-<!--                    example.cnt for use by example element     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   ARCHITECTURE ENTITIES                       -->
-<!-- ============================================================= -->
-
-<!-- default namespace prefix for DITAArchVersion attribute can be
-     overridden through predefinition in the document type shell   -->
-<!ENTITY % DITAArchNSPrefix
-  "ditaarch"
->
-
-<!-- must be instanced on each topic type                          -->
-<!ENTITY % arch-atts 
-             "xmlns:%DITAArchNSPrefix; 
-                        CDATA
-                                  #FIXED 'http://dita.oasis-open.org/architecture/2005/'
-              %DITAArchNSPrefix;:DITAArchVersion
-                         CDATA
-                                  '1.2'
-  "
->
-
-
-<!-- ============================================================= -->
-<!--                   ELEMENT NAME ENTITIES                       -->
-<!-- ============================================================= -->
-
-<!--                    Definitions of declared elements           -->
-<!ENTITY % topicDefns 
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Topic Definitions//EN" 
-         "topicDefn.ent" 
->%topicDefns;
-
-<!--                      Content elements common to map and topic -->
-<!ENTITY % commonElements 
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Common Elements//EN" 
-         "commonElements.mod" 
->%commonElements;
-
-<!--                       MetaData Elements, plus indexterm       -->
-<!ENTITY % metaXML 
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Metadata//EN" 
-         "metaDecl.mod" 
->%metaXML;
-
-
-<!-- ============================================================= -->
-<!--                    ENTITY DECLARATIONS FOR ATTRIBUTE VALUES   -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    COMMON ATTLIST SETS                        -->
-<!-- ============================================================= -->
-
-
-<!ENTITY % abstract.cnt 
-  "#PCDATA | 
-   %basic.block; | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %shortdesc; | 
-   %txt.incl;
-  "
->
-<!ENTITY % body.cnt 
-  "%basic.block; | 
-   %data.elements.incl; |
-   %draft-comment; | 
-   %foreign.unknown.incl; | 
-   %required-cleanup;
-  "
->
-<!-- bodydiv also includes bodydiv and section -->
-<!ENTITY % bodydiv.cnt 
-  "#PCDATA | 
-   %basic.block; | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %txt.incl;
-  "
->
-<!ENTITY % example.cnt 
-  "#PCDATA | 
-   %basic.block; | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; |
-   %title; | 
-   %txt.incl;
-  "
->
-<!ENTITY % section.cnt 
-  "#PCDATA | 
-   %basic.block; | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; |
-   %sectiondiv; | 
-   %title; | 
-   %txt.incl;
-  "
->
-<!ENTITY % section.notitle.cnt 
-  "#PCDATA | 
-   %basic.block; | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; |
-   %sectiondiv; | 
-   %txt.incl;
-  "
->
-<!-- sectiondiv also includes sectiondiv -->
-<!ENTITY % sectiondiv.cnt 
-  "#PCDATA | 
-   %basic.block; | 
-   %basic.ph; | 
-   %data.elements.incl; | 
-   %foreign.unknown.incl; | 
-   %txt.incl;
-  "
->
-
-
-<!-- ============================================================= -->
-<!--                COMMON ENTITY DECLARATIONS                     -->
-<!-- ============================================================= -->
-
-<!-- Use of this entity is deprecated; the nbsp entity will be 
-     removed in DITA 2.0.                                          -->
-<!ENTITY nbsp                   "&#xA0;"                             >
-
-
-<!-- ============================================================= -->
-<!--                    NOTATION DECLARATIONS                      -->
-<!-- ============================================================= -->
-<!--                    DITA uses the direct reference model; 
-                        notations may be added later as required   -->
-
-
-<!-- ============================================================= -->
-<!--                    STRUCTURAL MEMBERS                         -->
-<!-- ============================================================= -->
-
-
-<!ENTITY % info-types 
-  "topic
-  "
-> 
-
-
-<!-- ============================================================= -->
-<!--                    COMMON ATTLIST SETS                        -->
-<!-- ============================================================= -->
-
-<!-- Copied into metaDecl.mod -->
-<!--<!ENTITY % date-format 'CDATA'                                >-->
-
-<!-- 20080128: Use relational-atts in place of rel-atts. The new
-               entity adds scope and format attributes.            -->
-<!ENTITY % relational-atts 
-             'type 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              role 
-                        (ancestor | 
-                         child | 
-                         cousin | 
-                         descendant | 
-                         external | 
-                         friend | 
-                         next | 
-                         other |
-                         parent | 
-                         previous | 
-                         sample | 
-                         sibling | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              otherrole 
-                        CDATA 
-                                  #IMPLIED
-  '
->
-<!ENTITY % rel-atts 
-             'type 
-                        CDATA 
-                                  #IMPLIED
-              role 
-                        (ancestor | 
-                         child | 
-                         cousin | 
-                         descendant | 
-                         external | 
-                         friend | 
-                         next | 
-                         other |
-                         parent | 
-                         previous | 
-                         sample | 
-                         sibling | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              otherrole 
-                        CDATA 
-                                  #IMPLIED
-  '
->
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION OF DECLARED ELEMENTS        -->
-<!-- ============================================================= -->
-
-<!ENTITY % topic-info-types 
-  "%info-types;
-  "
->
-
-
-<!-- ============================================================= -->
-<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
-<!-- ============================================================= -->
-
-<!ENTITY included-domains 
-  ""
->
- 
-
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS                       -->
-<!-- ============================================================= -->
-
-<!--                    LONG NAME: Topic                           -->
-<!ENTITY % topic.content
-                       "((%title;), 
-                         (%titlealts;)?,
-                         (%shortdesc; | 
-                          %abstract;)?, 
-                         (%prolog;)?, 
-                         (%body;)?, 
-                         (%related-links;)?,
-                         (%topic-info-types;)*)
-">
-<!ENTITY % topic.attributes
-             "id 
-                        ID
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass 
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT topic    %topic.content;>
-<!ATTLIST topic
-              %topic.attributes;
-              %arch-atts;
-              domains 
-                        CDATA
-                                  "&included-domains;"
->
-
-
-<!--                    LONG NAME: Title Alternatives              -->
-<!ENTITY % titlealts.content
-                       "((%navtitle;)?, 
-                         (%searchtitle;)?)"
->
-<!ENTITY % titlealts.attributes
-             "%univ-atts;"
->
-<!ELEMENT titlealts    %titlealts.content;>
-<!ATTLIST titlealts    %titlealts.attributes;>
-
-
-<!--   navtitle moved to commonElements.mod for DITA 1.2           -->
-
-<!--                    LONG NAME: Search Title                    -->
-<!ENTITY % searchtitle.content
-                       "(%words.cnt; |
-                         %ph;)*"
->
-<!ENTITY % searchtitle.attributes
-             "%univ-atts;"
->
-<!ELEMENT searchtitle    %searchtitle.content;>
-<!ATTLIST searchtitle    %searchtitle.attributes;>
-
-
-
-<!--                    LONG NAME: Abstract                        -->
-<!ENTITY % abstract.content
-                       "(%abstract.cnt;)*"
->
-<!ENTITY % abstract.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT abstract    %abstract.content;>
-<!ATTLIST abstract    %abstract.attributes;>
-
- 
-<!--                    LONG NAME: Body                            -->
-<!ENTITY % body.content
-                       "(%body.cnt; |
-                         %bodydiv; | 
-                         %example; | 
-                         %section;)*"
->
-<!ENTITY % body.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT body    %body.content;>
-<!ATTLIST body    %body.attributes;>
-
-
-<!--                    LONG NAME: Body division                   -->
-<!ENTITY % bodydiv.content
-                       "(%bodydiv.cnt; |
-                         %bodydiv; |
-                         %section;)*"
->
-<!ENTITY % bodydiv.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT bodydiv    %bodydiv.content;>
-<!ATTLIST bodydiv    %bodydiv.attributes;>
-
-
-<!--                    LONG NAME: No Topic nesting                -->
-<!ELEMENT no-topic-nesting    EMPTY>
-
-<!--                    LONG NAME: Section                         -->
-<!ENTITY % section.content
-                       "(%section.cnt;)*"
->
-<!ENTITY % section.attributes
-             "spectitle 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT section    %section.content;>
-<!ATTLIST section    %section.attributes;>
-
-
-<!--                    LONG NAME: Section division                -->
-<!ENTITY % sectiondiv.content
-                       "(%sectiondiv.cnt; |
-                         %sectiondiv;)*"
->
-<!ENTITY % sectiondiv.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT sectiondiv    %sectiondiv.content;>
-<!ATTLIST sectiondiv    %sectiondiv.attributes;>
-
-
-<!--                    LONG NAME: Example                         -->
-<!ENTITY % example.content
-                       "(%example.cnt;)*"
->
-<!ENTITY % example.attributes
-             "spectitle 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT example    %example.content;>
-<!ATTLIST example    %example.attributes;>
-
-
-<!-- ============================================================= -->
-<!--                    PROLOG (METADATA FOR TOPICS)               -->
-<!--                    TYPED DATA ELEMENTS                        -->
-<!-- ============================================================= -->
-<!--                    typed content definitions                  -->
-<!--                    typed, localizable content                 -->
-
-<!--                    LONG NAME: Prolog                          -->
-<!ENTITY % prolog.content
-                       "((%author;)*, 
-                         (%source;)?, 
-                         (%publisher;)?,
-                         (%copyright;)*, 
-                         (%critdates;)?,
-                         (%permissions;)?, 
-                         (%metadata;)*, 
-                         (%resourceid;)*,
-                         (%data.elements.incl; | 
-                          %foreign.unknown.incl;)*)"
->
-<!ENTITY % prolog.attributes
-             "%univ-atts;"
->
-<!ELEMENT prolog    %prolog.content;>
-<!ATTLIST prolog    %prolog.attributes;>
-
-
-<!-- ============================================================= -->
-<!--                    BASIC DOCUMENT ELEMENT DECLARATIONS        -->
-<!--                    (rich text)                                -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   BASE FORM PHRASE TYPES                      -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                      LINKING GROUPING                         -->
-<!-- ============================================================= -->
-
-
-<!--                    LONG NAME: Related Links                   -->
-<!ENTITY % related-links.content
-                       "(%link; | 
-                         %linklist; | 
-                         %linkpool;)*"
->
-<!ENTITY % related-links.attributes
-             "%relational-atts;
-              %univ-atts;
-              outputclass 
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT related-links    %related-links.content;>
-<!ATTLIST related-links    %related-links.attributes;>
-
-
-
-<!--                    LONG NAME: Link                            -->
-<!ENTITY % link.content
-                       "((%linktext;)?, 
-                         (%desc;)?)"
->
-<!ENTITY % link.attributes
-             "href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              %relational-atts;
-              %univ-atts;
-              outputclass 
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT link    %link.content;>
-<!ATTLIST link    %link.attributes;>
-
-
-
-<!--                    LONG NAME: Link Text                       -->
-<!ENTITY % linktext.content
-                       "(%words.cnt; |
-                         %ph;)*"
->
-<!ENTITY % linktext.attributes
-             "%univ-atts;"
->
-<!ELEMENT linktext    %linktext.content;>
-<!ATTLIST linktext    %linktext.attributes;>
-
-
-<!--                    LONG NAME: Link List                       -->
-<!ENTITY % linklist.content
-                       "((%title;)?, 
-                         (%desc;)?,
-                         (%linklist; | 
-                          %link;)*, 
-                         (%linkinfo;)?)"
->
-<!ENTITY % linklist.attributes
-             "collection-type 
-                        (choice |
-                         family | 
-                         sequence | 
-                         tree | 
-                         unordered | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              duplicates 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              mapkeyref 
-                        CDATA
-                                  #IMPLIED
-              %relational-atts;
-              %univ-atts;
-              spectitle 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT linklist    %linklist.content;>
-<!ATTLIST linklist    %linklist.attributes;>
-
-
-
-<!--                    LONG NAME: Link Information                -->
-<!ENTITY % linkinfo.content
-                       "(%desc.cnt;)*"
->
-<!ENTITY % linkinfo.attributes
-             "%univ-atts;"
->
-<!ELEMENT linkinfo    %linkinfo.content;>
-<!ATTLIST linkinfo    %linkinfo.attributes;>
-
-
-
-<!--                    LONG NAME: Link Pool                       -->
-<!ENTITY % linkpool.content
-                       "(%linkpool; | 
-                         %link;)*"
->
-<!ENTITY % linkpool.attributes
-             "collection-type 
-                        (choice |
-                         family | 
-                         sequence | 
-                         tree | 
-                         unordered | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              duplicates 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              mapkeyref 
-                        CDATA
-                                  #IMPLIED
-              %relational-atts;
-              %univ-atts;
-              outputclass 
-                         CDATA
-                                  #IMPLIED"
->
-<!ELEMENT linkpool    %linkpool.content;>
-<!ATTLIST linkpool    %linkpool.attributes;>
-
-
-
-
-<!-- ============================================================= -->
-<!--                    MODULES CALLS                              -->
-<!-- ============================================================= -->
-
-
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
- 
-<!ATTLIST abstract  %global-atts;  class CDATA "- topic/abstract "   >
-<!ATTLIST body      %global-atts;  class CDATA "- topic/body "       >
-<!ATTLIST bodydiv   %global-atts;  class CDATA "- topic/bodydiv "    >
-<!ATTLIST example   %global-atts;  class CDATA "- topic/example "    >
-<!ATTLIST link      %global-atts;  class CDATA "- topic/link "       >
-<!ATTLIST linkinfo  %global-atts;  class CDATA "- topic/linkinfo "   >
-<!ATTLIST linklist  %global-atts;  class CDATA "- topic/linklist "   >
-<!ATTLIST linkpool  %global-atts;  class CDATA "- topic/linkpool "   >
-<!ATTLIST linktext  %global-atts;  class CDATA "- topic/linktext "   >
-<!ATTLIST no-topic-nesting 
-                    %global-atts;  class CDATA "- topic/no-topic-nesting ">
-<!ATTLIST prolog    %global-atts;  class CDATA "- topic/prolog "     >
-<!ATTLIST related-links 
-                    %global-atts;  class CDATA "- topic/related-links ">
-<!ATTLIST searchtitle 
-                    %global-atts;  class CDATA "- topic/searchtitle ">
-<!ATTLIST section   %global-atts;  class CDATA "- topic/section "    >
-<!ATTLIST sectiondiv
-                    %global-atts;  class CDATA "- topic/sectiondiv " >
-<!ATTLIST titlealts %global-atts;  class CDATA "- topic/titlealts "  >
-<!ATTLIST topic     %global-atts;  class CDATA "- topic/topic "      >
-
-<!-- Shortdesc in map uses map/shortdesc so this one must be 
-     included, even though the element is common. -->
-<!ATTLIST shortdesc   %global-atts;  class CDATA "- topic/shortdesc ">
-
-<!-- ================== End DITA Topic  ========================== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/topicDefn.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/topicDefn.ent
deleted file mode 100644
index 832c330..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/topicDefn.ent
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Topic Definitions                            -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identifier or an 
-PUBLIC"-//OASIS//ENTITIES DITA Topic Definitions//EN"
-      Delivered as file "topicDefn.ent"                            -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the topic definitions                   -->
-<!--                                                               -->
-<!-- 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: Removed old declarations for spanspec and  -->
-<!--                    tfoot entities                             -->
-<!--    2005.11.15 RDA: Corrected the "Delivered as" system ID     -->
-<!--    2006.07.06 RDA: Moved common elements to the module        -->
-<!--                    commonElements.ent                         -->
-<!--    2008.01.28 RDA: Move %metadata; defn to commonElements.ent -->
-<!--    2008.02.12 RDA: Modify imbed to use specific 1.2 version   -->
-<!--    2008.02.12 RDA: Move %navtitle; defn to commonElements.ent -->
-<!--    2008.02.13 RDA: Add bodydiv and sectiondiv                 -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT NAME ENTITIES                      -->
-<!-- ============================================================= -->
-
-
-<!ENTITY % topic        "topic"                                      >
-<!ENTITY % abstract     "abstract"                                   >
-<!ENTITY % body         "body"                                       >
-<!ENTITY % bodydiv      "bodydiv"                                    >
-<!ENTITY % example      "example"                                    >
-<!ENTITY % link         "link"                                       >
-<!ENTITY % linkinfo     "linkinfo"                                   >
-<!ENTITY % linklist     "linklist"                                   >
-<!ENTITY % linkpool     "linkpool"                                   >
-<!ENTITY % linktext     "linktext"                                   >
-<!ENTITY % no-topic-nesting     
-                        "no-topic-nesting"                           >
-<!ENTITY % prolog       "prolog"                                     >
-<!ENTITY % related-links     
-                        "related-links"                              >
-<!ENTITY % searchtitle  "searchtitle"                                >
-<!ENTITY % section      "section"                                    >
-<!ENTITY % sectiondiv   "sectiondiv"                                 >
-<!ENTITY % shortdesc    "shortdesc"                                  >
-<!ENTITY % titlealts    "titlealts"                                  >
-
-<!--                    Also include common elements used in topics
-                        and maps                                   -->
-<!ENTITY % commonDefns   PUBLIC 
-                       "-//OASIS//ENTITIES DITA 1.2 Common Elements//EN" 
-                       "commonElements.ent"                          >
-%commonDefns;
-
-<!-- ================== End Topic Definitions Entities =========== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/utilitiesDomain.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/utilitiesDomain.ent
deleted file mode 100644
index d8bda33..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/utilitiesDomain.ent
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Utilities Domain Entities                    -->
-<!--  VERSION:   1.1                                               -->
-<!--  DATE:      November 2006                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identifier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//ENTITIES DITA Utilities Domain//EN"
-      Delivered as file "utilitiesDomain.ent"                      -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the substitution context and domain     -->
-<!--             entity declarations for the utilities domain      -->
-<!--                                                               -->
-<!-- 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: Removed entity "ut-d-simpletable"          -->
-<!--    2005.11.15 RDA: Updated these comments to match template   -->
-<!--    2005.11.15 RDA: Corrected the "Delivered as" system ID     -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    ELEMENT EXTENSION ENTITY DECLARATIONS      -->
-<!-- ============================================================= -->
-
-<!ENTITY % ut-d-fig     
-  "imagemap
-  "
->
-
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATION                  -->
-<!-- ============================================================= -->
-
-  
-<!ENTITY ut-d-att       
-  "(topic ut-d)"                               
->
-
-
-<!-- ================== End Utilities Domain Entities ============ -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/utilitiesDomain.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/utilitiesDomain.mod
deleted file mode 100644
index 57c7d61..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/base/dtd/utilitiesDomain.mod
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Utilities Domain                             -->
-<!--  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//ELEMENTS DITA Utilities Domain//EN"
-      Delivered as file "utilitiesDomain.mod"                      -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for the DITA Utilities Domain          -->
-<!--                                                               -->
-<!-- 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   -->
-<!--    2005.11.15 RDA: Corrected the "Delivered as" system ID     -->
-<!--    2006.06.07 RDA: Make universal attributes universal        -->
-<!--                      (DITA 1.1 proposal #12)                  -->
-<!--    2006.06.14 RDA: Move univ-atts-translate-no into topic.mod -->
-<!--    2007.12.01 EK:  Reformatted DTD modules for DITA 1.2       -->
-<!--    2008.02.12 RDA: Add text to shape                          -->
-<!--    2008.02.13 RDA: Create .content and .attributes entities   -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   ELEMENT NAME ENTITIES                       -->
-<!-- ============================================================= -->
-
-<!ENTITY % imagemap    "imagemap"                                    >
-<!ENTITY % area        "area"                                        >
-<!ENTITY % shape       "shape"                                       >
-<!ENTITY % coords      "coords"                                      >
-
-
-<!-- ============================================================= -->
-<!--                    COMMON ATTLIST SETS                        -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS for IMAGEMAP          -->
-<!-- ============================================================= -->
-
-
-<!--                    LONG NAME: Imagemap                        -->
-<!ENTITY % imagemap.content
-                       "((%image;), 
-                         (%area;)+)"
->
-<!ENTITY % imagemap.attributes
-             "%display-atts;
-              spectitle 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts; 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT imagemap    %imagemap.content;>
-<!ATTLIST imagemap    %imagemap.attributes;>
-
-
-
-<!--                    LONG NAME: Hotspot Area Description        -->
-<!ENTITY % area.content
-                       "((%shape;), 
-                         (%coords;), 
-                         (%xref;))"
->
-<!ENTITY % area.attributes
-             "%univ-atts; 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT area    %area.content;>
-<!ATTLIST area    %area.attributes;>
-
-
-
-<!--                    LONG NAME: Shape of the Hotspot            -->
-<!ENTITY % shape.content
-                       "(#PCDATA |
-                         %text;)*
-">
-<!ENTITY % shape.attributes
-             "keyref 
-                        CDATA
-                                  #IMPLIED
-              %univ-atts-translate-no; 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT shape    %shape.content;>
-<!ATTLIST shape    %shape.attributes;>
-
-
-
-<!--                    LONG NAME: Coordinates of the Hotspot      -->
-<!ENTITY % coords.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % coords.attributes
-             "keyref
-                        CDATA
-                                  #IMPLIED
-              %univ-atts-translate-no;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT coords    %coords.content;>
-<!ATTLIST coords    %coords.attributes;>
-
- 
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
-
-
-<!ATTLIST imagemap %global-atts;  class CDATA "+ topic/fig ut-d/imagemap " >
-<!ATTLIST area     %global-atts;  class CDATA "+ topic/figgroup ut-d/area ">
-<!ATTLIST shape    %global-atts;  class CDATA "+ topic/keyword ut-d/shape ">
-<!ATTLIST coords   %global-atts;  class CDATA "+ topic/ph ut-d/coords "    >
-
- 
-<!-- ================== End Utilities Domain ====================== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/bookmap/dtd/bookmap.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/bookmap/dtd/bookmap.dtd
deleted file mode 100644
index 653e199..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/bookmap/dtd/bookmap.dtd
+++ /dev/null
@@ -1,268 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Bookmap 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 BookMap//EN"
-      Delivered as file "bookmap.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 BookMap//EN"                        -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITA Book Maps                    -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             March 2004                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2006, 2009.              -->
-<!--             (C) Copyright IBM Corporation 2004, 2005.         -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2008.02.01 RDA: Added reference to bookmap.ent             -->
-<!--    2008.02.12 RDA: Modify imbeds to use specific 1.2 version  -->
-<!--    2008.04.15 RDA: Added delay resolution domain              -->
-<!--    2010.09.21 RDA: Added base and tec. content topic domains  -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    MAP ENTITY DECLARATIONS                    -->
-<!-- ============================================================= -->
-
-<!ENTITY % bookmap-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 BookMap//EN" 
-         "bookmap.ent"
->%bookmap-dec;
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATIONS                 -->
-<!-- ============================================================= -->
-
-<!ENTITY % mapgroup-d-dec 
-                        PUBLIC 
-"-//OASIS//ENTITIES DITA 1.2 Map Group Domain//EN" 
-"../../base/dtd/mapGroup.ent"                                                 >
-%mapgroup-d-dec;
-
-<!ENTITY % indexing-d-dec     PUBLIC 
-"-//OASIS//ENTITIES DITA 1.2 Indexing Domain//EN" 
-"../../base/dtd/indexingDomain.ent"                                           >
-%indexing-d-dec;
-
-<!ENTITY % delay-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Delayed Resolution Domain//EN" 
-         "../../base/dtd/delayResolutionDomain.ent"                                                       
->%delay-d-dec;
-
-<!ENTITY % xnaldomain-d-dec 
-                        PUBLIC 
-"-//OASIS//ENTITIES DITA 1.2 XNAL Domain//EN" 
-"../../xnal/dtd/xnalDomain.ent"
->%xnaldomain-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 % 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" 
-         "../../technicalContent/dtd/abbreviateDomain.ent"
->%abbrev-d-dec;
-
-<!ENTITY % pr-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Programming Domain//EN" 
-         "../../technicalContent/dtd/programmingDomain.ent"                                              
->%pr-d-dec;
-
-<!ENTITY % sw-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Software Domain//EN" 
-         "../../technicalContent/dtd/softwareDomain.ent"                                                 
->%sw-d-dec;
-
-<!ENTITY % ui-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 User Interface Domain//EN" 
-         "../../technicalContent/dtd/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 % author       "author | 
-                         %xnal-d-author;
-                        ">
-<!ENTITY % topicref     "topicref |
-                         %mapgroup-d-topicref;
-                        ">
-<!ENTITY % index-base   "index-base |
-                         %indexing-d-index-base;
-                        ">
-<!ENTITY % keywords     "keywords | 
-                         %delay-d-keywords;
-                        ">
-<!ENTITY % keyword      "keyword | 
-                         %pr-d-keyword; | 
-                         %sw-d-keyword; |
-                         %ui-d-keyword;
-                        ">
-<!ENTITY % pre          "pre | 
-                         %pr-d-pre; | 
-                         %sw-d-pre; | 
-                         %ui-d-pre;
-                        ">
-<!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 % note         "note | 
-                         %hazard-d-note;
-                        ">
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ATTRIBUTE EXTENSIONS                -->
-<!-- ============================================================= -->
-<!ENTITY % props-attribute-extensions  ""                            >
-<!ENTITY % base-attribute-extensions   ""                            >
-
-<!-- ============================================================= -->
-<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
-<!-- ============================================================= -->
-<!--                    Must be declared ahead of the DTDs, which
-                        puts @domains first in order               -->
-<!ENTITY included-domains 
-                        "&bookmap-att;
-                         &delay-d-att;
-                         &mapgroup-d-att;
-                         &indexing-d-att; 
-                         &xnal-d-att;
-                         &hi-d-att; 
-                         &ut-d-att; 
-                         &hazard-d-att;
-                         &abbrev-d-att;
-                         &pr-d-att; 
-                         &sw-d-att;
-                         &ui-d-att;
-                        ">
-
-<!-- ============================================================= -->
-<!--                    MAP ELEMENT INTEGRATION                    -->
-<!-- ============================================================= -->
-
-<!ENTITY % map-type PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Map//EN" 
-"../../base/dtd/map.mod"                                                      >
-%map-type;
-
-<!ENTITY % bookmap-type PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 BookMap//EN" 
-"bookmap.mod"                                                        >
-%bookmap-type;
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ELEMENT INTEGRATION                 -->
-<!-- ============================================================= -->
-
-<!ENTITY % mapgroup-d-def  
-                        PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Map Group Domain//EN" 
-"../../base/dtd/mapGroup.mod"                                                 >
-%mapgroup-d-def;
-
-<!ENTITY % indexing-d-def
-                        PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Indexing Domain//EN" 
-"../../base/dtd/indexingDomain.mod"                                           >
-%indexing-d-def;
-
-<!ENTITY % delay-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Delayed Resolution Domain//EN" 
-         "../../base/dtd/delayResolutionDomain.mod"
->%delay-d-def;
-
-<!ENTITY % xnaldomain-d-def  
-                        PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 XNAL Domain//EN" 
-"../../xnal/dtd/xnalDomain.mod"
->%xnaldomain-d-def;
-
-<!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 % 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" 
-         "../../technicalContent/dtd/abbreviateDomain.mod"
->%abbrev-d-def;
-
-<!ENTITY % ui-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 User Interface Domain//EN" 
-         "../../technicalContent/dtd/uiDomain.mod"
->%ui-d-def;
-
-<!ENTITY % pr-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Programming Domain//EN" 
-         "../../technicalContent/dtd/programmingDomain.mod"
->%pr-d-def;
-
-<!ENTITY % sw-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Software Domain//EN" 
-         "../../technicalContent/dtd/softwareDomain.mod"
->%sw-d-def;
-
-<!-- ================== End DITA Bookmap DTD  ==================== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/bookmap/dtd/bookmap.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/bookmap/dtd/bookmap.ent
deleted file mode 100644
index 990a44c..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/bookmap/dtd/bookmap.ent
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA BookMap Entity                               -->
-<!--  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//ENTITIES DITA BookMap//EN"
-      Delivered as file "bookmap.ent"                              -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the domain entity for bookmaps          -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             February 2008                                     -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009               -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    BOOKMAP ENTITIES                           -->
-<!-- ============================================================= -->
-
-<!ENTITY bookmap-att     
-  "(map bookmap)"
->
-
-
-<!-- ================== End Bookmap Entities ===================== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/bookmap/dtd/bookmap.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/bookmap/dtd/bookmap.mod
deleted file mode 100644
index f6b01b6..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/bookmap/dtd/bookmap.mod
+++ /dev/null
@@ -1,1292 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Bookmap                                      -->
-<!--  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//ELEMENTS DITA BookMap//EN" 
-      Delivered as file "bookmap.mod"                              -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Define elements and specialization atttributes    -->
-<!--             for Book Maps                                     -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             March 2004                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2005, 2009.              -->
-<!--             (C) Copyright IBM Corporation 2004, 2005.         -->
-<!--             All Rights Reserved.                              -->
-<!--  UPDATES:                                                     -->
-<!--    2007.12.01 EK:  Reformatted DTD modules for DITA 1.2       -->
-<!--    2008.01.28 RDA: Removed enumerations for attributes:       -->
-<!--                    publishtype/@value, bookrestriction/@value -->
-<!--    2008.01.28 RDA: Added <metadata> to <bookmeta>             -->
-<!--    2008.01.30 RDA: Replace @conref defn. with %conref-atts;   -->
-<!--    2008.02.01 RDA: Added keys attributes, more keyref attrs   -->
-<!--    2008.02.12 RDA: Add keyword to many data specializations   -->
-<!--    2008.02.12 RDA: Add @format, @scope, and @type to          -->
-<!--                    publisherinformation                       -->
-<!--    2008.02.13 RDA: Create .content and .attributes entities   -->
-<!--    2008.03.17 RDA: Add appendices element                     -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                   ARCHITECTURE ENTITIES                       -->
-<!-- ============================================================= -->
-
-<!-- default namespace prefix for DITAArchVersion attribute can be
-     overridden through predefinition in the document type shell   -->
-<!ENTITY % DITAArchNSPrefix
-  "ditaarch" 
->
-
-<!-- must be instanced on each topic type                          -->
-<!ENTITY % arch-atts 
-             "xmlns:%DITAArchNSPrefix; 
-                         CDATA 
-                                  #FIXED 'http://dita.oasis-open.org/architecture/2005/'
-              %DITAArchNSPrefix;:DITAArchVersion
-                         CDATA
-                                  '1.2'
-  "
->
-
-
-<!-- ============================================================= -->
-<!--                   ELEMENT NAME ENTITIES                       -->
-<!-- ============================================================= -->
- 
-<!ENTITY % bookmap         "bookmap"                                 >
-
-<!ENTITY % abbrevlist      "abbrevlist"                              >
-<!ENTITY % bookabstract    "bookabstract"                            >
-<!ENTITY % amendments      "amendments"                              >
-<!ENTITY % appendices      "appendices"                              >
-<!ENTITY % appendix        "appendix"                                >
-<!ENTITY % approved        "approved"                                >
-<!ENTITY % backmatter      "backmatter"                              >
-<!ENTITY % bibliolist      "bibliolist"                              >
-<!ENTITY % bookchangehistory "bookchangehistory"                     >
-<!ENTITY % bookevent       "bookevent"                               >
-<!ENTITY % bookeventtype   "bookeventtype"                           >
-<!ENTITY % bookid          "bookid"                                  >
-<!ENTITY % booklibrary     "booklibrary"                             >
-<!ENTITY % booklist        "booklist"                                >
-<!ENTITY % booklists       "booklists"                               >
-<!ENTITY % bookmeta        "bookmeta"                                >
-<!ENTITY % booknumber      "booknumber"                              >
-<!ENTITY % bookowner       "bookowner"                               >
-<!ENTITY % bookpartno      "bookpartno"                              >
-<!ENTITY % bookrestriction "bookrestriction"                         >
-<!ENTITY % bookrights      "bookrights"                              >
-<!ENTITY % booktitle       "booktitle"                               >
-<!ENTITY % booktitlealt    "booktitlealt"                            >
-<!ENTITY % chapter         "chapter"                                 >
-<!ENTITY % colophon        "colophon"                                >
-<!ENTITY % completed       "completed"                               >
-<!ENTITY % copyrfirst      "copyrfirst"                              >
-<!ENTITY % copyrlast       "copyrlast"                               >
-<!ENTITY % day             "day"                                     >
-<!ENTITY % dedication      "dedication"                              >
-<!ENTITY % draftintro      "draftintro"                              >
-<!ENTITY % edited          "edited"                                  >
-<!ENTITY % edition         "edition"                                 >
-<!ENTITY % figurelist      "figurelist"                              >
-<!ENTITY % frontmatter     "frontmatter"                             >
-<!ENTITY % glossarylist    "glossarylist"                            >
-<!ENTITY % indexlist       "indexlist"                               >
-<!ENTITY % isbn            "isbn"                                    >
-<!ENTITY % mainbooktitle   "mainbooktitle"                           >
-<!ENTITY % maintainer      "maintainer"                              >
-<!ENTITY % month           "month"                                   >
-<!ENTITY % notices         "notices"                                 >
-<!ENTITY % organization    "organization"                            >
-<!ENTITY % part            "part"                                    >
-<!ENTITY % person          "person"                                  >
-<!ENTITY % preface         "preface"                                 >
-<!ENTITY % printlocation   "printlocation"                           >
-<!ENTITY % published       "published"                               >
-<!ENTITY % publisherinformation "publisherinformation"               >
-<!ENTITY % publishtype     "publishtype"                             >
-<!ENTITY % reviewed        "reviewed"                                >
-<!ENTITY % revisionid      "revisionid"                              >
-<!ENTITY % started         "started"                                 >
-<!ENTITY % summary         "summary"                                 >
-<!ENTITY % tablelist       "tablelist"                               >
-<!ENTITY % tested          "tested"                                  >
-<!ENTITY % trademarklist   "trademarklist"                           >
-<!ENTITY % toc             "toc"                                     >
-<!ENTITY % volume          "volume"                                  >
-<!ENTITY % year            "year"                                    >
-
-
-<!-- ============================================================= -->
-<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
-<!-- ============================================================= -->
-
-
-<!ENTITY included-domains 
-  ""
->
-
-<!-- ============================================================= -->
-<!--                    COMMON ATTLIST SETS                        -->
-<!-- ============================================================= -->
-
-<!-- Currently: same as topicref, minus @query -->
-<!ENTITY % chapter-atts 
-             'navtitle 
-                         CDATA 
-                                   #IMPLIED
-              href 
-                         CDATA 
-                                   #IMPLIED
-              keyref 
-                         CDATA 
-                                   #IMPLIED
-              keys 
-                         CDATA 
-                                   #IMPLIED
-              copy-to 
-                         CDATA 
-                                   #IMPLIED
-              outputclass 
-                         CDATA 
-                                   #IMPLIED
-              %topicref-atts;
-              %univ-atts;' 
->
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS                       -->
-<!-- ============================================================= -->
-
-
-<!--                    LONG NAME: Book Map                        -->
-<!ENTITY % bookmap.content
-                       "(((%title;) | 
-                          (%booktitle;))?,
-                         (%bookmeta;)?, 
-                         (%frontmatter;)?,
-                         (%chapter;)*, 
-                         (%part;)*, 
-                         ((%appendices;)? | (%appendix;)*),
-                         (%backmatter;)?,
-                         (%reltable;)*)"
->
-<!ENTITY % bookmap.attributes
-             "id 
-                        ID 
-                                  #IMPLIED
-              %conref-atts;
-              anchorref 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %localization-atts;
-              %topicref-atts;
-              %select-atts;"
->
-<!ELEMENT bookmap    %bookmap.content;>
-<!ATTLIST bookmap    
-              %bookmap.attributes;
-              %arch-atts;
-              domains 
-                        CDATA 
-                                  '&included-domains;'
->
-
-<!--                    LONG NAME: Book Metadata                   -->
-<!ENTITY % bookmeta.content
-                       "((%linktext;)?, 
-                         (%searchtitle;)?, 
-                         (%shortdesc;)?, 
-                         (%author;)*, 
-                         (%source;)?, 
-                         (%publisherinformation;)*,
-                         (%critdates;)?, 
-                         (%permissions;)?, 
-                         (%metadata;)*, 
-                         (%audience;)*, 
-                         (%category;)*, 
-                         (%keywords;)*, 
-                         (%prodinfo;)*, 
-                         (%othermeta;)*, 
-                         (%resourceid;)*, 
-                         (%bookid;)?,
-                         (%bookchangehistory;)*,
-                         (%bookrights;)*,
-                         (%data;)*)"
->
-<!ENTITY % bookmeta.attributes
-             "lockmeta 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT bookmeta    %bookmeta.content;>
-<!ATTLIST bookmeta    %bookmeta.attributes;>
-
-
-<!--                    LONG NAME: Front Matter                    -->
-<!ENTITY % frontmatter.content
-                       "(%bookabstract; | 
-                         %booklists; | 
-                         %colophon; | 
-                         %dedication; | 
-                         %draftintro; | 
-                         %notices; | 
-                         %preface; | 
-                         %topicref;)*"
->
-<!ENTITY % frontmatter.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %topicref-atts;
-              %univ-atts;"
->
-<!ELEMENT frontmatter    %frontmatter.content;>
-<!ATTLIST frontmatter    %frontmatter.attributes;>
-
-
-<!--                    LONG NAME: Back Matter                     -->
-<!ENTITY % backmatter.content
-                       "(%amendments; | 
-                         %booklists; | 
-                         %colophon; | 
-                         %dedication; | 
-                         %notices; | 
-                         %topicref;)*"
->
-<!ENTITY % backmatter.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %topicref-atts;
-              %univ-atts;"
->
-<!ELEMENT backmatter    %backmatter.content;>
-<!ATTLIST backmatter    %backmatter.attributes;>
-
-
-<!--                    LONG NAME: Publisher Information           -->
-<!ENTITY % publisherinformation.content
-                       "(((%person;) | 
-                          (%organization;))*, 
-                         (%printlocation;)*, 
-                         (%published;)*, 
-                         (%data;)*)"
->
-<!ENTITY % publisherinformation.attributes
-             "href 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                       (external | 
-                        local | 
-                        peer | 
-                        -dita-use-conref-target) 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT publisherinformation    %publisherinformation.content;>
-<!ATTLIST publisherinformation    %publisherinformation.attributes;>
-
-
-<!--                    LONG NAME: Person                          -->
-<!ENTITY % person.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % person.attributes
-             "%data-element-atts;"
->
-<!ELEMENT person    %person.content;>
-<!ATTLIST person    %person.attributes;>
-
-
-<!--                    LONG NAME: Organization                    -->
-<!ENTITY % organization.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % organization.attributes
-             "%data-element-atts;"
->
-<!ELEMENT organization    %organization.content;>
-<!ATTLIST organization    %organization.attributes;>
-
-
-<!--                    LONG NAME: Book Change History             -->
-<!ENTITY % bookchangehistory.content
-                       "((%reviewed;)*, 
-                         (%edited;)*, 
-                         (%tested;)*, 
-                         (%approved;)*, 
-                         (%bookevent;)*)"
->
-<!ENTITY % bookchangehistory.attributes
-             "%data-element-atts;"
->
-<!ELEMENT bookchangehistory    %bookchangehistory.content;>
-<!ATTLIST bookchangehistory    %bookchangehistory.attributes;>
-
-
-<!--                    LONG NAME: Book ID                         -->
-<!ENTITY % bookid.content
-                       "((%bookpartno;)*, 
-                         (%edition;)?, 
-                         (%isbn;)?, 
-                         (%booknumber;)?, 
-                         (%volume;)*, 
-                         (%maintainer;)?)"
->
-<!ENTITY % bookid.attributes
-             "%data-element-atts;"
->
-<!ELEMENT bookid    %bookid.content;>
-<!ATTLIST bookid    %bookid.attributes;>
-
-
-<!--                    LONG NAME: Summary                         -->
-<!ENTITY % summary.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % summary.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT summary    %summary.content;>
-<!ATTLIST summary    %summary.attributes;>
-
-
-<!--                    LONG NAME: Print Location                  -->
-<!ENTITY % printlocation.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % printlocation.attributes
-             "%data-element-atts;"
->
-<!ELEMENT printlocation    %printlocation.content;>
-<!ATTLIST printlocation    %printlocation.attributes;>
-
-
-<!--                    LONG NAME: Published                       -->
-<!ENTITY % published.content
-                       "(((%person;) | 
-                          (%organization;))*,
-                         (%publishtype;)?, 
-                         (%revisionid;)?,
-                         (%started;)?, 
-                         (%completed;)?, 
-                         (%summary;)?, 
-                         (%data;)*)"
->
-<!ENTITY % published.attributes
-             "%data-element-atts;"
->
-<!ELEMENT published    %published.content;>
-<!ATTLIST published    %published.attributes;>
-
-<!--                    LONG NAME: Publish Type                    -->
-<!ENTITY % publishtype.content
-                       "EMPTY"
->
-<!-- 20080128: Removed enumeration for @value for DITA 1.2. Previous values:
-               beta, general, limited, -dita-use-conref-target
-               Matches data-element-atts, but value is required           -->
-<!ENTITY % publishtype.attributes
-             "%univ-atts;
-              name 
-                        CDATA 
-                                  #IMPLIED
-              datatype 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              outputclass
-                        CDATA 
-                                  #IMPLIED
-              value 
-                        CDATA 
-                                  #REQUIRED"
->
-<!ELEMENT publishtype    %publishtype.content;>
-<!ATTLIST publishtype    %publishtype.attributes;>
- 
-<!--                    LONG NAME: Revision ID                     -->
-<!ENTITY % revisionid.content
-                       "(#PCDATA |
-                         %keyword;)*
-">
-<!ENTITY % revisionid.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT revisionid    %revisionid.content;>
-<!ATTLIST revisionid    %revisionid.attributes;>
-
- 
-<!--                    LONG NAME: Start Date                      -->
-<!ENTITY % started.content
-                       "(((%year;), 
-                          ((%month;), 
-                           (%day;)?)?) | 
-                         ((%month;), 
-                          (%day;)?, 
-                          (%year;)) | 
-                         ((%day;), 
-                          (%month;), 
-                          (%year;)))"
->
-<!ENTITY % started.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT started    %started.content;>
-<!ATTLIST started    %started.attributes;>
-
- 
-<!--                    LONG NAME: Completion Date                 -->
-<!ENTITY % completed.content
-                       "(((%year;), 
-                          ((%month;), 
-                           (%day;)?)?) | 
-                         ((%month;), 
-                          (%day;)?, 
-                          (%year;)) | 
-                         ((%day;), 
-                          (%month;), 
-                          (%year;)))"
->
-<!ENTITY % completed.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT completed    %completed.content;>
-<!ATTLIST completed    %completed.attributes;>
-
- 
-<!--                    LONG NAME: Year                            -->
-<!ENTITY % year.content
-                       "(#PCDATA |
-                         %keyword;)*"
->
-<!ENTITY % year.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT year    %year.content;>
-<!ATTLIST year    %year.attributes;>
-
- 
-<!--                    LONG NAME: Month                           -->
-<!ENTITY % month.content
-                       "(#PCDATA |
-                         %keyword;)*"
->
-<!ENTITY % month.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT month    %month.content;>
-<!ATTLIST month    %month.attributes;>
-
- 
-<!--                    LONG NAME: Day                             -->
-<!ENTITY % day.content
-                       "(#PCDATA |
-                         %keyword;)*"
->
-<!ENTITY % day.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT day    %day.content;>
-<!ATTLIST day    %day.attributes;>
-
- 
-<!--                    LONG NAME: Reviewed                        -->
-<!ENTITY % reviewed.content
-                       "(((%organization;) | 
-                          (%person;))*, 
-                         (%revisionid;)?, 
-                         (%started;)?, 
-                         (%completed;)?, 
-                         (%summary;)?, 
-                         (%data;)*)"
->
-<!ENTITY % reviewed.attributes
-             "%data-element-atts;"
->
-<!ELEMENT reviewed    %reviewed.content;>
-<!ATTLIST reviewed    %reviewed.attributes;>
-
-
-<!--                    LONG NAME: Editeded                        -->
-<!ENTITY % edited.content
-                       "(((%organization;) | 
-                          (%person;))*, 
-                          (%revisionid;)?, 
-                          (%started;)?, 
-                          (%completed;)?, 
-                          (%summary;)?, 
-                          (%data;)*)"
->
-<!ENTITY % edited.attributes
-             "%data-element-atts;"
->
-<!ELEMENT edited    %edited.content;>
-<!ATTLIST edited    %edited.attributes;>
-
-
-<!--                    LONG NAME: Tested                          -->
-<!ENTITY % tested.content
-                       "(((%organization;) | 
-                          (%person;))*, 
-                          (%revisionid;)?, 
-                          (%started;)?, 
-                          (%completed;)?, 
-                          (%summary;)?, 
-                          (%data;)*)"
->
-<!ENTITY % tested.attributes
-             "%data-element-atts;"
->
-<!ELEMENT tested    %tested.content;>
-<!ATTLIST tested    %tested.attributes;>
-
-
-<!--                    LONG NAME: Approved                        -->
-<!ENTITY % approved.content
-                       "(((%organization;) | 
-                          (%person;))*, 
-                          (%revisionid;)?, 
-                          (%started;)?, 
-                          (%completed;)?, 
-                          (%summary;)?, 
-                          (%data;)*)"
->
-<!ENTITY % approved.attributes
-             "%data-element-atts;"
->
-<!ELEMENT approved    %approved.content;>
-<!ATTLIST approved    %approved.attributes;>
-
-
-<!--                    LONG NAME: Book Event                      -->
-<!ENTITY % bookevent.content
-                       "((%bookeventtype;)?, 
-                         (((%organization;) | 
-                           (%person;))*, 
-                          (%revisionid;)?, 
-                          (%started;)?, 
-                          (%completed;)?, 
-                          (%summary;)?, 
-                          (%data;)*))"
->
-<!ENTITY % bookevent.attributes
-             "%data-element-atts;"
->
-<!ELEMENT bookevent    %bookevent.content;>
-<!ATTLIST bookevent    %bookevent.attributes;>
-
-<!--                    LONG NAME: Book Event Type                 -->
-<!ENTITY % bookeventtype.content
-                       "EMPTY"
->
-<!-- Attributes are the same as data-element-atts except that 
-     @name is required                                             -->
-<!ENTITY % bookeventtype.attributes
-             "name 
-                        CDATA 
-                                  #REQUIRED 
-              datatype 
-                        CDATA 
-                                  #IMPLIED
-              value 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT bookeventtype    %bookeventtype.content;>
-<!ATTLIST bookeventtype    %bookeventtype.attributes;>
-
-<!--                    LONG NAME: Book Part Number                -->
-<!ENTITY % bookpartno.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % bookpartno.attributes
-             "%data-element-atts;"
->
-<!ELEMENT bookpartno    %bookpartno.content;>
-<!ATTLIST bookpartno    %bookpartno.attributes;>
-
-
-<!--                    LONG NAME: Edition                         -->
-<!ENTITY % edition.content
-                       "(#PCDATA |
-                         %keyword;)*"
->
-<!ENTITY % edition.attributes
-             "%data-element-atts;"
->
-<!ELEMENT edition    %edition.content;>
-<!ATTLIST edition    %edition.attributes;>
-
-
-<!--                    LONG NAME: ISBN Number                     -->
-<!ENTITY % isbn.content
-                       "(#PCDATA |
-                         %keyword;)*"
->
-<!ENTITY % isbn.attributes
-             "%data-element-atts;"
->
-<!ELEMENT isbn    %isbn.content;>
-<!ATTLIST isbn    %isbn.attributes;>
-
-
-<!--                    LONG NAME: Book Number                     -->
-<!ENTITY % booknumber.content
-                       "(%words.cnt;)*"
->
-<!ENTITY % booknumber.attributes
-             "%data-element-atts;"
->
-<!ELEMENT booknumber    %booknumber.content;>
-<!ATTLIST booknumber    %booknumber.attributes;>
-
-
-<!--                    LONG NAME: Volume                          -->
-<!ENTITY % volume.content
-                       "(#PCDATA |
-                         %keyword;)*"
->
-<!ENTITY % volume.attributes
-             "%data-element-atts;"
->
-<!ELEMENT volume    %volume.content;>
-<!ATTLIST volume    %volume.attributes;>
-
-
-<!--                    LONG NAME: Maintainer                      -->
-<!ENTITY % maintainer.content
-                       "(((%person;) | 
-                          (%organization;))*, 
-                         (%data;)*)
-">
-<!ENTITY % maintainer.attributes
-             "%data-element-atts;"
->
-<!ELEMENT maintainer    %maintainer.content;>
-<!ATTLIST maintainer    %maintainer.attributes;>
-
-
-<!--                    LONG NAME: Book Rights                     -->
-<!ENTITY % bookrights.content
-                       "((%copyrfirst;)?, 
-                         (%copyrlast;)?,
-                         (%bookowner;), 
-                         (%bookrestriction;)?, 
-                         (%summary;)?)"
->
-<!ENTITY % bookrights.attributes
-             "%data-element-atts;"
->
-<!ELEMENT bookrights    %bookrights.content;>
-<!ATTLIST bookrights    %bookrights.attributes;>
-
-
-<!--                    LONG NAME: First Copyright                 -->
-<!ENTITY % copyrfirst.content
-                       "(%year;)"
->
-<!ENTITY % copyrfirst.attributes
-             "%data-element-atts;"
->
-<!ELEMENT copyrfirst    %copyrfirst.content;>
-<!ATTLIST copyrfirst    %copyrfirst.attributes;>
-
- 
-<!--                    LONG NAME: Last Copyright                  -->
-<!ENTITY % copyrlast.content
-                       "(%year;)"
->
-<!ENTITY % copyrlast.attributes
-             "%data-element-atts;"
->
-<!ELEMENT copyrlast    %copyrlast.content;>
-<!ATTLIST copyrlast    %copyrlast.attributes;>
-
-
-<!--                    LONG NAME: Book Owner                      -->
-<!ENTITY % bookowner.content
-                       "((%organization;) | 
-                         (%person;))* 
- ">
-<!ENTITY % bookowner.attributes
-             "%data-element-atts;"
->
-<!ELEMENT bookowner    %bookowner.content;>
-<!ATTLIST bookowner    %bookowner.attributes;>
-
-<!--                    LONG NAME: Book Restriction                -->
-<!ENTITY % bookrestriction.content
-                       "EMPTY"
->
-<!-- Same attributes as data-element-atts, except for @value -->
-<!-- 20080128: Removed enumeration for @value for DITA 1.2. Previous values:
-               confidential, licensed, restricted, 
-               unclassified, -dita-use-conref-target               -->
-<!ENTITY % bookrestriction.attributes
-             "%univ-atts;
-              name 
-                        CDATA 
-                                  #IMPLIED
-              datatype 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external |
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              outputclass
-                        CDATA 
-                                  #IMPLIED
-              value 
-                        CDATA 
-                                  #REQUIRED"
->
-<!ELEMENT bookrestriction    %bookrestriction.content;>
-<!ATTLIST bookrestriction    %bookrestriction.attributes;>
-
-<!--                    LONG NAME: Book Title                      -->
-<!ENTITY % booktitle.content
-                       "((%booklibrary;)?,
-                         (%mainbooktitle;),
-                         (%booktitlealt;)*)"
->
-<!ENTITY % booktitle.attributes
-             "%id-atts;
-              %localization-atts;
-              base 
-                        CDATA 
-                                  #IMPLIED
-              %base-attribute-extensions;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT booktitle    %booktitle.content;>
-<!ATTLIST booktitle    %booktitle.attributes;>
-
-
-<!-- The following three elements are specialized from <ph>. They are
-     titles, which have a more limited content model than phrases. The
-     content model here matches title.cnt; that entity is not reused
-     in case it is expanded in the future to include something not
-     allowed in a phrase.                                          -->
-<!--                    LONG NAME: Library Title                   -->
-<!ENTITY % booklibrary.content
-                       "(#PCDATA | 
-                         %basic.ph.noxref; | 
-                         %image;)*"
->
-<!ENTITY % booklibrary.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT booklibrary    %booklibrary.content;>
-<!ATTLIST booklibrary    %booklibrary.attributes;>
-
- 
-<!--                    LONG NAME: Main Book Title                 -->
-<!ENTITY % mainbooktitle.content
-                       "(#PCDATA | 
-                         %basic.ph.noxref; | 
-                         %image;)*"
->
-<!ENTITY % mainbooktitle.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT mainbooktitle    %mainbooktitle.content;>
-<!ATTLIST mainbooktitle    %mainbooktitle.attributes;>
-
- 
-<!--                    LONG NAME: Alternate Book Title            -->
-<!ENTITY % booktitlealt.content
-                       "(#PCDATA | 
-                         %basic.ph.noxref; | 
-                         %image;)*"
->
-<!ENTITY % booktitlealt.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT booktitlealt    %booktitlealt.content;>
-<!ATTLIST booktitlealt    %booktitlealt.attributes;>
-
-
-<!--                    LONG NAME: Draft Introduction              -->
-<!ENTITY % draftintro.content
-                       "((%topicmeta;)?, 
-                         (%topicref;)*)"
->
-<!ENTITY % draftintro.attributes
-             "%chapter-atts;"
->
-<!ELEMENT draftintro    %draftintro.content;>
-<!ATTLIST draftintro    %draftintro.attributes;>
-
-
-<!--                    LONG NAME: Book Abstract                   -->
-<!ENTITY % bookabstract.content
-                       "EMPTY"
->
-<!ENTITY % bookabstract.attributes
-             "%chapter-atts;"
->
-<!ELEMENT bookabstract    %bookabstract.content;>
-<!ATTLIST bookabstract    %bookabstract.attributes;>
-
-
-<!--                    LONG NAME: Dedication                      -->
-<!ENTITY % dedication.content
-                       "EMPTY"
->
-<!ENTITY % dedication.attributes
-             "%chapter-atts;"
->
-<!ELEMENT dedication    %dedication.content;>
-<!ATTLIST dedication    %dedication.attributes;>
-
-
-<!--                    LONG NAME: Preface                         -->
-<!ENTITY % preface.content
-                       "((%topicmeta;)?, 
-                         (%topicref;)*)"
->
-<!ENTITY % preface.attributes
-             "%chapter-atts;"
->
-<!ELEMENT preface    %preface.content;>
-<!ATTLIST preface    %preface.attributes;>
-
-
-<!--                    LONG NAME: Chapter                         -->
-<!ENTITY % chapter.content
-                       "((%topicmeta;)?, 
-                         (%topicref;)*)"
->
-<!ENTITY % chapter.attributes
-             "%chapter-atts;"
->
-<!ELEMENT chapter    %chapter.content;>
-<!ATTLIST chapter    %chapter.attributes;>
-
-
-<!--                    LONG NAME: Part                            -->
-<!ENTITY % part.content
-                       "((%topicmeta;)?,
-                         ((%chapter;) | 
-                          (%topicref;))* )"
->
-<!ENTITY % part.attributes
-             "%chapter-atts;"
->
-<!ELEMENT part    %part.content;>
-<!ATTLIST part    %part.attributes;>
-
-
-<!--                    LONG NAME: Appendix                        -->
-<!ENTITY % appendix.content
-                       "((%topicmeta;)?, 
-                         (%topicref;)*)"
->
-<!ENTITY % appendix.attributes
-             "%chapter-atts;"
->
-<!ELEMENT appendix    %appendix.content;>
-<!ATTLIST appendix    %appendix.attributes;>
-
-
-<!--                    LONG NAME: Appendices                      -->
-<!ENTITY % appendices.content
-                       "((%topicmeta;)?, 
-                         (%appendix;)*)"
->
-<!ENTITY % appendices.attributes
-             "%chapter-atts;"
->
-<!ELEMENT appendices    %appendices.content;>
-<!ATTLIST appendices    %appendices.attributes;>
-
-<!--                    LONG NAME: Notices                         -->
-<!ENTITY % notices.content
-                       "((%topicmeta;)?, 
-                         (%topicref;)*)"
->
-<!ENTITY % notices.attributes
-             "%chapter-atts;"
->
-<!ELEMENT notices    %notices.content;>
-<!ATTLIST notices    %notices.attributes;>
-
-
-<!--                    LONG NAME: Amendments                      -->
-<!ENTITY % amendments.content
-                       "EMPTY"
->
-<!ENTITY % amendments.attributes
-             "%chapter-atts;"
->
-<!ELEMENT amendments    %amendments.content;>
-<!ATTLIST amendments    %amendments.attributes;>
-
-
-<!--                    LONG NAME: Colophon                        -->
-<!ENTITY % colophon.content
-                       "EMPTY"
->
-<!ENTITY % colophon.attributes
-             "%chapter-atts;"
->
-<!ELEMENT colophon    %colophon.content;>
-<!ATTLIST colophon    %colophon.attributes;>
-
-
-<!--                    LONG NAME: Book Lists                      -->
-<!ENTITY % booklists.content
-                       "((%abbrevlist;) |
-                         (%bibliolist;) |
-                         (%booklist;) |
-                         (%figurelist;) |
-                         (%glossarylist;) |
-                         (%indexlist;) |
-                         (%tablelist;) |
-                         (%trademarklist;) |
-                         (%toc;))*"
->
-<!ENTITY % booklists.attributes
-             "keyref 
-                        CDATA 
-                                  #IMPLIED
-              %topicref-atts;
-              %id-atts;
-              %select-atts;
-              %localization-atts;"
->
-<!ELEMENT booklists    %booklists.content;>
-<!ATTLIST booklists    %booklists.attributes;>
-
-
-<!--                    LONG NAME: Table of Contents               -->
-<!ENTITY % toc.content
-                       "EMPTY"
->
-<!ENTITY % toc.attributes
-             "%chapter-atts;"
->
-<!ELEMENT toc    %toc.content;>
-<!ATTLIST toc    %toc.attributes;>
-
-
-<!--                    LONG NAME: Figure List                     -->
-<!ENTITY % figurelist.content
-                       "EMPTY"
->
-<!ENTITY % figurelist.attributes
-             "%chapter-atts;"
->
-<!ELEMENT figurelist    %figurelist.content;>
-<!ATTLIST figurelist    %figurelist.attributes;>
-
-
-<!--                    LONG NAME: Table List                      -->
-<!ENTITY % tablelist.content
-                       "EMPTY"
->
-<!ENTITY % tablelist.attributes
-             "%chapter-atts;"
->
-<!ELEMENT tablelist    %tablelist.content;>
-<!ATTLIST tablelist    %tablelist.attributes;>
-
-
-<!--                    LONG NAME: Abbreviation List               -->
-<!ENTITY % abbrevlist.content
-                       "EMPTY"
->
-<!ENTITY % abbrevlist.attributes
-             "%chapter-atts;"
->
-<!ELEMENT abbrevlist    %abbrevlist.content;>
-<!ATTLIST abbrevlist    %abbrevlist.attributes;>
-
-
-<!--                    LONG NAME: Trademark List                  -->
-<!ENTITY % trademarklist.content
-                       "EMPTY"
->
-<!ENTITY % trademarklist.attributes
-             "%chapter-atts;"
->
-<!ELEMENT trademarklist    %trademarklist.content;>
-<!ATTLIST trademarklist    %trademarklist.attributes;>
-
-
-<!--                    LONG NAME: Bibliography List               -->
-<!ENTITY % bibliolist.content
-                       "EMPTY"
->
-<!ENTITY % bibliolist.attributes
-             "%chapter-atts;"
->
-<!ELEMENT bibliolist    %bibliolist.content;>
-<!ATTLIST bibliolist    %bibliolist.attributes;>
-
-
-<!--                    LONG NAME: Glossary List                   -->
-<!ENTITY % glossarylist.content
-                       "((%topicmeta;)?, 
-                         (%topicref;)*)"
->
-<!ENTITY % glossarylist.attributes
-             "%chapter-atts;"
->
-<!ELEMENT glossarylist    %glossarylist.content;>
-<!ATTLIST glossarylist    %glossarylist.attributes;>
-
-
-<!--                    LONG NAME: Index List                      -->
-<!ENTITY % indexlist.content
-                       "EMPTY"
->
-<!ENTITY % indexlist.attributes
-             "%chapter-atts;"
->
-<!ELEMENT indexlist    %indexlist.content;>
-<!ATTLIST indexlist    %indexlist.attributes;>
-
-
-<!--                    LONG NAME: Book List                       -->
-<!ENTITY % booklist.content
-                       "EMPTY"
->
-<!ENTITY % booklist.attributes
-             "%chapter-atts;"
->
-<!ELEMENT booklist    %booklist.content;>
-<!ATTLIST booklist    %booklist.attributes;>
-
-
- 
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
-
-<!ATTLIST bookmap     %global-atts; class CDATA "- map/map bookmap/bookmap ">
-<!ATTLIST abbrevlist  %global-atts; class CDATA "- map/topicref bookmap/abbrevlist ">
-<!ATTLIST amendments  %global-atts; class CDATA "- map/topicref bookmap/amendments ">
-<!ATTLIST appendices  %global-atts; class CDATA "- map/topicref bookmap/appendices ">
-<!ATTLIST appendix    %global-atts; class CDATA "- map/topicref bookmap/appendix ">
-<!ATTLIST approved    %global-atts; class CDATA "- topic/data bookmap/approved ">
-<!ATTLIST backmatter  %global-atts; class CDATA "- map/topicref bookmap/backmatter ">
-<!ATTLIST bibliolist  %global-atts; class CDATA "- map/topicref bookmap/bibliolist ">
-<!ATTLIST bookabstract %global-atts; class CDATA "- map/topicref bookmap/bookabstract ">
-<!ATTLIST bookchangehistory %global-atts; class CDATA "- topic/data bookmap/bookchangehistory ">
-<!ATTLIST bookevent   %global-atts; class CDATA "- topic/data bookmap/bookevent ">
-<!ATTLIST bookeventtype %global-atts; class CDATA "- topic/data bookmap/bookeventtype ">
-<!ATTLIST bookid      %global-atts; class CDATA "- topic/data bookmap/bookid ">
-<!ATTLIST booklibrary %global-atts;  class CDATA "- topic/ph bookmap/booklibrary ">
-<!ATTLIST booklist    %global-atts; class CDATA "- map/topicref bookmap/booklist ">
-<!ATTLIST booklists   %global-atts; class CDATA "- map/topicref bookmap/booklists ">
-<!ATTLIST bookmeta    %global-atts; class CDATA "- map/topicmeta bookmap/bookmeta ">
-<!ATTLIST booknumber  %global-atts; class CDATA "- topic/data bookmap/booknumber ">
-<!ATTLIST bookowner   %global-atts; class CDATA "- topic/data bookmap/bookowner ">
-<!ATTLIST bookpartno  %global-atts; class CDATA "- topic/data bookmap/bookpartno ">
-<!ATTLIST bookrestriction %global-atts; class CDATA "- topic/data bookmap/bookrestriction ">
-<!ATTLIST bookrights  %global-atts; class CDATA "- topic/data bookmap/bookrights ">
-<!ATTLIST booktitle   %global-atts;  class CDATA "- topic/title bookmap/booktitle ">
-<!ATTLIST booktitlealt %global-atts;  class CDATA "- topic/ph bookmap/booktitlealt ">
-<!ATTLIST chapter     %global-atts; class CDATA "- map/topicref bookmap/chapter ">
-<!ATTLIST colophon    %global-atts; class CDATA "- map/topicref bookmap/colophon ">
-<!ATTLIST completed   %global-atts; class CDATA "- topic/ph bookmap/completed ">
-<!ATTLIST copyrfirst  %global-atts; class CDATA "- topic/data bookmap/copyrfirst ">
-<!ATTLIST copyrlast   %global-atts; class CDATA "- topic/data bookmap/copyrlast ">
-<!ATTLIST day         %global-atts; class CDATA "- topic/ph bookmap/day ">
-<!ATTLIST dedication  %global-atts; class CDATA "- map/topicref bookmap/dedication ">
-<!ATTLIST draftintro  %global-atts; class CDATA "- map/topicref bookmap/draftintro ">
-<!ATTLIST edited      %global-atts; class CDATA "- topic/data bookmap/edited ">
-<!ATTLIST edition     %global-atts; class CDATA "- topic/data bookmap/edition ">
-<!ATTLIST figurelist  %global-atts; class CDATA "- map/topicref bookmap/figurelist ">
-<!ATTLIST frontmatter %global-atts; class CDATA "- map/topicref bookmap/frontmatter ">
-<!ATTLIST glossarylist %global-atts; class CDATA "- map/topicref bookmap/glossarylist ">
-<!ATTLIST indexlist   %global-atts; class CDATA "- map/topicref bookmap/indexlist ">
-<!ATTLIST isbn        %global-atts; class CDATA "- topic/data bookmap/isbn ">
-<!ATTLIST mainbooktitle %global-atts;  class CDATA "- topic/ph bookmap/mainbooktitle ">
-<!ATTLIST maintainer  %global-atts; class CDATA "- topic/data bookmap/maintainer ">
-<!ATTLIST month       %global-atts; class CDATA "- topic/ph bookmap/month ">
-<!ATTLIST notices     %global-atts; class CDATA "- map/topicref bookmap/notices ">
-<!ATTLIST organization %global-atts; class CDATA "- topic/data bookmap/organization ">
-<!ATTLIST part        %global-atts; class CDATA "- map/topicref bookmap/part ">
-<!ATTLIST person      %global-atts; class CDATA "- topic/data bookmap/person ">
-<!ATTLIST preface     %global-atts; class CDATA "- map/topicref bookmap/preface ">
-<!ATTLIST printlocation %global-atts; class CDATA "- topic/data bookmap/printlocation ">
-<!ATTLIST published   %global-atts; class CDATA "- topic/data bookmap/published ">
-<!ATTLIST publisherinformation %global-atts; class CDATA "- topic/publisher bookmap/publisherinformation ">
-<!ATTLIST publishtype %global-atts; class CDATA "- topic/data bookmap/publishtype ">
-<!ATTLIST reviewed    %global-atts; class CDATA "- topic/data bookmap/reviewed ">
-<!ATTLIST revisionid  %global-atts; class CDATA "- topic/ph bookmap/revisionid ">
-<!ATTLIST started     %global-atts; class CDATA "- topic/ph bookmap/started ">
-<!ATTLIST summary     %global-atts; class CDATA "- topic/ph bookmap/summary ">
-<!ATTLIST tablelist   %global-atts; class CDATA "- map/topicref bookmap/tablelist ">
-<!ATTLIST tested      %global-atts; class CDATA "- topic/data bookmap/tested ">
-<!ATTLIST toc         %global-atts; class CDATA "- map/topicref bookmap/toc ">
-<!ATTLIST trademarklist %global-atts; class CDATA "- map/topicref bookmap/trademarklist ">
-<!ATTLIST volume      %global-atts; class CDATA "- topic/data bookmap/volume ">
-<!ATTLIST year        %global-atts; class CDATA "- topic/ph bookmap/year ">
-
-<!-- ================== End book map ============================= -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/catalog-dita.txt b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/catalog-dita.txt
deleted file mode 100644
index 0a8c37d..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/catalog-dita.txt
+++ /dev/null
@@ -1,395 +0,0 @@
---              (C) Copyright OASIS Open 2005, 2009.               --
---              (C) Copyright IBM Corporation 2001, 2004.          --
---              All Rights Reserved.                               --
---                                                                 --
---   UPDATES:                                                      --
---     2005.11.15 RDA: Corrected system ID for topicAttr.mod       --
---     2005.11.15 RDA: Corrected public ID for tblDecl.mod         --
---     2005.11.15 RDA: Removed @xml:base from <group>              --
---     2006.06.07 RDA: Added commonElements.mod                    --
---     2006.06.07 RDA: Added indexing domain                       --
---     2006.06.20 RDA: Added bookmap and XNAL domain               --
---     2006.11.30 RDA: Added version specific public IDs           --
---     2008.01.25 RDA: Added DITA 1.2 version specific IDs         --
---     2008.02.01 RDA: *.ent files for topic types                 --
---     2008.02.12 RDA: Add hazard statement domain                 --
---     2008.02.13 RDA: Added DITA 1.x PUBLIC IDs                   --
---     2008.04.11 RDA: Added Learning specializations              --
---     2008.04.15 RDA: Added Machine Industry specializations      --
---     2008.04.15 RDA: Reorganized DTDs into subdirectories        --
---     2008.06.03 RDA: Added glossary group, glossary domains      --
---     2008.11.24 RDA: Added ditaval                               --
---     2009.01.05 RDA: Rename machineIndustry dir to machinery     --
---     2009.11.10 RDA: Add entries for glossentry.*                --
---     2009.12.03 RDA: Add entry for learningInteractionBaseDomain --
---     2010.04.08 RDA: Add basemap.dtd and basetopic.dtd           --
---  Catalog for Dita DTDs  --
-BASE "base/dtd/" 
-PUBLIC "-//OASIS//ELEMENTS DITA Topic//EN" "topic.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Topic//EN" "topic.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Topic//EN" "topic.mod"
-
-PUBLIC "-//OASIS//ENTITIES DITA Topic Definitions//EN" "topicDefn.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Topic Definitions//EN" "topicDefn.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Topic Definitions//EN" "topicDefn.ent"
-
-PUBLIC "-//OASIS//ENTITIES DITA Topic Class//EN" "topicAttr.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA Map//EN" "map.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Map//EN" "map.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Map//EN" "map.mod"
-
-PUBLIC "-//OASIS//DTD DITA Base Topic//EN" "basetopic.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Base Topic//EN" "basetopic.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Base Topic//EN" "basetopic.dtd"
-
-PUBLIC "-//OASIS//DTD DITA Base Map//EN" "basemap.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Base Map//EN" "basemap.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Base Map//EN" "basemap.dtd"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Common Elements//EN" "commonElements.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Common Elements//EN" "commonElements.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Common Elements//EN" "commonElements.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Common Elements//EN" "commonElements.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Common Elements//EN" "commonElements.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Common Elements//EN" "commonElements.ent"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Metadata//EN" "metaDecl.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Metadata//EN" "metaDecl.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Metadata//EN" "metaDecl.mod"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Exchange Table Model//EN" "tblDecl.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Exchange Table Model//EN" "tblDecl.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Exchange Table Model//EN" "tblDecl.mod"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Delayed Resolution Domain//EN" "delayResolutionDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Delayed Resolution Domain//EN" "delayResolutionDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Delayed Resolution Domain//EN" "delayResolutionDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Delayed Resolution Domain//EN" "delayResolutionDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Delayed Resolution Domain//EN" "delayResolutionDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Delayed Resolution Domain//EN" "delayResolutionDomain.ent"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Highlight Domain//EN" "highlightDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Highlight Domain//EN" "highlightDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Highlight Domain//EN" "highlightDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Highlight Domain//EN" "highlightDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Highlight Domain//EN" "highlightDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Highlight Domain//EN" "highlightDomain.ent"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Indexing Domain//EN" "indexingDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Indexing Domain//EN" "indexingDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Indexing Domain//EN" "indexingDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Indexing Domain//EN" "indexingDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Indexing Domain//EN" "indexingDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Indexing Domain//EN" "indexingDomain.ent"
-
-PUBLIC "-//OASIS//ENTITIES DITA Map Group Domain//EN" "mapGroup.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Map Group Domain//EN" "mapGroup.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Map Group Domain//EN" "mapGroup.ent"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Map Group Domain//EN" "mapGroup.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Map Group Domain//EN" "mapGroup.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Map Group Domain//EN" "mapGroup.mod"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Utilities Domain//EN" "utilitiesDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Utilities Domain//EN" "utilitiesDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Utilities Domain//EN" "utilitiesDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Utilities Domain//EN" "utilitiesDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Utilities Domain//EN" "utilitiesDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Utilities Domain//EN" "utilitiesDomain.ent"
-
-PUBLIC "-//OASIS//ENTITIES DITA Hazard Statement Domain//EN" "hazardstatementDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Hazard Statement Domain//EN" "hazardstatementDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Hazard Statement Domain//EN" "hazardstatementDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Hazard Statement Domain//EN" "hazardstatementDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Hazard Statement Domain//EN" "hazardstatementDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Hazard Statement Domain//EN" "hazardstatementDomain.mod"
-
-
-BASE "../../ditaval/dtd/" 
-PUBLIC "-//OASIS//DTD DITA DITAVAL//EN" "ditaval.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x DITAVAL//EN" "ditaval.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 DITAVAL//EN" "ditaval.dtd"
-
-
-BASE "../../technicalContent/dtd/" 
-PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Concept//EN" "concept.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Concept//EN" "concept.dtd"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Concept//EN" "concept.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Concept//EN" "concept.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Concept//EN" "concept.mod"
-
-PUBLIC "-//OASIS//ENTITIES DITA Concept//EN" "concept.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Concept//EN" "concept.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Concept//EN" "concept.ent"
-
-PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Composite//EN" "ditabase.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Composite//EN" "ditabase.dtd"
-
-PUBLIC "-//OASIS//DTD DITA Glossary Entry//EN" "glossentry.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Glossary Entry//EN" "glossentry.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Glossary Entry//EN" "glossentry.dtd"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Glossary Entry//EN" "glossentry.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Glossary Entry//EN" "glossentry.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Glossary Entry//EN" "glossentry.mod"
-
-PUBLIC "-//OASIS//ENTITIES DITA Glossary Entry//EN" "glossentry.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Glossary Entry//EN" "glossentry.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Glossary Entry//EN" "glossentry.ent"
-
-PUBLIC "-//OASIS//DTD DITA Glossary//EN" "glossary.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Glossary//EN" "glossary.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Glossary//EN" "glossary.dtd"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Glossary//EN" "glossary.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Glossary//EN" "glossary.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Glossary//EN" "glossary.mod"
-
-PUBLIC "-//OASIS//ENTITIES DITA Glossary//EN" "glossary.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Glossary//EN" "glossary.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Glossary//EN" "glossary.ent"
-
-PUBLIC "-//OASIS//DTD DITA Glossary Group//EN" "glossgroup.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Glossary Group//EN" "glossgroup.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Glossary Group//EN" "glossgroup.dtd"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Glossary Group//EN" "glossgroup.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Glossary Group//EN" "glossgroup.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Glossary Group//EN" "glossgroup.mod"
-
-PUBLIC "-//OASIS//ENTITIES DITA Glossary Group//EN" "glossgroup.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Glossary Group//EN" "glossgroup.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Glossary Group//EN" "glossgroup.ent"
-
-PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Reference//EN" "reference.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Reference//EN" "reference.dtd"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Reference//EN" "reference.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Reference//EN" "reference.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Reference//EN" "reference.mod"
-
-PUBLIC "-//OASIS//ENTITIES DITA Reference//EN" "reference.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Reference//EN" "reference.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Reference//EN" "reference.ent"
-
-PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Task//EN" "task.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Task//EN" "task.dtd"
-
-PUBLIC "-//OASIS//DTD DITA General Task//EN" "generalTask.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x General Task//EN" "generalTask.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 General Task//EN" "generalTask.dtd"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Task//EN" "task.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Task//EN" "task.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Task//EN" "task.mod"
-
-PUBLIC "-//OASIS//ENTITIES DITA Task//EN" "task.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Task//EN" "task.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Task//EN" "task.ent"
-
-PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Topic//EN" "topic.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Topic//EN" "topic.dtd"
-
-PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Map//EN" "map.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Map//EN" "map.dtd"
-
-PUBLIC "-//OASIS//ENTITIES DITA Abbreviated Form Domain//EN" "abbreviateDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Abbreviated Form Domain//EN" "abbreviateDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Abbreviated Form Domain//EN" "abbreviateDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Abbreviated Form Domain//EN" "abbreviateDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Abbreviated Form Domain//EN" "abbreviateDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Abbreviated Form Domain//EN" "abbreviateDomain.mod"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Programming Domain//EN" "programmingDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Programming Domain//EN" "programmingDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Programming Domain//EN" "programmingDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Programming Domain//EN" "programmingDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Programming Domain//EN" "programmingDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Programming Domain//EN" "programmingDomain.ent"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Software Domain//EN" "softwareDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Software Domain//EN" "softwareDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Software Domain//EN" "softwareDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Software Domain//EN" "softwareDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Software Domain//EN" "softwareDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Software Domain//EN" "softwareDomain.ent"
-
-PUBLIC "-//OASIS//ENTITIES DITA Task Requirements Domain//EN" "taskreqDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Task Requirements Domain//EN" "taskreqDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Task Requirements Domain//EN" "taskreqDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Task Requirements Domain//EN" "taskreqDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Task Requirements Domain//EN" "taskreqDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Task Requirements Domain//EN" "taskreqDomain.mod"
-
-PUBLIC "-//OASIS//ELEMENTS DITA User Interface Domain//EN" "uiDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA User Interface Domain//EN" "uiDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x User Interface Domain//EN" "uiDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x User Interface Domain//EN" "uiDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 User Interface Domain//EN" "uiDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 User Interface Domain//EN" "uiDomain.ent"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Glossary Reference Domain//EN" "glossrefDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Glossary Reference Domain//EN" "glossrefDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Glossary Reference Domain//EN" "glossrefDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Glossary Reference Domain//EN" "glossrefDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Glossary Reference Domain//EN" "glossrefDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Glossary Reference Domain//EN" "glossrefDomain.ent"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Strict Taskbody Constraint//EN" "strictTaskbodyConstraint.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Strict Taskbody Constraint//EN" "strictTaskbodyConstraint.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Strict Taskbody Constraint//EN" "strictTaskbodyConstraint.mod"
-
---  Bookmap document type and module  --
-
-BASE "../../bookmap/dtd/" 
-PUBLIC "-//OASIS//DTD DITA BookMap//EN" "bookmap.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x BookMap//EN" "bookmap.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 BookMap//EN" "bookmap.dtd"
-
-PUBLIC "-//OASIS//ELEMENTS DITA BookMap//EN" "bookmap.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x BookMap//EN" "bookmap.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 BookMap//EN" "bookmap.mod"
-
-PUBLIC "-//OASIS//ENTITIES DITA BookMap//EN" "bookmap.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x BookMap//EN" "bookmap.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 BookMap//EN" "bookmap.ent"
-
---  Subject scheme package for controlled vocabularies  --
-
-BASE "../../subjectScheme/dtd/" 
-PUBLIC "-//OASIS//DTD DITA Subject Scheme Map//EN" "subjectScheme.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Subject Scheme Map//EN" "subjectScheme.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Subject Scheme Map//EN" "subjectScheme.dtd"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Subject Scheme Map//EN" "subjectScheme.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Subject Scheme Map//EN" "subjectScheme.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Subject Scheme Map//EN" "subjectScheme.mod"
-
-PUBLIC "-//OASIS//ENTITIES DITA Subject Scheme Map//EN" "subjectScheme.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Subject Scheme Map//EN" "subjectScheme.ent"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Subject Scheme Map//EN" "subjectScheme.ent"
-
-PUBLIC "-//OASIS//DTD DITA Classification Map//EN" "classifyMap.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Classification Map//EN" "classifyMap.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Classification Map//EN" "classifyMap.dtd"
-
-PUBLIC "-//OASIS//ENTITIES DITA Map Subject Classification Domain//EN" "classifyDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Map Subject Classification Domain//EN" "classifyDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Map Subject Classification Domain//EN" "classifyDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Map Subject Classification Domain//EN" "classifyDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Map Subject Classification Domain//EN" "classifyDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Map Subject Classification Domain//EN" "classifyDomain.mod"
-
---  Domain for representing XNAL address information  --
-
-BASE "../../xnal/dtd/" 
-PUBLIC "-//OASIS//ELEMENTS DITA XNAL Domain//EN" "xnalDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA XNAL Domain//EN" "xnalDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x XNAL Domain//EN" "xnalDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x XNAL Domain//EN" "xnalDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 XNAL Domain//EN" "xnalDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 XNAL Domain//EN" "xnalDomain.ent"
-
---  Modules and document types from the OASIS DITA Learning Subcommittee  --
-
-BASE "../../learning/dtd/" 
-PUBLIC "-//OASIS//DTD DITA Learning Assessment//EN" "learningAssessment.dtd"
-PUBLIC "-//OASIS//DTD DITA Learning BookMap//EN" "learningBookmap.dtd"
-PUBLIC "-//OASIS//DTD DITA Learning Content//EN" "learningContent.dtd"
-PUBLIC "-//OASIS//DTD DITA Learning Map//EN" "learningMap.dtd"
-PUBLIC "-//OASIS//DTD DITA Learning Overview//EN" "learningOverview.dtd"
-PUBLIC "-//OASIS//DTD DITA Learning Plan//EN" "learningPlan.dtd"
-PUBLIC "-//OASIS//DTD DITA Learning Summary//EN" "learningSummary.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Learning Assessment//EN" "learningAssessment.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Learning BookMap//EN" "learningBookmap.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Learning Content//EN" "learningContent.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Learning Map//EN" "learningMap.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Learning Overview//EN" "learningOverview.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Learning Plan//EN" "learningPlan.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Learning Summary//EN" "learningSummary.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Learning Assessment//EN" "learningAssessment.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Learning BookMap//EN" "learningBookmap.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Learning Content//EN" "learningContent.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Learning Map//EN" "learningMap.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Learning Overview//EN" "learningOverview.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Learning Plan//EN" "learningPlan.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Learning Summary//EN" "learningSummary.dtd"
-PUBLIC "-//OASIS//ENTITIES DITA Learning Assessment//EN" "learningAssessment.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Assessment//EN" "learningAssessment.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Learning Base//EN" "learningBase.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Base//EN" "learningBase.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Learning Content//EN" "learningContent.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Content//EN" "learningContent.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Learning Overview//EN" "learningOverview.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Overview//EN" "learningOverview.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Learning Plan//EN" "learningPlan.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Plan//EN" "learningPlan.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Learning Summary//EN" "learningSummary.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Summary//EN" "learningSummary.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Learning Assessment//EN" "learningAssessment.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Learning Assessment//EN" "learningAssessment.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Learning Base//EN" "learningBase.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Learning Base//EN" "learningBase.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Learning Content//EN" "learningContent.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Learning Content//EN" "learningContent.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Learning Overview//EN" "learningOverview.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Learning Overview//EN" "learningOverview.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Learning Plan//EN" "learningPlan.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Learning Plan//EN" "learningPlan.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Learning Summary//EN" "learningSummary.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Learning Summary//EN" "learningSummary.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Assessment//EN" "learningAssessment.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Learning Assessment//EN" "learningAssessment.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Base//EN" "learningBase.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Learning Base//EN" "learningBase.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Content//EN" "learningContent.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Learning Content//EN" "learningContent.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Overview//EN" "learningOverview.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Learning Overview//EN" "learningOverview.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Plan//EN" "learningPlan.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Learning Plan//EN" "learningPlan.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Summary//EN" "learningSummary.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Learning Summary//EN" "learningSummary.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Learning Interaction Base Domain//EN" "learningInteractionBaseDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Interaction Base Domain//EN" "learningInteractionBaseDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Learning Domain//EN" "learningDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Domain//EN" "learningDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Learning Metadata Domain//EN" "learningMetadataDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Metadata Domain//EN" "learningMetadataDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA Learning Map Domain//EN" "learningMapDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Map Domain//EN" "learningMapDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Learning Interaction Base Domain//EN" "learningInteractionBaseDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Learning Interaction Base Domain//EN" "learningInteractionBaseDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Learning Domain//EN" "learningDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Learning Domain//EN" "learningDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Learning Metadata Domain//EN" "learningMetadataDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Learning Metadata Domain//EN" "learningMetadataDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.x Learning Map Domain//EN" "learningMapDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Learning Map Domain//EN" "learningMapDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Interaction Base Domain//EN" "learningInteractionBaseDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Learning Interaction Base Domain//EN" "learningInteractionBaseDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Domain//EN" "learningDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Learning Domain//EN" "learningDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Metadata Domain//EN" "learningMetadataDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Learning Metadata Domain//EN" "learningMetadataDomain.mod"
-PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Map Domain//EN" "learningMapDomain.ent"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Learning Map Domain//EN" "learningMapDomain.mod"
-
---  Modules and document types from the OASIS DITA Machine Industry Subcommittee  --
-
-BASE "../../machineryIndustry/dtd/" 
-PUBLIC "-//OASIS//DTD DITA Machinery Task//EN" "machineryTask.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.x Machinery Task//EN" "machineryTask.dtd"
-PUBLIC "-//OASIS//DTD DITA 1.2 Machinery Task//EN" "machineryTask.dtd"
-
-PUBLIC "-//OASIS//ELEMENTS DITA Machinery Taskbody Constraint//EN" "machineryTaskbodyConstraint.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.x Machinery Taskbody Constraint//EN" "machineryTaskbodyConstraint.mod"
-PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Machinery Taskbody Constraint//EN" "machineryTaskbodyConstraint.mod"
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/catalog-dita.xml b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/catalog-dita.xml
deleted file mode 100644
index 053ef13..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/catalog-dita.xml
+++ /dev/null
@@ -1,749 +0,0 @@
-<?xml version="1.0" ?>
-<!--             (C) Copyright OASIS Open 2005, 2009.              -->
-<!--             (C) Copyright IBM Corporation 2001, 2004.         -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2005.11.15 RDA: Corrected system ID for topicAttr.mod      -->
-<!--    2005.11.15 RDA: Corrected public ID for tblDecl.mod        -->
-<!--    2005.11.15 RDA: Removed @xml:base from <group>             -->
-<!--    2006.06.07 RDA: Added commonElements.mod                   -->
-<!--    2006.06.07 RDA: Added indexing domain                      -->
-<!--    2006.06.20 RDA: Added bookmap and XNAL domain              -->
-<!--    2006.11.30 RDA: Added version specific public IDs          -->
-<!--    2008.01.25 RDA: Added DITA 1.2 version specific IDs        -->
-<!--    2008.02.01 RDA: *.ent files for topic types                -->
-<!--    2008.02.12 RDA: Add hazard statement domain                -->
-<!--    2008.02.13 RDA: Added DITA 1.x PUBLIC IDs                  -->
-<!--    2008.04.11 RDA: Added Learning specializations             -->
-<!--    2008.04.15 RDA: Added Machine Industry specializations     -->
-<!--    2008.04.15 RDA: Reorganized DTDs into subdirectories       -->
-<!--    2008.06.03 RDA: Added glossary group, glossary domains     -->
-<!--    2008.11.24 RDA: Added ditaval                              -->
-<!--    2009.01.05 RDA: Rename machineIndustry dir to machinery    -->
-<!--    2009.11.10 RDA: Add entries for glossentry.*               -->
-<!--    2009.12.03 RDA: Add entry for learningInteractionBaseDomain -->
-<!--    2010.04.08 RDA: Add basemap.dtd and basetopic.dtd          -->
-
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
-         prefer="public">
-
-<!-- Catalog for Dita DTDs -->
-
-  <group xml:base="base/dtd/">
-    <!-- Topics -->
-    <public publicId="-//OASIS//ELEMENTS DITA Topic//EN"
-            uri="topic.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Topic//EN"
-            uri="topic.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Topic//EN"
-            uri="topic.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Topic Definitions//EN"
-            uri="topicDefn.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Topic Definitions//EN"
-            uri="topicDefn.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Topic Definitions//EN"
-            uri="topicDefn.ent"/>
-    <!-- topicAttr.mod is only used in DITA 1.0; kept for backwards compatibility -->
-    <public publicId="-//OASIS//ENTITIES DITA Topic Class//EN"
-            uri="topicAttr.mod"/>
-
-    <!-- Maps -->
-    <public publicId="-//OASIS//ELEMENTS DITA Map//EN"
-            uri="map.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Map//EN"
-            uri="map.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Map//EN"
-            uri="map.mod"/>
-
-    <!-- Base topic DTD (no tech-comm domains -->
-    <public publicId="-//OASIS//DTD DITA Base Topic//EN"
-            uri="basetopic.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Base Topic//EN"
-            uri="basetopic.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Base Topic//EN"
-            uri="basetopic.dtd"/>
-
-    <!-- Base map DTD (no tech-comm domains -->
-    <public publicId="-//OASIS//DTD DITA Base Map//EN"
-            uri="basemap.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Base Map//EN"
-            uri="basemap.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Base Map//EN"
-            uri="basemap.dtd"/>
-
-    <!-- Common files for topics and maps -->
-    <public publicId="-//OASIS//ELEMENTS DITA Common Elements//EN"
-            uri="commonElements.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Common Elements//EN"
-            uri="commonElements.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Common Elements//EN"
-            uri="commonElements.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Common Elements//EN"
-            uri="commonElements.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Common Elements//EN"
-            uri="commonElements.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Common Elements//EN"
-            uri="commonElements.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Metadata//EN"
-            uri="metaDecl.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Metadata//EN"
-            uri="metaDecl.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Metadata//EN"
-            uri="metaDecl.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Exchange Table Model//EN"
-            uri="tblDecl.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Exchange Table Model//EN"
-            uri="tblDecl.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Exchange Table Model//EN"
-            uri="tblDecl.mod"/>
-
-    <!-- base domains -->
-    <public publicId="-//OASIS//ELEMENTS DITA Delayed Resolution Domain//EN"
-            uri="delayResolutionDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Delayed Resolution Domain//EN"
-            uri="delayResolutionDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Delayed Resolution Domain//EN"
-            uri="delayResolutionDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Delayed Resolution Domain//EN"
-            uri="delayResolutionDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Delayed Resolution Domain//EN"
-            uri="delayResolutionDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Delayed Resolution Domain//EN"
-            uri="delayResolutionDomain.ent"/>
-
-    <public publicId="-//OASIS//ELEMENTS DITA Highlight Domain//EN"
-            uri="highlightDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Highlight Domain//EN"
-            uri="highlightDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Highlight Domain//EN"
-            uri="highlightDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Highlight Domain//EN"
-            uri="highlightDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Highlight Domain//EN"
-            uri="highlightDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Highlight Domain//EN"
-            uri="highlightDomain.ent"/>
-
-    <public publicId="-//OASIS//ELEMENTS DITA Indexing Domain//EN"
-            uri="indexingDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Indexing Domain//EN"
-            uri="indexingDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Indexing Domain//EN"
-            uri="indexingDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Indexing Domain//EN"
-            uri="indexingDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Indexing Domain//EN"
-            uri="indexingDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Indexing Domain//EN"
-            uri="indexingDomain.ent"/>
-
-    <public publicId="-//OASIS//ENTITIES DITA Map Group Domain//EN"
-            uri="mapGroup.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Map Group Domain//EN"
-            uri="mapGroup.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Map Group Domain//EN"
-            uri="mapGroup.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Map Group Domain//EN"
-            uri="mapGroup.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Map Group Domain//EN"
-            uri="mapGroup.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Map Group Domain//EN"
-            uri="mapGroup.mod"/>
-
-    <public publicId="-//OASIS//ELEMENTS DITA Utilities Domain//EN"
-            uri="utilitiesDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Utilities Domain//EN"
-            uri="utilitiesDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Utilities Domain//EN"
-            uri="utilitiesDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Utilities Domain//EN"
-            uri="utilitiesDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Utilities Domain//EN"
-            uri="utilitiesDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Utilities Domain//EN"
-            uri="utilitiesDomain.ent"/>
-
-    <public publicId="-//OASIS//ENTITIES DITA Hazard Statement Domain//EN"
-            uri="hazardstatementDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Hazard Statement Domain//EN"
-            uri="hazardstatementDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Hazard Statement Domain//EN"
-            uri="hazardstatementDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Hazard Statement Domain//EN"
-            uri="hazardstatementDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Hazard Statement Domain//EN"
-            uri="hazardstatementDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Hazard Statement Domain//EN"
-            uri="hazardstatementDomain.mod"/>
-  </group>
-
-  <group xml:base="ditaval/dtd/">
-    <public publicId="-//OASIS//DTD DITA DITAVAL//EN"
-            uri="ditaval.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x DITAVAL//EN"
-            uri="ditaval.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 DITAVAL//EN"
-            uri="ditaval.dtd"/>
-  </group>
-
-  <group xml:base="technicalContent/dtd/">
-    <!-- Document types and modules used by the Technical Content package -->
-    <public publicId="-//OASIS//DTD DITA Concept//EN"
-            uri="concept.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Concept//EN"
-            uri="concept.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Concept//EN"
-            uri="concept.dtd"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Concept//EN"
-            uri="concept.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Concept//EN"
-            uri="concept.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Concept//EN"
-            uri="concept.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Concept//EN"
-            uri="concept.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Concept//EN"
-            uri="concept.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Concept//EN"
-            uri="concept.ent"/>
-
-    <public publicId="-//OASIS//DTD DITA Composite//EN"
-            uri="ditabase.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Composite//EN"
-            uri="ditabase.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Composite//EN"
-            uri="ditabase.dtd"/>
-
-    <public publicId="-//OASIS//DTD DITA Glossary Entry//EN"
-            uri="glossentry.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Glossary Entry//EN"
-            uri="glossentry.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Glossary Entry//EN"
-            uri="glossentry.dtd"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Glossary Entry//EN"
-            uri="glossentry.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Glossary Entry//EN"
-            uri="glossentry.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Glossary Entry//EN"
-            uri="glossentry.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Glossary Entry//EN"
-            uri="glossentry.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Glossary Entry//EN"
-            uri="glossentry.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Glossary Entry//EN"
-            uri="glossentry.ent"/>
-
-    <public publicId="-//OASIS//DTD DITA Glossary//EN"
-            uri="glossary.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Glossary//EN"
-            uri="glossary.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Glossary//EN"
-            uri="glossary.dtd"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Glossary//EN"
-            uri="glossary.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Glossary//EN"
-            uri="glossary.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Glossary//EN"
-            uri="glossary.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Glossary//EN"
-            uri="glossary.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Glossary//EN"
-            uri="glossary.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Glossary//EN"
-            uri="glossary.ent"/>
-
-    <public publicId="-//OASIS//DTD DITA Glossary Group//EN"
-            uri="glossgroup.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Glossary Group//EN"
-            uri="glossgroup.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Glossary Group//EN"
-            uri="glossgroup.dtd"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Glossary Group//EN"
-            uri="glossgroup.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Glossary Group//EN"
-            uri="glossgroup.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Glossary Group//EN"
-            uri="glossgroup.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Glossary Group//EN"
-            uri="glossgroup.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Glossary Group//EN"
-            uri="glossgroup.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Glossary Group//EN"
-            uri="glossgroup.ent"/>
-
-    <public publicId="-//OASIS//DTD DITA Reference//EN"
-            uri="reference.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Reference//EN"
-            uri="reference.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Reference//EN"
-            uri="reference.dtd"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Reference//EN"
-            uri="reference.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Reference//EN"
-            uri="reference.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Reference//EN"
-            uri="reference.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Reference//EN"
-            uri="reference.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Reference//EN"
-            uri="reference.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Reference//EN"
-            uri="reference.ent"/>
-
-    <public publicId="-//OASIS//DTD DITA Task//EN"
-            uri="task.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Task//EN"
-            uri="task.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Task//EN"
-            uri="task.dtd"/>
-    <public publicId="-//OASIS//DTD DITA General Task//EN"
-            uri="generalTask.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x General Task//EN"
-            uri="generalTask.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 General Task//EN"
-            uri="generalTask.dtd"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Task//EN"
-            uri="task.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Task//EN"
-            uri="task.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Task//EN"
-            uri="task.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Task//EN"
-            uri="task.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Task//EN"
-            uri="task.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Task//EN"
-            uri="task.ent"/>
-
-    <!-- Topic for use in the technical content package -->
-    <public publicId="-//OASIS//DTD DITA Topic//EN"
-            uri="topic.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Topic//EN"
-            uri="topic.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Topic//EN"
-            uri="topic.dtd"/>
-
-    <!-- Map for use in the technical content package -->
-    <public publicId="-//OASIS//DTD DITA Map//EN"
-            uri="map.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Map//EN"
-            uri="map.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Map//EN"
-            uri="map.dtd"/>
-
-    <!-- Domains for the technical content package -->
-    <public publicId="-//OASIS//ENTITIES DITA Abbreviated Form Domain//EN"
-            uri="abbreviateDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Abbreviated Form Domain//EN"
-            uri="abbreviateDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Abbreviated Form Domain//EN"
-            uri="abbreviateDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Abbreviated Form Domain//EN"
-            uri="abbreviateDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Abbreviated Form Domain//EN"
-            uri="abbreviateDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Abbreviated Form Domain//EN"
-            uri="abbreviateDomain.mod"/>
-
-    <public publicId="-//OASIS//ELEMENTS DITA Programming Domain//EN"
-            uri="programmingDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Programming Domain//EN"
-            uri="programmingDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Programming Domain//EN"
-            uri="programmingDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Programming Domain//EN"
-            uri="programmingDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Programming Domain//EN"
-            uri="programmingDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Programming Domain//EN"
-            uri="programmingDomain.ent"/>
-
-    <public publicId="-//OASIS//ELEMENTS DITA Software Domain//EN"
-            uri="softwareDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Software Domain//EN"
-            uri="softwareDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Software Domain//EN"
-            uri="softwareDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Software Domain//EN"
-            uri="softwareDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Software Domain//EN"
-            uri="softwareDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Software Domain//EN"
-            uri="softwareDomain.ent"/>
-
-    <public publicId="-//OASIS//ENTITIES DITA Task Requirements Domain//EN"
-            uri="taskreqDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Task Requirements Domain//EN"
-            uri="taskreqDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Task Requirements Domain//EN"
-            uri="taskreqDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Task Requirements Domain//EN"
-            uri="taskreqDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Task Requirements Domain//EN"
-            uri="taskreqDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Task Requirements Domain//EN"
-            uri="taskreqDomain.mod"/>
-
-    <public publicId="-//OASIS//ELEMENTS DITA User Interface Domain//EN"
-            uri="uiDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA User Interface Domain//EN"
-            uri="uiDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x User Interface Domain//EN"
-            uri="uiDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x User Interface Domain//EN"
-            uri="uiDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 User Interface Domain//EN"
-            uri="uiDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 User Interface Domain//EN"
-            uri="uiDomain.ent"/>
-
-    <public publicId="-//OASIS//ELEMENTS DITA Glossary Reference Domain//EN"
-            uri="glossrefDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Glossary Reference Domain//EN"
-            uri="glossrefDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Glossary Reference Domain//EN"
-            uri="glossrefDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Glossary Reference Domain//EN"
-            uri="glossrefDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Glossary Reference Domain//EN"
-            uri="glossrefDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Glossary Reference Domain//EN"
-            uri="glossrefDomain.ent"/>
-
-    <!-- Constraints in the technical content package -->
-    <public publicId="-//OASIS//ELEMENTS DITA Strict Taskbody Constraint//EN" 
-            uri="strictTaskbodyConstraint.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Strict Taskbody Constraint//EN" 
-            uri="strictTaskbodyConstraint.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Strict Taskbody Constraint//EN" 
-            uri="strictTaskbodyConstraint.mod"/>
-  </group>
-
-  <!-- Bookmap document type and module -->
-  <group xml:base="bookmap/dtd/">
-    <public publicId="-//OASIS//DTD DITA BookMap//EN"
-            uri="bookmap.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x BookMap//EN"
-            uri="bookmap.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 BookMap//EN"
-            uri="bookmap.dtd"/>
-    <public publicId="-//OASIS//ELEMENTS DITA BookMap//EN"
-            uri="bookmap.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x BookMap//EN"
-            uri="bookmap.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 BookMap//EN"
-            uri="bookmap.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA BookMap//EN"
-            uri="bookmap.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x BookMap//EN"
-            uri="bookmap.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 BookMap//EN"
-            uri="bookmap.ent"/>
-  </group>
-
-  <!-- Subject scheme package for controlled vocabularies -->
-  <group xml:base="subjectScheme/dtd/">
-    <public publicId="-//OASIS//DTD DITA Subject Scheme Map//EN"
-            uri="subjectScheme.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Subject Scheme Map//EN"
-            uri="subjectScheme.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Subject Scheme Map//EN"
-            uri="subjectScheme.dtd"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Subject Scheme Map//EN"
-            uri="subjectScheme.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Subject Scheme Map//EN"
-            uri="subjectScheme.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Subject Scheme Map//EN"
-            uri="subjectScheme.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Subject Scheme Map//EN"
-            uri="subjectScheme.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Subject Scheme Map//EN"
-            uri="subjectScheme.ent"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Subject Scheme Map//EN"
-            uri="subjectScheme.ent"/>
-
-    <public publicId="-//OASIS//DTD DITA Classification Map//EN"
-            uri="classifyMap.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Classification Map//EN"
-            uri="classifyMap.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Classification Map//EN"
-            uri="classifyMap.dtd"/>
-
-    <public publicId="-//OASIS//ENTITIES DITA Map Subject Classification Domain//EN"
-            uri="classifyDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Map Subject Classification Domain//EN"
-            uri="classifyDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Map Subject Classification Domain//EN"
-            uri="classifyDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Map Subject Classification Domain//EN"
-            uri="classifyDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Map Subject Classification Domain//EN"
-            uri="classifyDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Map Subject Classification Domain//EN"
-            uri="classifyDomain.mod"/>
-  </group>
-
-  <!-- Domain for representing XNAL address information -->
-  <group xml:base="xnal/dtd/">
-    <public publicId="-//OASIS//ELEMENTS DITA XNAL Domain//EN"
-            uri="xnalDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA XNAL Domain//EN"
-            uri="xnalDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x XNAL Domain//EN"
-            uri="xnalDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x XNAL Domain//EN"
-            uri="xnalDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 XNAL Domain//EN"
-            uri="xnalDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 XNAL Domain//EN"
-            uri="xnalDomain.ent"/>
-  </group>
-
-  <!-- Modules and document types from the OASIS DITA Learning Subcommittee -->
-  <group xml:base="learning/dtd/">
-    <public publicId="-//OASIS//DTD DITA Learning Assessment//EN"
-            uri="learningAssessment.dtd"/> 
-    <public publicId="-//OASIS//DTD DITA Learning BookMap//EN"
-            uri="learningBookmap.dtd"/>
-    <public publicId="-//OASIS//DTD DITA Learning Content//EN"
-            uri="learningContent.dtd"/>
-    <public publicId="-//OASIS//DTD DITA Learning Map//EN"
-            uri="learningMap.dtd"/>
-    <public publicId="-//OASIS//DTD DITA Learning Overview//EN"
-            uri="learningOverview.dtd"/>
-    <public publicId="-//OASIS//DTD DITA Learning Plan//EN"
-            uri="learningPlan.dtd"/>
-    <public publicId="-//OASIS//DTD DITA Learning Summary//EN"
-            uri="learningSummary.dtd"/>
-
-    <public publicId="-//OASIS//DTD DITA 1.x Learning Assessment//EN"
-            uri="learningAssessment.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Learning BookMap//EN"
-            uri="learningBookmap.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Learning Content//EN"
-            uri="learningContent.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Learning Map//EN"
-            uri="learningMap.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Learning Overview//EN"
-            uri="learningOverview.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Learning Plan//EN"
-            uri="learningPlan.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Learning Summary//EN"
-            uri="learningSummary.dtd"/>
-
-    <public publicId="-//OASIS//DTD DITA 1.2 Learning Assessment//EN"
-            uri="learningAssessment.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Learning BookMap//EN"
-            uri="learningBookmap.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Learning Content//EN"
-            uri="learningContent.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Learning Map//EN"
-            uri="learningMap.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Learning Overview//EN"
-            uri="learningOverview.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Learning Plan//EN"
-            uri="learningPlan.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Learning Summary//EN"
-            uri="learningSummary.dtd"/>
-
-    <public publicId="-//OASIS//ENTITIES DITA Learning Assessment//EN"
-            uri="learningAssessment.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Learning Assessment//EN"
-            uri="learningAssessment.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Learning Base//EN"
-            uri="learningBase.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Learning Base//EN"
-            uri="learningBase.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Learning Content//EN"
-            uri="learningContent.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Learning Content//EN"
-            uri="learningContent.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Learning Overview//EN"
-            uri="learningOverview.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Learning Overview//EN"
-            uri="learningOverview.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Learning Plan//EN"
-            uri="learningPlan.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Learning Plan//EN"
-            uri="learningPlan.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Learning Summary//EN"
-            uri="learningSummary.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Learning Summary//EN"
-            uri="learningSummary.mod"/>
-
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Learning Assessment//EN"
-            uri="learningAssessment.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Learning Assessment//EN"
-            uri="learningAssessment.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Learning Base//EN"
-            uri="learningBase.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Learning Base//EN"
-            uri="learningBase.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Learning Content//EN"
-            uri="learningContent.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Learning Content//EN"
-            uri="learningContent.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Learning Overview//EN"
-            uri="learningOverview.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Learning Overview//EN"
-            uri="learningOverview.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Learning Plan//EN"
-            uri="learningPlan.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Learning Plan//EN"
-            uri="learningPlan.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Learning Summary//EN"
-            uri="learningSummary.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Learning Summary//EN"
-            uri="learningSummary.mod"/>
-
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Learning Assessment//EN"
-            uri="learningAssessment.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Learning Assessment//EN"
-            uri="learningAssessment.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Learning Base//EN"
-            uri="learningBase.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Learning Base//EN"
-            uri="learningBase.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Learning Content//EN"
-            uri="learningContent.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Learning Content//EN"
-            uri="learningContent.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Learning Overview//EN"
-            uri="learningOverview.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Learning Overview//EN"
-            uri="learningOverview.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Learning Plan//EN"
-            uri="learningPlan.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Learning Plan//EN"
-            uri="learningPlan.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Learning Summary//EN"
-            uri="learningSummary.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Learning Summary//EN"
-            uri="learningSummary.mod"/>
-
-    <public publicId="-//OASIS//ENTITIES DITA Learning Interaction Base Domain//EN"
-            uri="learningInteractionBaseDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Learning Interaction Base Domain//EN"
-            uri="learningInteractionBaseDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Learning Domain//EN"
-            uri="learningDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Learning Domain//EN"
-            uri="learningDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Learning Metadata Domain//EN"
-            uri="learningMetadataDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Learning Metadata Domain//EN"
-            uri="learningMetadataDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA Learning Map Domain//EN"
-            uri="learningMapDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA Learning Map Domain//EN"
-            uri="learningMapDomain.mod"/>
-
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Learning Interaction Base Domain//EN"
-            uri="learningInteractionBaseDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Learning Interaction Base Domain//EN"
-            uri="learningInteractionBaseDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Learning Domain//EN"
-            uri="learningDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Learning Domain//EN"
-            uri="learningDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Learning Metadata Domain//EN"
-            uri="learningMetadataDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Learning Metadata Domain//EN"
-            uri="learningMetadataDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.x Learning Map Domain//EN"
-            uri="learningMapDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Learning Map Domain//EN"
-            uri="learningMapDomain.mod"/>
-
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Learning Interaction Base Domain//EN"
-            uri="learningInteractionBaseDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Learning Interaction Base Domain//EN"
-            uri="learningInteractionBaseDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Learning Domain//EN"
-            uri="learningDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Learning Domain//EN"
-            uri="learningDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Learning Metadata Domain//EN"
-            uri="learningMetadataDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Learning Metadata Domain//EN"
-            uri="learningMetadataDomain.mod"/>
-    <public publicId="-//OASIS//ENTITIES DITA 1.2 Learning Map Domain//EN"
-            uri="learningMapDomain.ent"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Learning Map Domain//EN"
-            uri="learningMapDomain.mod"/>
-  </group>
-
-  <!-- Modules and document types from the OASIS DITA Machine Industry Subcommittee -->
-  <group uri="machineryIndustry/dtd/">
-    <public publicId="-//OASIS//DTD DITA Machinery Task//EN"
-            uri="machineryTask.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.x Machinery Task//EN"
-            uri="machineryTask.dtd"/>
-    <public publicId="-//OASIS//DTD DITA 1.2 Machinery Task//EN"
-            uri="machineryTask.dtd"/>
-
-    <public publicId="-//OASIS//ELEMENTS DITA Machinery Taskbody Constraint//EN" 
-            uri="machineryTaskbodyConstraint.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.x Machinery Taskbody Constraint//EN" 
-            uri="machineryTaskbodyConstraint.mod"/>
-    <public publicId="-//OASIS//ELEMENTS DITA 1.2 Machinery Taskbody Constraint//EN" 
-            uri="machineryTaskbodyConstraint.mod"/>
-  </group>
-
-<!-- The following identifiers may be used to refer to DITA 1.1 DTDs.
-     Those DTDs are not shipped with this package, so the IDs are
-     commented out. -->
-<!--
-<group>
-  <public publicId="-//OASIS//DTD DITA 1.1 Concept//EN" uri="concept.dtd"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Concept//EN" uri="concept.mod"/>
-  <public publicId="-//OASIS//DTD DITA 1.1 Composite//EN" uri="ditabase.dtd"/>
-  <public publicId="-//OASIS//DTD DITA 1.1 Glossary//EN" uri="glossary.dtd"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Glossary//EN" uri="glossary.mod"/>
-  <public publicId="-//OASIS//DTD DITA 1.1 Reference//EN" uri="reference.dtd"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Reference//EN" uri="reference.mod"/>
-  <public publicId="-//OASIS//DTD DITA 1.1 Task//EN" uri="task.dtd"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Task//EN" uri="task.mod"/>
-  <public publicId="-//OASIS//DTD DITA 1.1 Topic//EN" uri="topic.dtd"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Topic//EN" uri="topic.mod"/>
-  <public publicId="-//OASIS//ENTITIES DITA 1.1 Topic Definitions//EN" uri="topicDefn.ent"/>
-  <public publicId="-//OASIS//DTD DITA 1.1 Map//EN" uri="map.dtd"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Map//EN" uri="map.mod"/>
-  <public publicId="-//OASIS//ENTITIES DITA 1.1 Map Group Domain//EN" uri="mapGroup.ent"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Map Group Domain//EN" uri="mapGroup.mod"/>
-  <public publicId="-//OASIS//DTD DITA 1.1 BookMap//EN" uri="bookmap.dtd"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 BookMap//EN" uri="bookmap.mod"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Highlight Domain//EN" uri="highlightDomain.mod"/>
-  <public publicId="-//OASIS//ENTITIES DITA 1.1 Highlight Domain//EN" uri="highlightDomain.ent"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Indexing Domain//EN" uri="indexingDomain.mod"/>
-  <public publicId="-//OASIS//ENTITIES DITA 1.1 Indexing Domain//EN" uri="indexingDomain.ent"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Programming Domain//EN" uri="programmingDomain.mod"/>
-  <public publicId="-//OASIS//ENTITIES DITA 1.1 Programming Domain//EN" uri="programmingDomain.ent"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Software Domain//EN" uri="softwareDomain.mod"/>
-  <public publicId="-//OASIS//ENTITIES DITA 1.1 Software Domain//EN" uri="softwareDomain.ent"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 User Interface Domain//EN" uri="uiDomain.mod"/>
-  <public publicId="-//OASIS//ENTITIES DITA 1.1 User Interface Domain//EN" uri="uiDomain.ent"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Utilities Domain//EN" uri="utilitiesDomain.mod"/>
-  <public publicId="-//OASIS//ENTITIES DITA 1.1 Utilities Domain//EN" uri="utilitiesDomain.ent"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 XNAL Domain//EN" uri="xnalDomain.mod"/>
-  <public publicId="-//OASIS//ENTITIES DITA 1.1 XNAL Domain//EN" uri="xnalDomain.ent"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Common Elements//EN" uri="commonElements.mod"/>
-  <public publicId="-//OASIS//ENTITIES DITA 1.1 Common Elements//EN" uri="commonElements.ent"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Metadata//EN" uri="metaDecl.mod"/>
-  <public publicId="-//OASIS//ELEMENTS DITA 1.1 Exchange Table Model//EN" uri="tblDecl.mod"/>
-</group>
--->
-<!-- The following identifiers may be used to refer to DITA 1.0 DTDs.
-     Those DTDs are not shipped with this package, so the IDs are
-     commented out. -->
-<!--<group>
-  <public publicId="-//OASIS//DTD DITA 1.0 Concept//EN" uri="concept.dtd"/>
-  <public publicId="-//OASIS//DTD DITA 1.0 Composite//EN" uri="ditabase.dtd"/>
-  <public publicId="-//OASIS//DTD DITA 1.0 Reference//EN" uri="reference.dtd"/>
-  <public publicId="-//OASIS//DTD DITA 1.0 Task//EN" uri="task.dtd"/>
-  <public publicId="-//OASIS//DTD DITA 1.0 Topic//EN" uri="topic.dtd"/>
-  <public publicId="-//OASIS//DTD DITA 1.0 Map//EN" uri="map.dtd"/>
-</group>-->
-
-</catalog>
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/ditaval/dtd/ditaval.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/ditaval/dtd/ditaval.dtd
deleted file mode 100644
index acf4a8d..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/ditaval/dtd/ditaval.dtd
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml encoding="utf-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA DITAVAL 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 DITAVAL//EN"
-      Delivered as file "ditaval.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 DITAVAL//EN"                        -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITAVAL resources                 -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE: 2005                                  -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2006, 2009.              -->
-<!--             (C) Copyright IBM Corporation 2002, 2005.         -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!ELEMENT val (style-conflict?, (prop | revprop)*)>
-
-<!ELEMENT style-conflict EMPTY>
-<!ATTLIST style-conflict
-  foreground-conflict-color CDATA #IMPLIED
-  background-conflict-color CDATA #IMPLIED
->
-
-
-<!ELEMENT prop (startflag?, endflag?)>
-<!ATTLIST prop
-  att       CDATA	    #IMPLIED
-  val       CDATA       #IMPLIED
-  action    (flag|include|exclude|passthrough)  #REQUIRED
-  color     CDATA       #IMPLIED
-  backcolor CDATA       #IMPLIED
-  style     (underline|double-underline|italics|overline|bold)       #IMPLIED
-  >
-
-<!ELEMENT startflag (alt-text?)>
-<!ATTLIST startflag
-  imageref  CDATA       #IMPLIED
->
-
-<!ELEMENT endflag (alt-text?)>
-<!ATTLIST endflag
-  imageref  CDATA       #IMPLIED
->
-
-<!ELEMENT alt-text (#PCDATA)>
-
-<!-- The style attribute should be a color value (either a name, or a SRGB value).
-     See below for the supported color names (taken from the XHTML DTD). -->
-<!ELEMENT revprop (startflag?, endflag?)>
-<!ATTLIST revprop
-  val		CDATA		#IMPLIED
-  action	(include|passthrough|flag)  #REQUIRED
-  changebar CDATA       #IMPLIED
-  color     CDATA       #IMPLIED
-  backcolor CDATA       #IMPLIED
-  style     (underline|double-underline|italics|overline|bold)       #IMPLIED
-  >
-
-<!-- There are 16 widely known color names with their sRGB values:
-
-    black  = #000000    green  = #008000
-    silver = #C0C0C0    lime   = #00FF00
-    gray   = #808080    olive  = #808000
-    white  = #FFFFFF    yellow = #FFFF00
-    maroon = #800000    navy   = #000080
-    red    = #FF0000    blue   = #0000FF
-    purple = #800080    teal   = #008080
-    fuchsia= #FF00FF    aqua   = #00FFFF
--->
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningAssessment.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningAssessment.dtd
deleted file mode 100644
index f211d7e..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningAssessment.dtd
+++ /dev/null
@@ -1,198 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Assessment 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 Assessment//EN"
-      Delivered as file "learningAssessment.dtd"                   -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITA learning Assessment topic    -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2007.05.01 JPH: Original creation                          -->
-<!--    2007.10.30 JPH: Draft TC submission                        -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    TOPIC ENTITY DECLARATIONS                  -->
-<!-- ============================================================= -->
-
-<!ENTITY % learningBase-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Base//EN" 
-         "learningBase.ent"
->%learningBase-dec;
-
-<!ENTITY % learningAssesment-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Assessment//EN" 
-         "learningAssessment.ent"
->%learningAssesment-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     -->
-
-<!--Redefine the infotype entity to exclude other topic types and disallow nesting-->
-<!ENTITY % learningAssessment-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;
-                           &learningInteractionBase-d-att;
-                           &learning-d-att;
-                           &learningmeta-d-att;
-                           &learningBase-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 learningAssessment to get specific elements -->
-<!ENTITY % learningAssessment-typemod PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Learning Assessment//EN" 
-"learningAssessment.mod">
-  %learningAssessment-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;
-
-
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningAssessment.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningAssessment.ent
deleted file mode 100644
index 838fad6..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningAssessment.ent
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Assessment Entity                   -->
-<!--  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//ENTITIES DITA Learning Assessment//EN"
-      Delivered as file "learningAssessment.ent"                   -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the domain entity for Learning          -->
-<!--             Assessment topics                                 -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             April 2008                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    LEARNING ENTITIES                          -->
-<!-- ============================================================= -->
-
-<!ENTITY learningAssessment-att     
-  "(topic learningBase+learningInteractionBase-d learningAssessment)"
->
-
-
-<!-- ================== End Learning Entities ==================== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningAssessment.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningAssessment.mod
deleted file mode 100644
index 8db8682..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningAssessment.mod
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA learningAssessment                           -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identfier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Assessment//EN"
-      Delivered as file "learningAssessment.mod                    -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for Learning Assessment                -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   SPECIALIZATION OF DECLARED ELEMENTS         -->
-<!-- ============================================================= -->
-
-<!ENTITY % learningAssessment     "learningAssessment">
-<!ENTITY % learningAssessmentbody "learningAssessmentbody">
-
-<!ENTITY % learningAssessment-info-types "no-topic-nesting">
-
-<!ENTITY included-domains 
-  ""
->
-
-<!--                    LONG NAME: Learning Assessment             -->
-<!ENTITY % learningAssessment.content
-                        "((%title;),
-                          (%titlealts;)?,
-                          (%shortdesc; | 
-                           %abstract;)?,
-                          (%prolog;)?,
-                          (%learningAssessmentbody;),
-                          (%related-links;)?,
-                          (%learningAssessment-info-types;)* )"
->
-<!ENTITY % learningAssessment.attributes
-             "id
-                        ID 
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT learningAssessment    %learningAssessment.content;>
-<!ATTLIST learningAssessment
-              %learningAssessment.attributes;
-              %arch-atts;
-              domains 
-                        CDATA
-                                  "&included-domains;"
->
-
-<!--                    LONG NAME: Learning Assessment Body        -->
-<!ENTITY % learningAssessmentbody.content
-                        "((%lcIntro;)?,
-                          (%lcObjectives;)?,
-                          (%lcDuration;)?,
-                          (%lcInteraction;)*,
-                          (%section;)*,
-                          (%lcSummary;)?)"
->
-<!ENTITY % learningAssessmentbody.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT learningAssessmentbody   %learningAssessmentbody.content;>
-<!ATTLIST learningAssessmentbody   %learningAssessmentbody.attributes;>
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
- 
-<!ATTLIST learningAssessment        %global-atts; class CDATA "- topic/topic learningBase/learningBase     learningAssessment/learningAssessment ">
-<!ATTLIST learningAssessmentbody    %global-atts; class CDATA "- topic/body  learningBase/learningBasebody learningAssessment/learningAssessmentbody ">
-
-
-
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningBase.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningBase.ent
deleted file mode 100644
index 3b9466b..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningBase.ent
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Base Entity                         -->
-<!--  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//ENTITIES DITA Learning Base//EN"
-      Delivered as file "learningBase.ent"                   -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the domain entity for Learning topics   -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             April 2008                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    LEARNING ENTITIES                          -->
-<!-- ============================================================= -->
-
-<!ENTITY learningBase-att     
-  "(topic learningBase+learningInteractionBase-d)"
->
-
-
-<!-- ================== End Learning Entities ==================== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningBase.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningBase.mod
deleted file mode 100644
index 3b2191d..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningBase.mod
+++ /dev/null
@@ -1,398 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA learningBase                                 -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identfier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Base//EN"
-      Delivered as file "learningBase.mod"                         -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for Learning Base                      -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  CHANGE LOG:                                                  -->
-<!--                                                               -->
-<!--    Sept 2009: WEK: Make learningBasebody optional per         -->
-<!--    TC decision.                                               -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   SPECIALIZATION OF DECLARED ELEMENTS         -->
-<!-- ============================================================= -->
-
-<!ENTITY % learningBase "learningBase">
-<!ENTITY % learningBasebody "learningBasebody">
-<!ENTITY % lcIntro "lcIntro">
-<!ENTITY % lcObjectives "lcObjectives">
-<!ENTITY % lcObjectivesStem "lcObjectivesStem">
-<!ENTITY % lcObjectivesGroup "lcObjectivesGroup">
-<!ENTITY % lcObjective "lcObjective">
-<!ENTITY % lcAudience "lcAudience">
-<!ENTITY % lcDuration "lcDuration">
-<!ENTITY % lcTime "lcTime">
-<!ENTITY % lcPrereqs "lcPrereqs">
-<!ENTITY % lcSummary "lcSummary">
-<!ENTITY % lcNextSteps "lcNextSteps">
-<!ENTITY % lcReview "lcReview">
-<!ENTITY % lcResources "lcResources">
-<!ENTITY % lcChallenge "lcChallenge">
-<!ENTITY % lcInstruction "lcInstruction">
-<!ENTITY % lcInteraction "lcInteraction">
-
-
-<!-- declare the structure and content models -->
-
-<!ENTITY % learningBase-info-types "%info-types;">
-<!ENTITY included-domains    "" >
-
-<!ENTITY % learningBase.content
-                       "((%title;),
-                         (%titlealts;)?, 
-                         (%shortdesc; | 
-                          %abstract;)?,
-                         (%prolog;)?,
-                         (%learningBasebody;)?,
-                         (%related-links;)?,
-                         (%learningBase-info-types;)* )"
->
-<!ENTITY % learningBase.attributes
-             "id
-                        ID 
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT learningBase    %learningBase.content;>
-<!ATTLIST learningBase
-              %learningBase.attributes;
-              %arch-atts;
-              domains 
-                        CDATA
-                                  "&included-domains;"
->
-
-
-<!ENTITY % learningBasebody.content
-                       "((%lcAudience; |
-                          %lcChallenge; |
-                          %lcDuration; |
-                          %lcInstruction; |
-                          %lcInteraction; |
-                          %lcIntro; |
-                          %lcNextSteps; |
-                          %lcObjectives; |
-                          %lcPrereqs; |
-                          %lcResources; |
-                          %lcReview; |
-                          %lcSummary; |
-                          %section;)*)"
->
-<!ENTITY % learningBasebody.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT learningBasebody    %learningBasebody.content;>
-<!ATTLIST learningBasebody    %learningBasebody.attributes;>
-
-
-<!ENTITY % lcIntro.content
-                       "(%section.cnt;)*"
->
-<!ENTITY % lcIntro.attributes
-             "%univ-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcIntro    %lcIntro.content;>
-<!ATTLIST lcIntro    %lcIntro.attributes;>
-
-
-<!ENTITY % lcObjectives.content
-                       "((%title;)?,
-                         (%lcObjectivesStem;)?,
-                         (%lcObjectivesGroup;)*)"
->
-<!ENTITY % lcObjectives.attributes
-             "%univ-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcObjectives    %lcObjectives.content;>
-<!ATTLIST lcObjectives    %lcObjectives.attributes;>
-
-
-<!ENTITY % lcObjectivesStem.content
-                       "(%ph.cnt;)* "
->
-<!ENTITY % lcObjectivesStem.attributes
-             "%univ-atts; 
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcObjectivesStem    %lcObjectivesStem.content;>
-<!ATTLIST lcObjectivesStem    %lcObjectivesStem.attributes;>
-
-
-<!ENTITY % lcObjectivesGroup.content
-                       "((%lcObjective;)+)"
->
-<!ENTITY % lcObjectivesGroup.attributes
-             "%univ-atts; 
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcObjectivesGroup    %lcObjectivesGroup.content;>
-<!ATTLIST lcObjectivesGroup    %lcObjectivesGroup.attributes;>
-
-
-<!ENTITY % lcObjective.content
-                       "(%ph.cnt;)*"
->
-<!ENTITY % lcObjective.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcObjective    %lcObjective.content;>
-<!ATTLIST lcObjective    %lcObjective.attributes;>
-
-
-<!ENTITY % lcAudience.content
-                       "(%section.cnt;)*"
->
-<!ENTITY % lcAudience.attributes
-             "%univ-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcAudience    %lcAudience.content;>
-<!ATTLIST lcAudience    %lcAudience.attributes;>
-
-
-<!ENTITY % lcDuration.content
-                       "((%title;)?,
-                         (%lcTime;)?)"
->
-<!ENTITY % lcDuration.attributes
-             "%univ-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcDuration    %lcDuration.content;>
-<!ATTLIST lcDuration    %lcDuration.attributes;>
-
-
-<!ENTITY % lcTime.content
-                       "(%ph.cnt;)*"
->
-<!ENTITY % lcTime.attributes
-             "name
-                        CDATA
-                                  'lcTime'
-              datatype 
-                        CDATA
-                                  'TimeValue'
-              value
-                        CDATA
-                                  #REQUIRED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcTime    %lcTime.content;>
-<!ATTLIST lcTime    %lcTime.attributes;>
-
-
-<!ENTITY % lcPrereqs.content
-                       "(%section.cnt;)*"
->
-<!ENTITY % lcPrereqs.attributes
-             "spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcPrereqs    %lcPrereqs.content;>
-<!ATTLIST lcPrereqs    %lcPrereqs.attributes;>
-
-
-<!ENTITY % lcSummary.content
-                       "(%section.cnt;)*"
->
-<!ENTITY % lcSummary.attributes
-             "spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcSummary    %lcSummary.content;>
-<!ATTLIST lcSummary    %lcSummary.attributes;>
-
-
-<!ENTITY % lcNextSteps.content
-                       "(%section.cnt;)*"
->
-<!ENTITY % lcNextSteps.attributes
-             "spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcNextSteps    %lcNextSteps.content;>
-<!ATTLIST lcNextSteps    %lcNextSteps.attributes;>
-
-
-<!ENTITY % lcReview.content
-                       "(%section.cnt;)*"
->
-<!ENTITY % lcReview.attributes
-             "spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcReview    %lcReview.content;>
-<!ATTLIST lcReview    %lcReview.attributes;>
-
-
-<!ENTITY % lcResources.content
-                       "(%section.cnt;)*"
->
-<!ENTITY % lcResources.attributes
-             "spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcResources    %lcResources.content;>
-<!ATTLIST lcResources    %lcResources.attributes;>
-
-
-<!ENTITY % lcChallenge.content
-                       "(%section.cnt;)*"
->
-<!ENTITY % lcChallenge.attributes
-             "spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcChallenge    %lcChallenge.content;>
-<!ATTLIST lcChallenge    %lcChallenge.attributes;>
-
-
-<!ENTITY % lcInstruction.content
-                       "(%section.cnt;)*"
->
-<!ENTITY % lcInstruction.attributes
-             "spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcInstruction    %lcInstruction.content;>
-<!ATTLIST lcInstruction    %lcInstruction.attributes;>
-
-
-<!ENTITY % lcInteraction.content
-                       "(%lcInteractionBase;)*"
->
-<!ENTITY % lcInteraction.attributes
-             "spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcInteraction    %lcInteraction.content;>
-<!ATTLIST lcInteraction    %lcInteraction.attributes;>
-
-
-<!--specialization attributes-->
-<!ATTLIST learningBase       %global-atts; class CDATA "- topic/topic learningBase/learningBase ">
-<!ATTLIST learningBasebody   %global-atts; class CDATA "- topic/body learningBase/learningBasebody ">
-<!ATTLIST lcIntro            %global-atts; class CDATA "- topic/section learningBase/lcIntro ">
-<!ATTLIST lcObjectives       %global-atts; class CDATA "- topic/section learningBase/lcObjectives ">
-<!ATTLIST lcObjectivesStem   %global-atts; class CDATA "- topic/ph learningBase/lcObjectivesStem ">
-<!ATTLIST lcObjectivesGroup   %global-atts; class CDATA "- topic/ul learningBase/lcObjectivesGroup ">
-<!ATTLIST lcObjective        %global-atts; class CDATA "- topic/li learningBase/lcObjective ">
-<!ATTLIST lcAudience         %global-atts; class CDATA "- topic/section learningBase/lcAudience ">
-<!ATTLIST lcDuration         %global-atts; class CDATA "- topic/section learningBase/lcDuration ">
-<!ATTLIST lcTime             %global-atts; class CDATA "- topic/data learningBase/lcTime ">
-<!ATTLIST lcPrereqs          %global-atts; class CDATA "- topic/section learningBase/lcPrereqs ">
-<!ATTLIST lcSummary          %global-atts; class CDATA "- topic/section learningBase/lcSummary ">
-<!ATTLIST lcNextSteps        %global-atts; class CDATA "- topic/section learningBase/lcNextSteps ">
-<!ATTLIST lcReview           %global-atts; class CDATA "- topic/section learningBase/lcReview ">
-<!ATTLIST lcResources        %global-atts; class CDATA "- topic/section learningBase/lcResources ">
-<!ATTLIST lcChallenge        %global-atts; class CDATA "- topic/section learningBase/lcChallenge ">
-<!ATTLIST lcInstruction      %global-atts; class CDATA "- topic/section learningBase/lcInstruction ">
-<!ATTLIST lcInteraction      %global-atts; class CDATA "- topic/section learningBase/lcInteraction ">
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningBookmap.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningBookmap.dtd
deleted file mode 100644
index c4eb6d8..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningBookmap.dtd
+++ /dev/null
@@ -1,226 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Bookmap 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 BookMap//EN"
-      Delivered as file "learningBookmap.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 Learning BookMap//EN"               -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITA Learning Book Maps           -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             April 2008                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2010.09.21 RDA: Added base topic domains                   -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    MAP ENTITY DECLARATIONS                    -->
-<!-- ============================================================= -->
-
-<!ENTITY % bookmap-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 BookMap//EN" 
-         "../../bookmap/dtd/bookmap.ent"
->%bookmap-dec;
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATIONS                 -->
-<!-- ============================================================= -->
-
-<!ENTITY % learningmap-d-dec
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Map Domain//EN" 
-         "learningMapdomain.ent">
-  %learningmap-d-dec;
-
-<!ENTITY % learningmeta-d-dec 
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Metadata Domain//EN" 
-         "learningMetadataDomain.ent">
-  %learningmeta-d-dec;
-
-<!ENTITY % mapgroup-d-dec 
-                        PUBLIC 
-"-//OASIS//ENTITIES DITA 1.2 Map Group Domain//EN" 
-"../../base/dtd/mapGroup.ent"                                                 >
-%mapgroup-d-dec;
-
-<!ENTITY % indexing-d-dec     PUBLIC 
-"-//OASIS//ENTITIES DITA 1.2 Indexing Domain//EN" 
-"../../base/dtd/indexingDomain.ent"                                           >
-%indexing-d-dec;
-
-<!ENTITY % delay-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Delayed Resolution Domain//EN" 
-         "../../base/dtd/delayResolutionDomain.ent"                                                       
->%delay-d-dec;
-
-<!ENTITY % xnaldomain-d-dec 
-                        PUBLIC 
-"-//OASIS//ENTITIES DITA 1.2 XNAL Domain//EN" 
-"../../xnal/dtd/xnalDomain.ent"                                      >
-%xnaldomain-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 % hazard-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Hazard Statement Domain//EN" 
-         "../../base/dtd/hazardstatementDomain.ent"
->%hazard-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 % author       "author | 
-                         %xnal-d-author;
-                        ">
-<!ENTITY % topicref     "topicref |
-                         %mapgroup-d-topicref; |
-                         %learningmap-d-topicref;
-                        ">
-<!ENTITY % metadata     "metadata  | 
-                         %learningmeta-d-metadata;
-                        ">
-<!ENTITY % index-base   "index-base |
-                         %indexing-d-index-base;
-                        ">
-<!ENTITY % keywords     "keywords | 
-                         %delay-d-keywords;
-                        ">
-<!ENTITY % ph           "ph | 
-                         %hi-d-ph;
-                        ">
-<!ENTITY % fig          "fig |
-                         %ut-d-fig;
-                        ">
-<!ENTITY % note         "note | 
-                         %hazard-d-note;
-                        ">
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ATTRIBUTE EXTENSIONS                -->
-<!-- ============================================================= -->
-<!ENTITY % props-attribute-extensions  ""                            >
-<!ENTITY % base-attribute-extensions   ""                            >
-
-<!-- ============================================================= -->
-<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
-<!-- ============================================================= -->
-<!--                    Must be declared ahead of the DTDs, which
-                        puts @domains first in order               -->
-<!ENTITY included-domains 
-                        "&bookmap-att;
-                         &delay-d-att;
-                         &mapgroup-d-att;
-                         &indexing-d-att; 
-                         &xnal-d-att;
-                         &learningmap-d-att;
-                         &learningmeta-d-att;
-                         &hi-d-att; 
-                         &ut-d-att; 
-                         &hazard-d-att;
-                         ">
-
-<!-- ============================================================= -->
-<!--                    MAP ELEMENT INTEGRATION                    -->
-<!-- ============================================================= -->
-
-<!ENTITY % map-type PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Map//EN" 
-"../../base/dtd/map.mod"                                                      >
-%map-type;
-
-<!ENTITY % bookmap-type PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 BookMap//EN" 
-"../../bookmap/dtd/bookmap.mod"                                      >
-%bookmap-type;
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ELEMENT INTEGRATION                 -->
-<!-- ============================================================= -->
-
-<!ENTITY % mapgroup-d-def  
-                        PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Map Group Domain//EN" 
-"../../base/dtd/mapGroup.mod"                                                 >
-%mapgroup-d-def;
-
-<!ENTITY % indexing-d-def
-                        PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Indexing Domain//EN" 
-"../../base/dtd/indexingDomain.mod">
-%indexing-d-def;
-
-<!ENTITY % delay-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Delayed Resolution Domain//EN" 
-         "../../base/dtd/delayResolutionDomain.mod"
->%delay-d-def;
-
-<!ENTITY % xnaldomain-d-def  
-                        PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 XNAL Domain//EN" 
-"../../xnal/dtd/xnalDomain.mod">
-%xnaldomain-d-def;
-
-<!ENTITY % learningmap-d-def PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Learning Map Domain//EN" 
-"learningMapdomain.mod">
-  %learningmap-d-def;
-
-<!ENTITY % learningmeta-d-def PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Learning Metadata Domain//EN" 
-"learningMetadataDomain.mod">
-  %learningmeta-d-def;
-
-<!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 % hazard-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Hazard Statement Domain//EN" 
-         "../../base/dtd/hazardstatementDomain.mod"
->%hazard-d-def;
-
-<!-- ================== End DITA Learning Bookmap DTD  =========== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningContent.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningContent.dtd
deleted file mode 100644
index 826e67f..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningContent.dtd
+++ /dev/null
@@ -1,265 +0,0 @@
-<?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;
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningContent.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningContent.ent
deleted file mode 100644
index f12af8f..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningContent.ent
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Content Entity                      -->
-<!--  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//ENTITIES DITA Learning Content//EN"
-      Delivered as file "learningContent.ent"                      -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the domain entity for Learning          -->
-<!--             Content topics                                    -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             April 2008                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    LEARNING ENTITIES                          -->
-<!-- ============================================================= -->
-
-<!ENTITY learningContent-att     
-  "(topic learningBase+learningInteractionBase-d learningContent)"
->
-
-
-<!-- ================== End Learning Entities ==================== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningContent.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningContent.mod
deleted file mode 100644
index 85c9c71..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningContent.mod
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA learningContent                              -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identfier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Content//EN"
-      Delivered as file "learningContent.mod                       -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for Learning Content                   -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   SPECIALIZATION OF DECLARED ELEMENTS         -->
-<!-- ============================================================= -->
-
-<!-- ============ Specialization of declared elements ============ -->
-
-<!ENTITY % learningContent "learningContent">
-<!ENTITY % learningContentbody "learningContentbody">
-
-<!-- declare the structure and content models -->
-
-<!-- declare the class derivations -->
-
-<!ENTITY % learningContent-info-types "no-topic-nesting">
-<!ENTITY included-domains    "" >
-
-<!ENTITY % learningContent.content
-                       "((%title;),
-                         (%titlealts;)?,
-                         (%shortdesc; | 
-                          %abstract;)?,
-                         (%prolog;)?,
-                         (%learningContentbody;),
-                         (%related-links;)?,
-                         (%learningContent-info-types;)* )"
->
-<!ENTITY % learningContent.attributes
-             "id
-                        ID 
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT learningContent    %learningContent.content;>
-<!ATTLIST learningContent
-              %learningContent.attributes;
-              %arch-atts;
-              domains 
-                        CDATA
-                                  "&included-domains;"
->
-
-
-<!ENTITY % learningContentbody.content
-                       "(((%lcIntro;) |
-                          (%lcDuration;) |
-                          (%lcObjectives;))*,
-                         (%lcChallenge;)?,
-                         (%lcInstruction;)?,
-                         (%section;)*)  "
->
-<!ENTITY % learningContentbody.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT learningContentbody    %learningContentbody.content;>
-<!ATTLIST learningContentbody    %learningContentbody.attributes;>
-
-
-
-<!--specialization attributes-->
-
-<!ATTLIST learningContent        %global-atts; class CDATA "- topic/topic learningBase/learningBase learningContent/learningContent ">
-<!ATTLIST learningContentbody    %global-atts; class CDATA "- topic/body  learningBase/learningBasebody learningContent/learningContentbody ">
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningDomain.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningDomain.ent
deleted file mode 100644
index d6196dd..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningDomain.ent
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Domain                              -->
-<!--  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//ENTITIES DITA Learning Domain//EN"
-      Delivered as file "learningDomain.ent"                      -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the substitution context and domain     -->
-<!--             entity declarations for the learning domain       -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    LEARNING DOMAIN ENTITIES                   -->
-<!-- ============================================================= -->
-
-<!ENTITY learning-d-att "(topic learningInteractionBase-d learning-d)">
-<!ENTITY % learning-d-note 
-                       "lcInstructornote"
->
-
-<!-- The following elements are specializations of lcInteractionBase, 
-     which is a specialization of fig. So, they are available as 
-     replacements for each of those elements. -->
-<!ENTITY % learning-d-fig 
-                       "lcTrueFalse |
-                        lcSingleSelect |
-                        lcMultipleSelect |
-                        lcSequencing |
-                        lcMatching |
-                        lcHotspot |
-                        lcOpenQuestion"
->
-
-<!ENTITY % learning-d-lcInteractionBase 
-                       "lcTrueFalse |
-                        lcSingleSelect |
-                        lcMultipleSelect |
-                        lcSequencing |
-                        lcMatching |
-                        lcHotspot |
-                        lcOpenQuestion"
->
-
-<!-- ================== End Learning Domain Entities ============= -->
-
-
-
-
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningDomain.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningDomain.mod
deleted file mode 100644
index d6e6bfd..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningDomain.mod
+++ /dev/null
@@ -1,680 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Domain                              -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identfier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Domain//EN"
-      Delivered as file "learningDomain.mod"                      -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for Learning Domain                    -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  CHANGE LOG:                                                  -->
-<!--                                                               -->
-<!--    Sept 2009: WEK: added lcMatchingItemFeedback per           -->
-<!--    TC decision.                                               -->
-<!-- ============================================================= -->
-
- 
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-   - Assessment interactions
-   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-   - ENTITY DECLARATIONS FOR DOMAIN SUBSTITUTION
-   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-<!ENTITY % lcInstructornote "lcInstructornote">
-<!ENTITY % lcTrueFalse              "lcTrueFalse">
-<!ENTITY % lcSingleSelect           "lcSingleSelect">
-<!ENTITY % lcMultipleSelect         "lcMultipleSelect">
-<!ENTITY % lcSequencing             "lcSequencing">
-<!ENTITY % lcMatching               "lcMatching">
-<!ENTITY % lcHotspot                "lcHotspot">
-<!ENTITY % lcOpenQuestion           "lcOpenQuestion">
-
-<!ENTITY % lcQuestion               "lcQuestion">
-<!ENTITY % lcOpenAnswer             "lcOpenAnswer">
-<!ENTITY % lcAnswerOptionGroup    "lcAnswerOptionGroup">
-<!ENTITY % lcAsset                  "lcAsset">
-<!ENTITY % lcFeedbackCorrect        "lcFeedbackCorrect">
-<!ENTITY % lcFeedbackIncorrect      "lcFeedbackIncorrect">
-<!ENTITY % lcAnswerOption         "lcAnswerOption">
-<!ENTITY % lcAnswerContent          "lcAnswerContent">
-<!ENTITY % lcSequenceOptionGroup    "lcSequenceOptionGroup">
-<!ENTITY % lcSequenceOption         "lcSequenceOption">
-<!ENTITY % lcSequence               "lcSequence">
-
-<!ENTITY % lcMatchTable             "lcMatchTable">
-<!ENTITY % lcMatchingHeader         "lcMatchingHeader">
-<!ENTITY % lcMatchingPair           "lcMatchingPair">
-<!ENTITY % lcItem                   "lcItem">
-<!ENTITY % lcMatchingItem           "lcMatchingItem">
-<!ENTITY % lcMatchingItemFeedback   "lcMatchingItemFeedback">
-
-<!ENTITY % lcHotspotMap             "lcHotspotMap">
-<!ENTITY % lcArea                   "lcArea">
-<!ENTITY % lcAreaShape              "lcAreaShape">
-<!ENTITY % lcAreaCoords             "lcAreaCoords">
-
-<!ENTITY % lcCorrectResponse        "lcCorrectResponse">
-<!ENTITY % lcFeedback               "lcFeedback">
-
-
-<!ENTITY % lcInstructornote.content
-                       "(%note.cnt;)* "
->
-<!ENTITY % lcInstructornote.attributes
-             "spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass 
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcInstructornote    %lcInstructornote.content;>
-<!ATTLIST lcInstructornote    %lcInstructornote.attributes;>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-   - INTERACTION DEFINITIONS
-   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-<!ENTITY % lcTrueFalse.content
-                       "((%title;)?,
-                         (%lcQuestion;), 
-                         (%lcAsset;)?,
-                         (%lcAnswerOptionGroup;),
-                         (%lcFeedbackIncorrect;)?,
-                         (%lcFeedbackCorrect;)?,
-                         (%data;)*)"
->
-<!ENTITY % lcTrueFalse.attributes
-             "id
-                        NMTOKEN
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcTrueFalse    %lcTrueFalse.content;>
-<!ATTLIST lcTrueFalse    %lcTrueFalse.attributes;>
-
-
-<!ENTITY % lcSingleSelect.content
-                       "((%title;)?,
-                         (%lcQuestion;), 
-                         (%lcAsset;)?,
-                         (%lcAnswerOptionGroup;),
-                         (%lcFeedbackIncorrect;)?,
-                         (%lcFeedbackCorrect;)?,
-                         (%data;)*)"
->
-<!ENTITY % lcSingleSelect.attributes
-             "id
-                        NMTOKEN
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcSingleSelect    %lcSingleSelect.content;>
-<!ATTLIST lcSingleSelect    %lcSingleSelect.attributes;>
-
-
-<!ENTITY % lcMultipleSelect.content
-                       "((%title;)?,
-                         (%lcQuestion;), 
-                         (%lcAsset;)?,
-                         (%lcAnswerOptionGroup;),
-                         (%lcFeedbackIncorrect;)?,
-                         (%lcFeedbackCorrect;)?,
-                         (%data;)*)"
->
-<!ENTITY % lcMultipleSelect.attributes
-             "id
-                        NMTOKEN
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcMultipleSelect    %lcMultipleSelect.content;>
-<!ATTLIST lcMultipleSelect    %lcMultipleSelect.attributes;>
-
-
-<!ENTITY % lcSequencing.content
-                       "((%title;)?,
-                         (%lcQuestion;),
-                         (%lcAsset;)?,
-                         (%lcSequenceOptionGroup;),
-                         (%lcFeedbackIncorrect;)?,
-                         (%lcFeedbackCorrect;)?,
-                         (%data;)*)"
->
-<!ENTITY % lcSequencing.attributes
-             "id
-                        NMTOKEN
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcSequencing    %lcSequencing.content;>
-<!ATTLIST lcSequencing    %lcSequencing.attributes;>
-
-
-<!ENTITY % lcMatching.content
-                       "((%title;)?,
-                         (%lcQuestion;),
-                         (%lcAsset;)?,
-                         (%lcMatchTable;),
-                         (%lcFeedbackIncorrect;)?,
-                         (%lcFeedbackCorrect;)?,
-                         (%data;)*)"
->
-<!ENTITY % lcMatching.attributes
-             "id
-                        NMTOKEN
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcMatching    %lcMatching.content;>
-<!ATTLIST lcMatching    %lcMatching.attributes;>
-
-
-<!ENTITY % lcHotspot.content
-                       "((%title;)?,
-                         (%lcQuestion;),
-                         (%lcHotspotMap;),
-                         (%lcFeedbackIncorrect;)?,
-                         (%lcFeedbackCorrect;)?,
-                         (%data;)*)"
->
-<!ENTITY % lcHotspot.attributes
-             "id
-                        NMTOKEN
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcHotspot    %lcHotspot.content;>
-<!ATTLIST lcHotspot    %lcHotspot.attributes;>
-
-
-<!ENTITY % lcOpenQuestion.content
-                       "((%title;)?,
-                         (%lcQuestion;), 
-                         (%lcAsset;)?,
-                         (%lcOpenAnswer;)?,
-                         (%lcFeedbackIncorrect;)?,
-                         (%lcFeedbackCorrect;)?,
-                         (%data;)*)"
->
-<!ENTITY % lcOpenQuestion.attributes
-             "id
-                        NMTOKEN
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcOpenQuestion    %lcOpenQuestion.content;>
-<!ATTLIST lcOpenQuestion    %lcOpenQuestion.attributes;>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-   - OPTION DEFINITIONS
-   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-<!ENTITY % lcQuestion.content
-                       "(%ph.cnt;)*"
->
-<!ENTITY % lcQuestion.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcQuestion    %lcQuestion.content;>
-<!ATTLIST lcQuestion    %lcQuestion.attributes;>
-
-
-<!ENTITY % lcOpenAnswer.content
-                       "(%ph.cnt;)*"
->
-<!ENTITY % lcOpenAnswer.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcOpenAnswer    %lcOpenAnswer.content;>
-<!ATTLIST lcOpenAnswer    %lcOpenAnswer.attributes;>
-
-
-<!ENTITY % lcAnswerOptionGroup.content
-                       "((%lcAnswerOption;)+)"
->
-<!ENTITY % lcAnswerOptionGroup.attributes
-             "%univ-atts; 
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcAnswerOptionGroup    %lcAnswerOptionGroup.content;>
-<!ATTLIST lcAnswerOptionGroup    %lcAnswerOptionGroup.attributes;>
-
-
-<!ENTITY % lcSequenceOptionGroup.content
-                       "((%lcSequenceOption;)+)"
->
-<!ENTITY % lcSequenceOptionGroup.attributes
-             "%univ-atts; 
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcSequenceOptionGroup    %lcSequenceOptionGroup.content;>
-<!ATTLIST lcSequenceOptionGroup    %lcSequenceOptionGroup.attributes;>
-
-
-									
-<!ENTITY % lcAsset.content
-                       "((%imagemap; | 
-                          %image; | 
-                          %object;)*)"
->
-<!ENTITY % lcAsset.attributes
-             "%univ-atts; 
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcAsset    %lcAsset.content;>
-<!ATTLIST lcAsset    %lcAsset.attributes;>
-
-
-<!ENTITY % lcSequenceOption.content
-                       "((%lcAnswerContent;),
-                         (%lcSequence;))"
->
-<!ENTITY % lcSequenceOption.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcSequenceOption    %lcSequenceOption.content;>
-<!ATTLIST lcSequenceOption    %lcSequenceOption.attributes;>
-
-
-<!ENTITY % lcFeedback.content
-                       "(%ph.cnt;)*"
->
-<!ENTITY % lcFeedback.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcFeedback    %lcFeedback.content;>
-<!ATTLIST lcFeedback    %lcFeedback.attributes;>
-
-
-<!ENTITY % lcFeedbackCorrect.content
-                       "(%ph.cnt;)*"
->
-<!ENTITY % lcFeedbackCorrect.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcFeedbackCorrect    %lcFeedbackCorrect.content;>
-<!ATTLIST lcFeedbackCorrect    %lcFeedbackCorrect.attributes;>
-
-
-<!ENTITY % lcFeedbackIncorrect.content
-                       "(%ph.cnt;)*"
->
-<!ENTITY % lcFeedbackIncorrect.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcFeedbackIncorrect    %lcFeedbackIncorrect.content;>
-<!ATTLIST lcFeedbackIncorrect    %lcFeedbackIncorrect.attributes;>
-
-
-<!ENTITY % lcAnswerOption.content
-                       "((%lcAnswerContent;),
-                         (%lcCorrectResponse;)?,
-                         (%lcFeedback;)? )"
->
-<!ENTITY % lcAnswerOption.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcAnswerOption    %lcAnswerOption.content;>
-<!ATTLIST lcAnswerOption    %lcAnswerOption.attributes;>
-
-
-<!ENTITY % lcAnswerContent.content
-                       "(%ph.cnt;)*"
->
-<!ENTITY % lcAnswerContent.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcAnswerContent    %lcAnswerContent.content;>
-<!ATTLIST lcAnswerContent    %lcAnswerContent.attributes;>
-
-
-<!ENTITY % lcMatchTable.content
-                       "((%lcMatchingHeader;)?,
-                         (%lcMatchingPair;)+)"
->
-<!ENTITY % lcMatchTable.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcMatchTable    %lcMatchTable.content;>
-<!ATTLIST lcMatchTable    %lcMatchTable.attributes;>
-
-
-<!ENTITY % lcMatchingHeader.content
-                       "((%lcItem;),
-                         (%lcMatchingItem;))"
->
-<!ENTITY % lcMatchingHeader.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcMatchingHeader    %lcMatchingHeader.content;>
-<!ATTLIST lcMatchingHeader    %lcMatchingHeader.attributes;>
-
-
-<!ENTITY % lcMatchingPair.content
-                       "((%lcItem;),
-                         (%lcMatchingItem;),
-                         (%lcMatchingItemFeedback;)?)">
-<!ENTITY % lcMatchingPair.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcMatchingPair    %lcMatchingPair.content;>
-<!ATTLIST lcMatchingPair    %lcMatchingPair.attributes;>
-
-
-<!ENTITY % lcItem.content
-                       "(%ph.cnt;)*"
->
-<!ENTITY % lcItem.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcItem    %lcItem.content;>
-<!ATTLIST lcItem    %lcItem.attributes;>
-
-
-<!ENTITY % lcMatchingItem.content
-                       "(%ph.cnt; )*"
->
-<!ENTITY % lcMatchingItem.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcMatchingItem    %lcMatchingItem.content;>
-<!ATTLIST lcMatchingItem    %lcMatchingItem.attributes;>
-
-<!ENTITY % lcMatchingItemFeedback.content
-                       "((%lcFeedback;) |
-                         (%lcFeedbackCorrect;) |
-                         (%lcFeedbackIncorrect;))*"
->
-<!ENTITY % lcMatchingItemFeedback.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcMatchingItemFeedback    %lcMatchingItemFeedback.content;>
-<!ATTLIST lcMatchingItemFeedback    %lcMatchingItemFeedback.attributes;>
-
-
-<!ENTITY % lcHotspotMap.content
-                       "((%image;),
-                         (%lcArea;)+)"
->
-<!ENTITY % lcHotspotMap.attributes 
-              "%univ-atts; 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED" 
-> 
-<!ELEMENT lcHotspotMap    %lcHotspotMap.content;>
-<!ATTLIST lcHotspotMap    %lcHotspotMap.attributes;>
-
-
-<!ENTITY % lcArea.content 
-                       "((%lcAreaShape;), 
-                         (%lcAreaCoords;), 
-                         (%xref;)?, 
-                         (%lcCorrectResponse;)?, 
-                         (%lcFeedback;)?)" 
-> 
-<!ENTITY % lcArea.attributes 
-              "%univ-atts; 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED" 
-> 
-<!ELEMENT lcArea    %lcArea.content;>
-<!ATTLIST lcArea    %lcArea.attributes;>
-
-<!--                    LONG NAME: Shape of the Hotspot            --> 
-<!ENTITY % lcAreaShape.content 
-                       "(#PCDATA | 
-                         %text;)* 
-"> 
-<!ENTITY % lcAreaShape.attributes 
-             "keyref 
-                        CDATA 
-                                  #IMPLIED 
-              %univ-atts-translate-no; 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED" 
-> 
-
-
-<!ELEMENT lcAreaShape    %lcAreaShape.content;> 
-<!ATTLIST lcAreaShape    %lcAreaShape.attributes;> 
-
-
-
-<!--                    LONG NAME: Coordinates of the Hotspot      --> 
-<!ENTITY % lcAreaCoords.content 
-                       "(%words.cnt;)*" 
-> 
-<!ENTITY % lcAreaCoords.attributes 
-             "keyref 
-                        CDATA 
-                                  #IMPLIED 
-              %univ-atts-translate-no; 
-              outputclass 
-                        CDATA 
-                                  #IMPLIED" 
-> 
-<!ELEMENT lcAreaCoords    %lcAreaCoords.content;> 
-<!ATTLIST lcAreaCoords    %lcAreaCoords.attributes;> 
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-   - CHOICE DEFINITIONS
-   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-<!ENTITY % lcCorrectResponse.content
-                       "EMPTY">
-<!ENTITY % lcCorrectResponse.attributes
-             "name
-                        CDATA
-                                  'lcCorrectResponse'
-              value
-                        CDATA
-                                  'lcCorrectResponse'
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcCorrectResponse    %lcCorrectResponse.content;>
-<!ATTLIST lcCorrectResponse    %lcCorrectResponse.attributes;>
-
-
-<!ENTITY % lcSequence.content
-                       "EMPTY">
-<!ENTITY % lcSequence.attributes
-             "name
-                       CDATA
-                                 'lcSequence'
-              value
-                        CDATA
-                                  #REQUIRED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcSequence    %lcSequence.content;>
-<!ATTLIST lcSequence    %lcSequence.attributes;>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-   - CLASS ATTRIBUTES FOR ANCESTRY DECLARATION
-   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-<!ATTLIST lcInstructornote        %global-atts; 
-    class CDATA "+ topic/note learningInteractionBase-d/note learning-d/lcInstructornote ">
-<!ATTLIST lcTrueFalse %global-atts;
-    class CDATA "+ topic/fig learningInteractionBase-d/lcInteractionBase learning-d/lcTrueFalse ">
-<!ATTLIST lcSingleSelect %global-atts;
-    class CDATA "+ topic/fig learningInteractionBase-d/lcInteractionBase learning-d/lcSingleSelect ">
-<!ATTLIST lcMultipleSelect %global-atts;
-    class CDATA "+ topic/fig learningInteractionBase-d/lcInteractionBase learning-d/lcMultipleSelect ">
-<!ATTLIST lcSequencing %global-atts;
-    class CDATA "+ topic/fig learningInteractionBase-d/lcInteractionBase learning-d/lcSequencing ">
-<!ATTLIST lcMatching %global-atts;
-    class CDATA "+ topic/fig learningInteractionBase-d/lcInteractionBase learning-d/lcMatching ">
-<!ATTLIST lcHotspot %global-atts;
-    class CDATA "+ topic/fig learningInteractionBase-d/lcInteractionBase learning-d/lcHotspot ">
-<!ATTLIST lcOpenQuestion %global-atts;
-    class CDATA "+ topic/fig learningInteractionBase-d/lcInteractionBase learning-d/lcOpenQuestion ">
-
-<!ATTLIST lcQuestion %global-atts;
-    class CDATA "+ topic/p learningInteractionBase-d/lcQuestionBase learning-d/lcQuestion ">
-<!ATTLIST lcOpenAnswer %global-atts;
-    class CDATA "+ topic/p learningInteractionBase-d/p learning-d/lcOpenAnswer ">
-<!ATTLIST lcAsset %global-atts;
-    class CDATA "+ topic/p learningInteractionBase-d/p learning-d/lcAsset ">
-<!ATTLIST lcFeedback %global-atts;
-    class CDATA "+ topic/p learningInteractionBase-d/p learning-d/lcFeedback ">
-<!ATTLIST lcFeedbackCorrect %global-atts;
-    class CDATA "+ topic/p learningInteractionBase-d/p learning-d/lcFeedbackCorrect ">
-<!ATTLIST lcFeedbackIncorrect %global-atts;
-    class CDATA "+ topic/p learningInteractionBase-d/p learning-d/lcFeedbackIncorrect ">
-<!ATTLIST lcAnswerOption %global-atts;
-    class CDATA "+ topic/li learningInteractionBase-d/li learning-d/lcAnswerOption ">
-<!ATTLIST lcAnswerOptionGroup     %global-atts; 
-    class CDATA "+ topic/ul learningInteractionBase-d/ul learning-d/lcAnswerOptionGroup ">
-<!ATTLIST lcAnswerContent %global-atts;
-    class CDATA "+ topic/p learningInteractionBase-d/p learning-d/lcAnswerContent ">
-<!ATTLIST lcMatchTable %global-atts;
-    class CDATA "+ topic/simpletable learningInteractionBase-d/simpletable learning-d/lcMatchTable ">
-<!ATTLIST lcMatchingHeader %global-atts;
-    class CDATA "+ topic/sthead learningInteractionBase-d/sthead learning-d/lcMatchingHeader ">
-<!ATTLIST lcMatchingPair %global-atts;
-    class CDATA "+ topic/strow learningInteractionBase-d/strow learning-d/lcMatchingPair ">
-<!ATTLIST lcItem %global-atts;
-    class CDATA "+ topic/stentry learningInteractionBase-d/stentry learning-d/lcItem ">
-<!ATTLIST lcMatchingItem %global-atts;
-    class CDATA "+ topic/stentry learningInteractionBase-d/stentry learning-d/lcMatchingItem ">
-<!ATTLIST lcMatchingItemFeedback %global-atts;
-    class CDATA "+ topic/stentry learningInteractionBase-d/stentry learning-d/lcMatchingItemFeedback ">
-<!ATTLIST lcSequenceOptionGroup     %global-atts; 
-    class CDATA "+ topic/ol learningInteractionBase-d/ol learning-d/lcSequenceOptionGroup ">
-<!ATTLIST lcSequenceOption %global-atts;
-    class CDATA "+ topic/li learningInteractionBase-d/li learning-d/lcSequenceOption ">
-<!ATTLIST lcSequence %global-atts;
-    class CDATA "+ topic/data learningInteractionBase-d/data learning-d/lcSequence ">
-<!ATTLIST lcCorrectResponse %global-atts;
-    class CDATA "+ topic/data learningInteractionBase-d/data learning-d/lcCorrectResponse ">
-
-<!ATTLIST lcHotspotMap %global-atts; 
-   class CDATA "+ topic/fig learningInteractionBase-d/figgroup learning-d/lcHotspotMap " >
-<!ATTLIST lcArea       %global-atts; 
-   class CDATA "+ topic/figgroup learningInteractionBase-d/figgroup learning-d/lcArea ">
-<!ATTLIST lcAreaShape    %global-atts;  
-    class CDATA "+ topic/keyword learningInteractionBase-d/keyword learning-d/lcAreaShape "> 
-<!ATTLIST lcAreaCoords   %global-atts;  
-    class CDATA "+ topic/ph learningInteractionBase-d/ph learning-d/lcAreaCoords "    > 
-
-<!-- End of declaration set -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningInteractionBaseDomain.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningInteractionBaseDomain.ent
deleted file mode 100644
index 963621b..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningInteractionBaseDomain.ent
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Interaction Base Domain                      -->
-<!--  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//ENTITIES DITA Learning Domain//EN"
-      Delivered as file "learningDomain.ent"                      -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the substitution context and domain     -->
-<!--             entity declarations for the learning domain       -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             November 2009                                     -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2009.                    -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    LEARNING DOMAIN ENTITIES                   -->
-<!-- ============================================================= -->
-
-<!ENTITY learningInteractionBase-d-att "(topic learningInteractionBase-d)">
-
-
-<!-- NOTE: The interactionBase element type is intended to be used
-           for specialization and should never be used directly
-           in DITA documents. This parameter entity should always
-           be redefined in shell DTDs to list only specializations
-           of lcInteractionBase
-  -->
-
-<!ENTITY % learningInteractionBase-d-fig 
-                       "lcInteractionBase"
->
-
-<!-- ==== End Learning Interaction Base Domain Entities ========== -->
-
-
-
-
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningInteractionBaseDomain.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningInteractionBaseDomain.mod
deleted file mode 100644
index 30df7fa..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningInteractionBaseDomain.mod
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Interaction Base Domain             -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      Sept 2009                                         -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identfier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Domain//EN"
-      Delivered as file "learningDomain.mod"                      -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for Learning Domain                    -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             Sept 2009                                         -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2009.                    -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
- 
-
-<!-- =====================================================================
-     ENTITY DECLARATIONS FOR DOMAIN SUBSTITUTION
-     ===================================================================== -->
-
-<!ENTITY % lcInteractionBase        "lcInteractionBase">
-<!ENTITY % lcQuestionBase           "lcQuestionBase">
-
-<!-- =====================================================================
-     INTERACTION BASE DEFINITIONS
-     ===================================================================== -->
-<!ENTITY % lcInteractionBase.content
-                       "((%title;)?,
-                         (%lcQuestionBase;), 
-                         (%fig.cnt;)*)"
->
-<!ENTITY % lcInteractionBase.attributes
-             "id
-                        NMTOKEN
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcInteractionBase    %lcInteractionBase.content;>
-<!ATTLIST lcInteractionBase    %lcInteractionBase.attributes;>
-
-<!ENTITY % lcQuestionBase.content
-                       "(%ph.cnt;)*"
->
-<!ENTITY % lcQuestionBase.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcQuestionBase    %lcQuestionBase.content;>
-<!ATTLIST lcQuestionBase    %lcQuestionBase.attributes;>
-
-<!-- =====================================================================
-     CLASS ATTRIBUTES FOR ANCESTRY DECLARATION
-     ===================================================================== -->
-<!ATTLIST lcInteractionBase %global-atts;
-    class CDATA "+ topic/fig learningInteractionBase-d/lcInteractionBase ">
-<!ATTLIST lcQuestionBase %global-atts;
-    class CDATA "+ topic/p   learningInteractionBase-d/lcQuestionBase ">
-
-<!--============ End of learning interaction base module ==================-->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMap.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMap.dtd
deleted file mode 100644
index d48fde1..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMap.dtd
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA learningMap DTD                              -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITA Learning Map                 -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2007.05.01 JPH: Original creation                          -->
-<!--    2010.09.21 RDA: Added base topic domains                   -->
-<!-- ============================================================= -->
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATIONS                 -->
-<!-- ============================================================= -->
-
-<!ENTITY % learningmap-d-dec
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Map Domain//EN" 
-         "learningMapdomain.ent">
-  %learningmap-d-dec;
-
-<!ENTITY % learningmeta-d-dec 
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Metadata Domain//EN" 
-         "learningMetadataDomain.ent">
-  %learningmeta-d-dec;
-
-<!ENTITY % mapgroup-d-dec
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Map Group Domain//EN" 
-         "../../base/dtd/mapGroup.ent">
-  %mapgroup-d-dec;
-
-<!ENTITY % indexing-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Indexing Domain//EN" 
-         "../../base/dtd/indexingDomain.ent">
-  %indexing-d-dec;
-
-<!ENTITY % delay-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Delayed Resolution Domain//EN" 
-         "../../base/dtd/delayResolutionDomain.ent"                                                       
->%delay-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 % hazard-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Hazard Statement Domain//EN" 
-         "../../base/dtd/hazardstatementDomain.ent"
->%hazard-d-dec;
-
-<!-- ============================================================= -->
-<!--                    DOMAIN EXTENSIONS                          -->
-<!-- ============================================================= -->
-<!--                    One for each extended base element, with
-                        the name of the domain(s) in which the
-                        extension was declared                     -->
-<!ENTITY % index-base   "index-base | 
-                         %indexing-d-index-base;
-                        ">
-<!ENTITY % topicref     "topicref | 
-                         %mapgroup-d-topicref; | 
-                         %learningmap-d-topicref;
-                        ">
-<!ENTITY % metadata     "metadata  | 
-                         %learningmeta-d-metadata;
-                        ">
-<!ENTITY % keywords     "keywords | 
-                         %delay-d-keywords;
-                        ">
-<!ENTITY % ph           "ph | 
-                         %hi-d-ph;
-                        ">
-<!ENTITY % fig          "fig |
-                         %ut-d-fig;
-                        ">
-<!ENTITY % note         "note | 
-                         %hazard-d-note;
-                        ">
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ATTRIBUTE EXTENSIONS                -->
-<!-- ============================================================= -->
-<!ENTITY % props-attribute-extensions  ""                            >
-<!ENTITY % base-attribute-extensions   ""                            >
-
-<!-- ============================================================= -->
-<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
-<!-- ============================================================= -->
-<!--                    Must be declared ahead of the DTDs, which
-                        puts @domains first in order               -->
-
-<!ENTITY included-domains 
-                        "&delay-d-att;
-                         &mapgroup-d-att;
-                         &indexing-d-att;
-                         &learningmap-d-att;
-                         &learningmeta-d-att;
-                         &hi-d-att; 
-                         &ut-d-att; 
-                         &hazard-d-att;
-                        ">
-
-<!-- ============================================================= -->
-<!--                    MAP ELEMENT INTEGRATION                    -->
-<!-- ============================================================= -->
-
-<!--Embed map to get generic elements -->
-<!ENTITY % map-type PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Map//EN" 
-"../../base/dtd/map.mod">
-  %map-type;
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ELEMENT INTEGRATION                 -->
-<!-- ============================================================= -->
-
-<!ENTITY % mapgroup-d-def PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Map Group Domain//EN" 
-"../../base/dtd/mapGroup.mod">
-  %mapgroup-d-def;
-
-<!ENTITY % indexing-d-def     PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Indexing Domain//EN" 
-"../../base/dtd/indexingDomain.mod">
-%indexing-d-def;
-
-<!ENTITY % delay-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Delayed Resolution Domain//EN" 
-         "../../base/dtd/delayResolutionDomain.mod"
->%delay-d-def;
-
-<!ENTITY % learningmap-d-def PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Learning Map Domain//EN" 
-"learningMapdomain.mod">
-  %learningmap-d-def;
-
-<!ENTITY % learningmeta-d-def PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Learning Metadata Domain//EN" 
-"learningMetadataDomain.mod">
-  %learningmeta-d-def;
-
-<!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 % hazard-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Hazard Statement Domain//EN" 
-         "../../base/dtd/hazardstatementDomain.mod"
->%hazard-d-def;
-
-<!-- ================== End DITA Learning Map DTD ================ -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMapDomain.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMapDomain.ent
deleted file mode 100644
index d1c360e..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMapDomain.ent
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA learningMap Domain                           -->
-<!--  VERSION:   1.1                                               -->
-<!--  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//ENTITIES DITA Learning Map Domain//EN"
-      Delivered as file "learningMapDomain.ent"                    -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the substitution context and domain     -->
-<!--             entity declarations for the Learning Map Domain   -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    LEARNING MAP DOMAIN ENTITIES               -->
-<!-- ============================================================= -->
-
-<!ENTITY % learningmap-d-topicref 
-                        "learningObject |
-                         learningGroup"
->
-<!ENTITY learningmap-d-att "(map learningmap-d)">
-
-<!-- ================== End Learning Map Domain Entities ========= -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMapDomain.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMapDomain.mod
deleted file mode 100644
index 987c19d..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMapDomain.mod
+++ /dev/null
@@ -1,327 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Map Domain                          -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identfier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Map Domain//EN"
-      Delivered as file "learningMapDomain.mod"                    -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for Learning Map Domain                -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009               -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--                                                               -->
-<!--  16 Aug 2009: WEK Added learningContentComponentRef per TC    -->
-<!--  07 Dec 2009: RDA combined @id, conref-atts, select-atts, and -->
-<!--               localization-atts into a single ref to univ-atts-->
-<!--                                                               -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   SPECIALIZATION OF DECLARED ELEMENTS         -->
-<!-- ============================================================= -->
-<!ENTITY % learningObject              "learningObject">
-<!ENTITY % learningOverviewRef         "learningOverviewRef">
-<!ENTITY % learningPlanRef             "learningPlanRef">
-<!ENTITY % learningContentRef          "learningContentRef">
-<!ENTITY % learningContentComponentRef "learningContentComponentRef">
-<!ENTITY % learningSummaryRef          "learningSummaryRef">
-<!ENTITY % learningPreAssessmentRef    "learningPreAssessmentRef">
-<!ENTITY % learningPostAssessmentRef   "learningPostAssessmentRef">
-
-<!ENTITY % learningGroup               "learningGroup">
-
-<!-- Attributes that are common to each topicref specialization in this domain -->
-<!ENTITY % learningDomain-topicref-atts-no-chunk
-             "navtitle
-                        CDATA
-                                  #IMPLIED
-              href
-                        CDATA
-                                  #IMPLIED
-              keyref
-                        CDATA
-                                  #IMPLIED
-              keys
-                        CDATA
-                                  #IMPLIED
-              query
-                        CDATA
-                                  #IMPLIED
-              copy-to
-                        CDATA
-                                  #IMPLIED
-              outputclass
-                        CDATA
-                                  #IMPLIED
-              scope
-                        (external |
-                         local | 
-                         peer | 
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              linking
-                        (targetonly|
-                         sourceonly|
-                         normal|
-                         none | 
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              locktitle
-                        (yes|
-                         no | 
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              toc
-                        (yes|
-                         no | 
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              print
-                        (yes|
-                         no | 
-                         printonly |
-                         -dita-use-conref-target)
-                                   #IMPLIED
-              search
-                        (yes|
-                         no | 
-                         -dita-use-conref-target)
-                                   #IMPLIED
-              %univ-atts;"
->
-
-<!ENTITY % learningDomain-topicref-atts "
-              %learningDomain-topicref-atts-no-chunk;
-              chunk
-                        CDATA
-                                  #IMPLIED 
-">
-
-<!ENTITY % learningObjectComponent-topicref-atts "
-              %learningDomain-topicref-atts-no-chunk;
-              chunk
-                        CDATA
-                                  'to-content' 
-">
-
-<!ENTITY % learningGroup.content
-                       "((%topicmeta;)?,
-                         (%learningPlanRef;)?,
-                         ((%learningOverviewRef;) | 
-                          (%learningPreAssessmentRef;))*,
-                         ((%learningObject;) | 
-                          (%learningGroup;))*,
-                         ((%learningPostAssessmentRef;) | 
-                          (%learningSummaryRef;))* )"
->
-<!ENTITY % learningGroup.attributes
-             "%learningDomain-topicref-atts;
-              collection-type
-                        (choice|
-                         unordered|
-                         sequence|
-                         family | 
-                         -dita-use-conref-target)
-                                   #IMPLIED
-              type
-                        CDATA
-                                  #IMPLIED
-              format
-                        CDATA
-                                  #IMPLIED
-">
-<!ELEMENT learningGroup    %learningGroup.content;>
-<!ATTLIST learningGroup    %learningGroup.attributes;>
-
-
-<!ENTITY % learningObject.content
-                       "((%topicmeta;)?,
-                         (%learningPlanRef;)?,
-                         ((%learningOverviewRef;) |
-                          (%learningPreAssessmentRef;))*,
-                         (%learningContentRef;)+,
-                         ((%learningPostAssessmentRef;) |
-                          (%learningSummaryRef;))*)"
->
-<!ENTITY % learningObject.attributes
-             "%learningDomain-topicref-atts;
-              collection-type
-                        (choice|
-                         unordered|
-                         sequence|
-                         family | 
-                         -dita-use-conref-target)
-                                   #IMPLIED
-              type
-                        CDATA
-                                  #IMPLIED
-              format
-                        CDATA
-                                  #IMPLIED
-">
-<!ELEMENT learningObject    %learningObject.content;>
-<!ATTLIST learningObject    %learningObject.attributes;>
-
-
-<!ENTITY % learningPlanRef.content
-                       "((%topicmeta;)?)"
->
-<!ENTITY % learningPlanRef.attributes
-             "%learningObjectComponent-topicref-atts;
-              type
-                        CDATA
-                                  'learningPlan'
-              format
-                        CDATA
-                                  'dita'"
->
-<!ELEMENT learningPlanRef    %learningPlanRef.content;>
-<!ATTLIST learningPlanRef    %learningPlanRef.attributes;>
-
-<!ENTITY % learningOverviewRef.content
-                       "((%topicmeta;)?)"
->
-<!ENTITY % learningOverviewRef.attributes
-             "%learningObjectComponent-topicref-atts;
-              type
-                        CDATA
-                                  'learningOverview'
-              format
-                        CDATA
-                                  'dita'"
->
-<!ELEMENT learningOverviewRef    %learningOverviewRef.content;>
-<!ATTLIST learningOverviewRef    %learningOverviewRef.attributes;>
-
-
-<!ENTITY % learningSummaryRef.content
-                       "((%topicmeta;)?)"
->
-<!ENTITY % learningSummaryRef.attributes
-             "%learningObjectComponent-topicref-atts;
-              type
-                        CDATA
-                                  'learningSummary'
-              format
-                        CDATA
-                                  'dita'"
->
-<!ELEMENT learningSummaryRef    %learningSummaryRef.content;>
-<!ATTLIST learningSummaryRef    %learningSummaryRef.attributes;>
-
-
-<!ENTITY % learningContentRef.content
-                       "((%topicmeta;)?,
-                         (%learningContentComponentRef;)*)"
->
-<!ENTITY % learningContentRef.attributes
-             "%learningDomain-topicref-atts-no-chunk;
-              type
-                        CDATA
-                                  #IMPLIED
-              format
-                        CDATA
-                                  'dita'
-              chunk
-                        CDATA
-                                  'to-content'
-                                  "
->
-<!ELEMENT learningContentRef    %learningContentRef.content;>
-<!ATTLIST learningContentRef    %learningContentRef.attributes;>
-
-<!ENTITY % learningContentComponentRef.content
-                       "((%topicmeta;)?,
-                         (%learningContentComponentRef;)*)"
->
-<!ENTITY % learningContentComponentRef.attributes
-             "%learningDomain-topicref-atts;
-              type
-                        CDATA
-                                  #IMPLIED
-              format
-                        CDATA
-                                  'dita'"
->
-<!ELEMENT learningContentComponentRef    %learningContentComponentRef.content;>
-<!ATTLIST learningContentComponentRef    %learningContentComponentRef.attributes;>
-
-
-<!ENTITY % learningPreAssessmentRef.content
-                       "((%topicmeta;)?)"
->
-<!ENTITY % learningPreAssessmentRef.attributes
-             "%learningObjectComponent-topicref-atts;
-              type
-                        CDATA
-                                  'learningAssessment'
-              format
-                        CDATA
-                                  'dita'"
->
-<!ELEMENT learningPreAssessmentRef    %learningPreAssessmentRef.content;>
-<!ATTLIST learningPreAssessmentRef    %learningPreAssessmentRef.attributes;>
-
-
-<!ENTITY % learningPostAssessmentRef.content
-                       "((%topicmeta;)?)"
->
-<!ENTITY % learningPostAssessmentRef.attributes
-             "%learningObjectComponent-topicref-atts;
-              type
-                        CDATA
-                                  'learningAssessment'
-              format
-                        CDATA
-                                  'dita'"
->
-<!ELEMENT learningPostAssessmentRef    %learningPostAssessmentRef.content;>
-<!ATTLIST learningPostAssessmentRef    %learningPostAssessmentRef.attributes;>
-
-
-<!ATTLIST learningObject %global-atts;
-    class CDATA "+ map/topicref learningmap-d/learningObject ">
-<!ATTLIST learningGroup %global-atts;
-    class CDATA "+ map/topicref learningmap-d/learningGroup ">
-<!ATTLIST learningPlanRef %global-atts;
-    class CDATA "+ map/topicref learningmap-d/learningPlanRef ">
-<!ATTLIST learningOverviewRef %global-atts;
-    class CDATA "+ map/topicref learningmap-d/learningOverviewRef ">
-<!ATTLIST learningContentRef %global-atts;
-    class CDATA "+ map/topicref learningmap-d/learningContentRef ">
-<!ATTLIST learningContentComponentRef %global-atts;
-    class CDATA "+ map/topicref learningmap-d/learningContentComponentRef ">
-<!ATTLIST learningSummaryRef %global-atts;
-    class CDATA "+ map/topicref learningmap-d/learningSummaryRef ">
-<!ATTLIST learningPreAssessmentRef %global-atts;
-    class CDATA "+ map/topicref learningmap-d/learningPreAssessmentRef ">
-<!ATTLIST learningPostAssessmentRef %global-atts;
-    class CDATA "+ map/topicref learningmap-d/learningPostAssessmentRef ">
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMetadataDomain.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMetadataDomain.ent
deleted file mode 100644
index e4f3f17..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMetadataDomain.ent
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Metadata Domain                     -->
-<!--  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//ENTITIES DITA Learning Metadata Domain//EN"
-      Delivered as file "learningMetadata.ent"                     -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the substitution context and domain     -->
-<!--             entity declarations for the Learning Metadata     -->
-<!--             Domain                                            -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    LEARNING METADATA DOMAIN ENTITIES          -->
-<!-- ============================================================= -->
-
-<!ENTITY learningmeta-d-att "(topic learningmeta-d)">
-<!ENTITY % learningmeta-d-metadata "lcLom">
-
-<!-- ================== End Learning Metadata Domain Entities ==== -->
-
-
-
-
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMetadataDomain.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMetadataDomain.mod
deleted file mode 100644
index abe1307..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningMetadataDomain.mod
+++ /dev/null
@@ -1,480 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Metadata Domain                     -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identfier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Metadata Domain//EN"
-      Delivered as file "learningMetadataDomain.mod"               -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for Learning Metadata                  -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!-- ============================================================= -->
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-   - LOM Metadata
-   - Based on IEEE LOM. Scott Hudson
-   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-<!ENTITY % lcLom    "lcLom">
-<!ENTITY % lomStructure      "lomStructure">
-<!ENTITY % lomCoverage "lomCoverage">
-<!ENTITY % lomAggregationLevel "lomAggregationLevel">
-<!ENTITY % lomTechRequirement "lomTechRequirement">
-<!ENTITY % lomInstallationRemarks "lomInstallationRemarks">
-<!ENTITY % lomOtherPlatformRequirements "lomOtherPlatformRequirements">
-<!ENTITY % lomInteractivityType "lomInteractivityType">
-<!ENTITY % lomLearningResourceType "lomLearningResourceType">
-<!ENTITY % lomInteractivityLevel "lomInteractivityLevel">
-<!ENTITY % lomSemanticDensity "lomSemanticDensity">
-<!ENTITY % lomIntendedUserRole "lomIntendedUserRole">
-<!ENTITY % lomContext "lomContext">
-<!ENTITY % lomTypicalAgeRange "lomTypicalAgeRange">
-<!ENTITY % lomDifficulty "lomDifficulty">
-<!ENTITY % lomTypicalLearningTime "lomTypicalLearningTime">
-
-<!ENTITY % lcLom.content
-                       "((
-                         (%lomStructure;)?, 
-                         (%lomCoverage;)?,
-                         (%lomAggregationLevel;)?,
-                         (%lomTechRequirement;)?,
-                         (%lomInstallationRemarks;)?,
-                         (%lomOtherPlatformRequirements;)?,
-                         (%lomInteractivityType;)?,
-                         (%lomLearningResourceType;)?,
-                         (%lomInteractivityLevel;)?,
-                         (%lomSemanticDensity;)?,
-                         (%lomIntendedUserRole;)?,
-                         (%lomContext;)?,
-                         (%lomTypicalAgeRange;)?,
-                         (%lomDifficulty;)?,
-                         (%lomTypicalLearningTime;)?),
-                         (%data;)* )"
->
-<!ENTITY % lcLom.attributes
-             "%univ-atts; 
-              mapkeyref
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcLom    %lcLom.content;>
-<!ATTLIST lcLom    %lcLom.attributes;>
-
-
-<!ENTITY % lomStructure.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomStructure.attributes
-             "name
-                        CDATA
-                                  'lomStructure'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              value
-                        (atomic|
-                         collection|
-                         networked|
-                         hierarchical|
-                         linear| 
-                         -dita-use-conref-target)
-                                  #REQUIRED"
->
-<!ELEMENT lomStructure    %lomStructure.content;>
-<!ATTLIST lomStructure    %lomStructure.attributes;>
-
-
-
-<!-- IMS LOM metadata -->
-<!ENTITY % lomCoverage.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomCoverage.attributes
-             "name
-                        CDATA
-                                  'lomCoverage'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              value
-                        CDATA
-                                  ''"
->
-<!ELEMENT lomCoverage    %lomCoverage.content;>
-<!ATTLIST lomCoverage    %lomCoverage.attributes;>
-
-
-<!ENTITY % lomAggregationLevel.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomAggregationLevel.attributes
-             "name
-                        CDATA
-                                  'lomAggregationLevel'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED
-              value
-                        (1 |
-                         2 |
-                         3 |
-                         4 | 
-                         -dita-use-conref-target)
-                                  #REQUIRED"
->
-<!ELEMENT lomAggregationLevel    %lomAggregationLevel.content;>
-<!ATTLIST lomAggregationLevel    %lomAggregationLevel.attributes;>
-
-
-<!ENTITY % lomTechRequirement.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomTechRequirement.attributes
-             "name
-                       CDATA
-                                 'lomTechRequirement'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED
-              value 
-                        (pc-dos
-                         | ms-windows
-                         | macos
-                         | unix
-                         | multi-os
-                         | none
-                         | any
-                         | netscapecommunicator
-                         | ms-internetexplorer
-                         | opera
-                         | amaya 
-                         | -dita-use-conref-target)
-                                  #REQUIRED"
->
-<!ELEMENT lomTechRequirement    %lomTechRequirement.content;>
-<!ATTLIST lomTechRequirement    %lomTechRequirement.attributes;>
-
-
-
-<!ENTITY % lomInstallationRemarks.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomInstallationRemarks.attributes
-             "name
-                       CDATA
-                                 'lomInstallationRemarks'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              value
-                        CDATA
-                                  ''"
->
-<!ELEMENT lomInstallationRemarks    %lomInstallationRemarks.content;>
-<!ATTLIST lomInstallationRemarks    %lomInstallationRemarks.attributes;>
-
-
-<!ENTITY % lomOtherPlatformRequirements.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomOtherPlatformRequirements.attributes
-             "name
-                        CDATA
-                                  'lomOtherPlatformRequirements'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              value
-                        CDATA
-                                  ''"
->
-<!ELEMENT lomOtherPlatformRequirements    %lomOtherPlatformRequirements.content;>
-<!ATTLIST lomOtherPlatformRequirements    %lomOtherPlatformRequirements.attributes;>
-
-
-<!ENTITY % lomInteractivityType.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomInteractivityType.attributes
-             "name
-                        CDATA
-                                  'lomInteractivityType'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              value
-                        (active|
-                         expositive|
-                         mixed| 
-                         -dita-use-conref-target)
-                                  #REQUIRED"
->
-<!ELEMENT lomInteractivityType    %lomInteractivityType.content;>
-<!ATTLIST lomInteractivityType    %lomInteractivityType.attributes;>
-
-
-
-<!ENTITY % lomLearningResourceType.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomLearningResourceType.attributes
-             "name
-                        CDATA
-                                  'lomLearningResourceType'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              value 
-                        (exercise
-                         | simulation
-                         | questionnaire
-                         | diagram
-                         | figure
-                         | graph
-                         | index
-                         | slide
-                         | table
-                         | narrativetext
-                         | exam
-                         | experiment
-                         | problemstatement
-                         | selfassessment
-                         | lecture 
-                         | -dita-use-conref-target)
-                                  #REQUIRED">
-<!ELEMENT lomLearningResourceType    %lomLearningResourceType.content;>
-<!ATTLIST lomLearningResourceType    %lomLearningResourceType.attributes;>
-
-
-
-<!ENTITY % lomInteractivityLevel.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomInteractivityLevel.attributes
-             "name
-                        CDATA
-                                  'lomInteractivityLevel'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              value
-                        (verylow
-                         | low
-                         | medium
-                         | high
-                         | veryhigh 
-                         | -dita-use-conref-target)
-                                  #REQUIRED"
->
-<!ELEMENT lomInteractivityLevel    %lomInteractivityLevel.content;>
-<!ATTLIST lomInteractivityLevel    %lomInteractivityLevel.attributes;>
-
-
-<!ENTITY % lomSemanticDensity.content
-                       "(#PCDATA)*                                   ">
-<!ENTITY % lomSemanticDensity.attributes
-             "name
-                        CDATA
-                                  'lomSemanticDensity'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              value
-                        (verylow
-                         | low
-                         | medium
-                         | high
-                         | veryhigh
-                         | -dita-use-conref-target)
-                                  #REQUIRED"
->
-<!ELEMENT lomSemanticDensity    %lomSemanticDensity.content;>
-<!ATTLIST lomSemanticDensity    %lomSemanticDensity.attributes;>
-
-
-<!ENTITY % lomIntendedUserRole.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomIntendedUserRole.attributes
-             "name 
-                        CDATA
-                                  'lomIntendedUserRole'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              value
-                        (teacher
-                         | author
-                         | learner
-                         | manager
-                         | -dita-use-conref-target)
-                                  #REQUIRED"
->
-<!ELEMENT lomIntendedUserRole    %lomIntendedUserRole.content;>
-<!ATTLIST lomIntendedUserRole    %lomIntendedUserRole.attributes;>
-
-
-
-<!ENTITY % lomContext.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomContext.attributes
-             "name
-                        CDATA
-                                  'lomContext'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              value
-                        (school
-                         |highereducation
-                         |training
-                         |other 
-                         | -dita-use-conref-target)
-                                  #REQUIRED"
->
-<!ELEMENT lomContext    %lomContext.content;>
-<!ATTLIST lomContext    %lomContext.attributes;>
-
-
-
-<!ENTITY % lomTypicalAgeRange.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomTypicalAgeRange.attributes
-             "name
-                        CDATA
-                                  'lomTypicalAgeRange'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              value
-                        CDATA
-                                  #REQUIRED"
->
-<!ELEMENT lomTypicalAgeRange    %lomTypicalAgeRange.content;>
-<!ATTLIST lomTypicalAgeRange    %lomTypicalAgeRange.attributes;>
-
-
-
-<!ENTITY % lomDifficulty.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomDifficulty.attributes
-             "name
-                        CDATA
-                                  'lomDifficulty'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              value
-                        (veryeasy
-                         | easy
-                         | medium
-                         | difficult
-                         | verydifficult
-                         | -dita-use-conref-target)
-                                  #REQUIRED"
->
-<!ELEMENT lomDifficulty    %lomDifficulty.content;>
-<!ATTLIST lomDifficulty    %lomDifficulty.attributes;>
-
-
-
-<!ENTITY % lomTypicalLearningTime.content
-                       "(#PCDATA)*"
->
-<!ENTITY % lomTypicalLearningTime.attributes
-             "name
-                        CDATA
-                                  'lomTypicalLearningTime'
-              datatype
-                        CDATA
-                                  ''
-              %univ-atts;
-              value
-                        CDATA
-                                  ''"
->
-<!ELEMENT lomTypicalLearningTime    %lomTypicalLearningTime.content;>
-<!ATTLIST lomTypicalLearningTime    %lomTypicalLearningTime.attributes;>
-
-
- 
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-   - ENTITY DECLARATIONS FOR IMS LOM as ELEMENTS IN PROLOG
-   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
-<!ATTLIST lcLom                         %global-atts; 
-    class CDATA "+ topic/metadata learningmeta-d/lcLom "  >
-<!ATTLIST lomCoverage                   %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomCoverage "  >
-<!ATTLIST lomStructure                  %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomStructure "  >
-<!ATTLIST lomAggregationLevel           %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomAggregationLevel "  >
-<!ATTLIST lomTechRequirement            %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomTechRequirement "  >
-<!ATTLIST lomInstallationRemarks        %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomInstallationRemarks "  >
-<!ATTLIST lomOtherPlatformRequirements  %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomOtherPlatformRequirements "  >
-<!ATTLIST lomInteractivityType          %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomInteractivityType "  >
-<!ATTLIST lomLearningResourceType       %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomLearningResourceType "  >
-<!ATTLIST lomInteractivityLevel         %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomInteractivityLevel "  >
-<!ATTLIST lomSemanticDensity            %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomSemanticDensity "  >
-<!ATTLIST lomIntendedUserRole           %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomIntendedUserRole "  >
-<!ATTLIST lomContext                    %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomContext "  >
-<!ATTLIST lomTypicalAgeRange            %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomTypicalAgeRange "  >
-<!ATTLIST lomDifficulty                 %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomDifficulty "  >
-<!ATTLIST lomTypicalLearningTime        %global-atts; 
-    class CDATA "+ topic/data learningmeta-d/lomTypicalLearningTime "  >
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningOverview.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningOverview.dtd
deleted file mode 100644
index a884434..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningOverview.dtd
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Overview 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 Overview//EN"
-      Delivered as file "learningOverview.dtd"                     -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITA Learning Overview 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 % learningBase-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Base//EN" 
-         "learningBase.ent"
->%learningBase-dec;
-
-<!ENTITY % learningOverview-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Overview//EN" 
-         "learningOverview.ent"
->%learningOverview-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     -->
-
-<!--Redefine the infotype entity to exclude other topic types and disallow nesting-->
-<!ENTITY % learningOverview-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;
-                           &learningInteractionBase-d-att;
-                           &learning-d-att;
-                           &learningmeta-d-att; 
-                           &learningBase-att;
-                           &learningOverview-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 learningOverview to get specific elements -->
-<!ENTITY % learningOverview-typemod PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Learning Overview//EN" 
-"learningOverview.mod">
-  %learningOverview-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;
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningOverview.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningOverview.ent
deleted file mode 100644
index 79023b4..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningOverview.ent
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Overview Entity                     -->
-<!--  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//ENTITIES DITA Learning Overview//EN"
-      Delivered as file "learningOverview.ent"                      -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the domain entity for Learning          -->
-<!--             Overview topics                                   -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             April 2008                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    LEARNING ENTITIES                          -->
-<!-- ============================================================= -->
-
-<!ENTITY learningOverview-att     
-  "(topic learningBase learningOverview)"
->
-
-
-<!-- ================== End Learning Entities ==================== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningOverview.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningOverview.mod
deleted file mode 100644
index 4e4b3b4..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningOverview.mod
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA learningOverview                             -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identfier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Overview//EN"
-      Delivered as file "learningOverview.mod                      -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for Learning Overview                  -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   SPECIALIZATION OF DECLARED ELEMENTS         -->
-<!-- ============================================================= -->
-
-<!ENTITY % learningOverview "learningOverview">
-<!ENTITY % learningOverviewbody "learningOverviewbody">
-
-
-<!ENTITY % learningOverview-info-types "no-topic-nesting">
-<!ENTITY included-domains 
-                        "" >
-
-<!ENTITY % learningOverview.content
-                       "((%title;),
-                         (%titlealts;)?,
-                         (%shortdesc; |
-                          %abstract;)?, 
-                         (%prolog;)?,
-                         (%learningOverviewbody;), 
-                         (%related-links;)?,
-                         (%learningOverview-info-types;)* )"
->
-<!ENTITY % learningOverview.attributes
-             "id
-                        ID 
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT learningOverview    %learningOverview.content;>
-<!ATTLIST learningOverview    
-              %learningOverview.attributes;
-              %arch-atts;
-              domains 
-                        CDATA
-                                  "&included-domains;"
->
-
-
-<!ENTITY % learningOverviewbody.content
-                       "((%lcIntro;)?,
-                         (%lcAudience;)*,
-                         (%lcDuration;)?,
-                         (%lcPrereqs;)?,
-                         (%lcObjectives;)?,
-                         (%lcResources;)?,
-                         (%section;)*)  "
->
-<!ENTITY % learningOverviewbody.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT learningOverviewbody    %learningOverviewbody.content;>
-<!ATTLIST learningOverviewbody    %learningOverviewbody.attributes;>
-
-
-<!--specialization attributes-->
-
-<!ATTLIST learningOverview        %global-atts; class CDATA "- topic/topic learningBase/learningBase     learningOverview/learningOverview ">
-<!ATTLIST learningOverviewbody    %global-atts; class CDATA "- topic/body  learningBase/learningBasebody learningOverview/learningOverviewbody ">
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningPlan.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningPlan.dtd
deleted file mode 100644
index ed7b84e..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningPlan.dtd
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Plan 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 Plan//EN"
-      Delivered as file "learningPlan.dtd"                       -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITA learning Plan 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 % learningBase-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Base//EN" 
-         "learningBase.ent"
->%learningBase-dec;
-
-<!ENTITY % learningPlan-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Plan//EN" 
-         "learningPlan.ent"
->%learningPlan-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     -->
-
-<!--Redefine the infotype entity to exclude other topic types and disallow nesting-->
-<!ENTITY % learningPlan-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;
-                           &learningInteractionBase-d-att;
-                           &learning-d-att;
-                           &learningmeta-d-att; 
-                           &learningBase-att;
-                           &learningPlan-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 learningPlan to get specific elements -->
-<!ENTITY % learningPlan-typemod PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Learning Plan//EN" 
-"learningPlan.mod">
-  %learningPlan-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;
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningPlan.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningPlan.ent
deleted file mode 100644
index d0f3685..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningPlan.ent
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Plan Entity                         -->
-<!--  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//ENTITIES DITA Learning Plan//EN"
-      Delivered as file "learningPlan.ent"                         -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the domain entity for Learning          -->
-<!--             Plan topics                                       -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             April 2008                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    LEARNING ENTITIES                          -->
-<!-- ============================================================= -->
-
-<!ENTITY learningPlan-att     
-  "(topic learningBase learningPlan)"
->
-
-
-<!-- ================== End Learning Entities ==================== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningPlan.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningPlan.mod
deleted file mode 100644
index c03ccc9..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningPlan.mod
+++ /dev/null
@@ -1,1119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA learningPlan                                 -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identfier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Plan//EN"
-      Delivered as file "learningPlan.mod                          -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for Learning Plan                      -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   SPECIALIZATION OF DECLARED ELEMENTS         -->
-<!-- ============================================================= -->
-
-<!ENTITY % learningPlan "learningPlan">
-<!ENTITY % learningPlanbody "learningPlanbody">
-
-<!-- section -->
-<!ENTITY % lcProject "lcProject">
-<!ENTITY % lcNeedsAnalysis "lcNeedsAnalysis">
-<!ENTITY % lcGapAnalysis "lcGapAnalysis">
-<!ENTITY % lcIntervention "lcIntervention">
-<!ENTITY % lcTechnical "lcTechnical">
-
-<!-- fig -->
-<!ENTITY % lcClient "lcClient">
-<!ENTITY % lcPlanTitle "lcPlanTitle">
-<!ENTITY % lcCIN "lcCIN">
-<!ENTITY % lcModDate "lcModDate">
-<!ENTITY % lcDelivDate "lcDelivDate">
-<!ENTITY % lcPlanSubject "lcPlanSubject">
-<!ENTITY % lcPlanDescrip "lcPlanDescrip">
-<!ENTITY % lcPlanPrereqs "lcPlanPrereqs">
-
-<!ENTITY % lcOrganizational "lcOrganizational">
-<!ENTITY % lcPlanAudience "lcPlanAudience">
-<!ENTITY % lcWorkEnv "lcWorkEnv">
-<!ENTITY % lcTask "lcTask">
-
-<!ENTITY % lcGapItem "lcGapItem">
-<!ENTITY % lcInterventionItem "lcInterventionItem">
-<!ENTITY % lcLMS "lcLMS">
-<!ENTITY % lcNoLMS "lcNoLMS">
-<!ENTITY % lcHandouts "lcHandouts">
-<!ENTITY % lcClassroom "lcClassroom">
-<!ENTITY % lcOJT "lcOJT">
-<!ENTITY % lcConstraints "lcConstraints">
-<!ENTITY % lcW3C "lcW3C">
-<!ENTITY % lcPlayers "lcPlayers">
-<!ENTITY % lcGraphics "lcGraphics">
-<!ENTITY % lcViewers "lcViewers">
-<!ENTITY % lcResolution "lcResolution">
-<!ENTITY % lcFileSizeLimitations "lcFileSizeLimitations">
-<!ENTITY % lcDownloadTime "lcDownloadTime">
-<!ENTITY % lcSecurity "lcSecurity">
-
-<!-- p -->
-<!ENTITY % lcGeneralDescription "lcGeneralDescription">
-<!ENTITY % lcGoals "lcGoals">
-<!ENTITY % lcNeeds "lcNeeds">
-<!ENTITY % lcValues "lcValues">
-<!ENTITY % lcOrgConstraints "lcOrgConstraints">
-<!ENTITY % lcEdLevel "lcEdLevel">
-<!ENTITY % lcAge "lcAge">
-<!ENTITY % lcBackground "lcBackground">
-<!ENTITY % lcSkills "lcSkills">
-<!ENTITY % lcKnowledge "lcKnowledge">
-<!ENTITY % lcMotivation "lcMotivation">
-<!ENTITY % lcSpecChars "lcSpecChars">
-<!ENTITY % lcWorkEnvDescription "lcWorkEnvDescription">
-<!ENTITY % lcPlanResources "lcPlanResources">
-<!ENTITY % lcProcesses "lcProcesses">
-<!ENTITY % lcTaskItem "lcTaskItem">
-<!ENTITY % lcAttitude "lcAttitude">
-<!ENTITY % lcJtaItem "lcJtaItem">
-<!ENTITY % lcGapItemDelta "lcGapItemDelta">
-<!ENTITY % lcLearnStrat "lcLearnStrat">
-<!ENTITY % lcPlanObjective "lcPlanObjective">
-<!ENTITY % lcAssessment "lcAssessment">
-<!ENTITY % lcDelivery "lcDelivery">
-
-<!-- declare the structure and content models -->
-
-<!-- declare the class derivations -->
-
-<!ENTITY % learningPlan-info-types "no-topic-nesting">
-<!ENTITY included-domains     "" >
-
-<!ENTITY % learningPlan.content
-                       "((%title;),
-                         (%titlealts;)?,
-                         (%shortdesc; | 
-                          %abstract;)?,
-                         (%prolog;)?, 
-                         (%learningPlanbody;), 
-                         (%related-links;)?, 
-                         (%learningPlan-info-types;)* )"
->
-<!ENTITY % learningPlan.attributes
-             "id
-                        ID 
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT learningPlan    %learningPlan.content;>
-<!ATTLIST learningPlan    
-              %learningPlan.attributes;
-              %arch-atts;
-              domains CDATA "&included-domains;"    >
-
-
-
-<!ENTITY % learningPlanbody.content
-                       "((%lcProject;)?,
-                         (%lcNeedsAnalysis;)?,
-                         (%lcGapAnalysis;)?,
-                         (%lcIntervention;)?,
-                         (%lcTechnical;)?,
-                         (%section;)*)"
->
-<!ENTITY % learningPlanbody.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT learningPlanbody    %learningPlanbody.content;>
-<!ATTLIST learningPlanbody    %learningPlanbody.attributes;>
-
-
-<!-- section -->
-<!ENTITY % lcProject.content
-                       "((%title;)?,
-                         (%lcClient;)?,
-                         (%lcPlanTitle;)?,
-                         (%lcCIN;)?,
-                         (%lcModDate;)?,
-                         (%lcDelivDate;)?,
-                         (%lcPlanSubject;)?,
-                         (%lcPlanDescrip;)?,
-                         (%lcPlanPrereqs;)?)"
->
-<!ENTITY % lcProject.attributes
-             "%univ-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcProject    %lcProject.content;>
-<!ATTLIST lcProject    %lcProject.attributes;>
-
-
-<!-- fig in lcProject -->
-<!ENTITY % lcClient.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcClient.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED">
-<!ELEMENT lcClient    %lcClient.content;>
-<!ATTLIST lcClient    %lcClient.attributes;>
-
-
-
-<!ENTITY % lcPlanTitle.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcPlanTitle.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED "
->
-<!ELEMENT lcPlanTitle    %lcPlanTitle.content;>
-<!ATTLIST lcPlanTitle    %lcPlanTitle.attributes;>
-
-
-<!ENTITY % lcCIN.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcCIN.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED">
-<!ELEMENT lcCIN    %lcCIN.content;>
-<!ATTLIST lcCIN    %lcCIN.attributes;>
-
-
-<!ENTITY % lcModDate.content
-                       "((%title;)?, 
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcModDate.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED">
-<!ELEMENT lcModDate    %lcModDate.content;>
-<!ATTLIST lcModDate    %lcModDate.attributes;>
-
-
-<!ENTITY % lcDelivDate.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcDelivDate.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED "
->
-<!ELEMENT lcDelivDate    %lcDelivDate.content;>
-<!ATTLIST lcDelivDate    %lcDelivDate.attributes;>
-
-
-<!ENTITY % lcPlanSubject.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcPlanSubject.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED">
-<!ELEMENT lcPlanSubject    %lcPlanSubject.content;>
-<!ATTLIST lcPlanSubject    %lcPlanSubject.attributes;>
-
-
-<!ENTITY % lcPlanDescrip.content
-                       "((%title;)?, 
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcPlanDescrip.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                   #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                   #IMPLIED "
->
-<!ELEMENT lcPlanDescrip    %lcPlanDescrip.content;>
-<!ATTLIST lcPlanDescrip    %lcPlanDescrip.attributes;>
-
-
-<!ENTITY % lcPlanPrereqs.content
-                       "((%title;)?, 
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcPlanPrereqs.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                   #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                   #IMPLIED"
->
-<!ELEMENT lcPlanPrereqs    %lcPlanPrereqs.content;>
-<!ATTLIST lcPlanPrereqs    %lcPlanPrereqs.attributes;>
-
-
-<!-- section -->
-<!ENTITY % lcNeedsAnalysis.content
-                       "((%title;)?,
-                         (%lcOrganizational;)?,
-                         (%lcPlanAudience;)?,
-                         (%lcWorkEnv;)?,
-                         (%lcTask;)*)"
->
-<!ENTITY % lcNeedsAnalysis.attributes
-             "%univ-atts;
-              spectitle  
-                        CDATA
-                                  #IMPLIED
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcNeedsAnalysis    %lcNeedsAnalysis.content;>
-<!ATTLIST lcNeedsAnalysis    %lcNeedsAnalysis.attributes;>
-
-<!-- fig in lcNeedsAnalysis-->
-<!ENTITY % lcOrganizational.content
-                       "((%title;)?, 
-                         (%lcGeneralDescription;)?,
-                         (%lcGoals;)?,
-                         (%lcNeeds;)?,
-                         (%lcValues;)?,
-                         (%lcOrgConstraints;)?)"
->
-<!ENTITY % lcOrganizational.attributes
-             "%display-atts;
-               spectitle
-                        CDATA
-                                   #IMPLIED
-               %univ-atts;
-               outputclass
-                        CDATA
-                                   #IMPLIED"
->
-<!ELEMENT lcOrganizational    %lcOrganizational.content;>
-<!ATTLIST lcOrganizational    %lcOrganizational.attributes;>
-
-<!ENTITY % lcGeneralDescription.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcGeneralDescription.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcGeneralDescription    %lcGeneralDescription.content;>
-<!ATTLIST lcGeneralDescription    %lcGeneralDescription.attributes;>
-
-<!ENTITY % lcGoals.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcGoals.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcGoals    %lcGoals.content;>
-<!ATTLIST lcGoals    %lcGoals.attributes;>
-
-<!ENTITY % lcNeeds.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcNeeds.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcNeeds    %lcNeeds.content;>
-<!ATTLIST lcNeeds    %lcNeeds.attributes;>
-
-<!ENTITY % lcValues.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcValues.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcValues    %lcValues.content;>
-<!ATTLIST lcValues    %lcValues.attributes;>
-
-<!ENTITY % lcOrgConstraints.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcOrgConstraints.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcOrgConstraints    %lcOrgConstraints.content;>
-<!ATTLIST lcOrgConstraints    %lcOrgConstraints.attributes;>
-
-
-<!ENTITY % lcPlanAudience.content
-                       "((%title;)?,
-                         (%lcGeneralDescription;)?,
-                         (%lcEdLevel;)?,
-                         (%lcAge;)?,
-                         (%lcBackground;)?,
-                         (%lcSkills;)?,
-                         (%lcKnowledge;)?,
-                         (%lcMotivation;)?,
-                         (%lcSpecChars;)?)"
->
-<!ENTITY % lcPlanAudience.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcPlanAudience    %lcPlanAudience.content;>
-<!ATTLIST lcPlanAudience    %lcPlanAudience.attributes;>
-
-<!ENTITY % lcEdLevel.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcEdLevel.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcEdLevel    %lcEdLevel.content;>
-<!ATTLIST lcEdLevel    %lcEdLevel.attributes;>
-
-<!ENTITY % lcAge.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcAge.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcAge    %lcAge.content;>
-<!ATTLIST lcAge    %lcAge.attributes;>
-
-<!ENTITY % lcBackground.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcBackground.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcBackground    %lcBackground.content;>
-<!ATTLIST lcBackground    %lcBackground.attributes;>
-
-<!ENTITY % lcSkills.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcSkills.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcSkills    %lcSkills.content;>
-<!ATTLIST lcSkills    %lcSkills.attributes;>
-
-<!ENTITY % lcKnowledge.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcKnowledge.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcKnowledge    %lcKnowledge.content;>
-<!ATTLIST lcKnowledge    %lcKnowledge.attributes;>
-
-<!ENTITY % lcMotivation.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcMotivation.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcMotivation    %lcMotivation.content;>
-<!ATTLIST lcMotivation    %lcMotivation.attributes;>
-
-<!ENTITY % lcSpecChars.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcSpecChars.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcSpecChars    %lcSpecChars.content;>
-<!ATTLIST lcSpecChars    %lcSpecChars.attributes;>
-
-
-<!ENTITY % lcWorkEnv.content
-                       "((%title;)?,
-                         (%lcWorkEnvDescription;)?,
-                         (%lcPlanResources;)?,
-                         (%lcProcesses;)?)"
->
-<!ENTITY % lcWorkEnv.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcWorkEnv    %lcWorkEnv.content;>
-<!ATTLIST lcWorkEnv    %lcWorkEnv.attributes;>
-
-<!ENTITY % lcWorkEnvDescription.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcWorkEnvDescription.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcWorkEnvDescription    %lcWorkEnvDescription.content;>
-<!ATTLIST lcWorkEnvDescription    %lcWorkEnvDescription.attributes;>
-
-<!ENTITY % lcPlanResources.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcPlanResources.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcPlanResources    %lcPlanResources.content;>
-<!ATTLIST lcPlanResources    %lcPlanResources.attributes;>
-
-<!ENTITY % lcProcesses.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcProcesses.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcProcesses    %lcProcesses.content;>
-<!ATTLIST lcProcesses    %lcProcesses.attributes;>
-
-
-<!ENTITY % lcTask.content
-                       "((%title;)?,
-                         (%lcTaskItem;)*,
-                         (%lcKnowledge;)?,
-                         (%lcSkills;)?,
-                         (%lcAttitude;)?)"
->
-<!ENTITY % lcTask.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcTask    %lcTask.content;>
-<!ATTLIST lcTask    %lcTask.attributes;>
-
-<!ENTITY % lcTaskItem.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcTaskItem.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcTaskItem    %lcTaskItem.content;>
-<!ATTLIST lcTaskItem    %lcTaskItem.attributes;>
-
-<!ENTITY % lcAttitude.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcAttitude.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcAttitude    %lcAttitude.content;>
-<!ATTLIST lcAttitude    %lcAttitude.attributes;>
-
-
-<!-- section -->
-<!ENTITY % lcGapAnalysis.content
-                       "((%title;)?,
-                         (%lcGapItem;)*)"
->
-<!ENTITY % lcGapAnalysis.attributes
-             "%univ-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcGapAnalysis    %lcGapAnalysis.content;>
-<!ATTLIST lcGapAnalysis    %lcGapAnalysis.attributes;>
-
-<!-- fig in lcGapAnalysis-->
-<!ENTITY % lcGapItem.content
-                       "((%title;)?,
-                         (%lcPlanObjective;)?,
-                         (%lcJtaItem;)?,
-                         (%lcGapItemDelta;)?)"
->
-<!ENTITY % lcGapItem.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcGapItem    %lcGapItem.content;>
-<!ATTLIST lcGapItem    %lcGapItem.attributes;>
-
-<!ENTITY % lcPlanObjective.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcPlanObjective.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcPlanObjective    %lcPlanObjective.content;>
-<!ATTLIST lcPlanObjective    %lcPlanObjective.attributes;>
-
-<!ENTITY % lcJtaItem.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcJtaItem.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcJtaItem    %lcJtaItem.content;>
-<!ATTLIST lcJtaItem    %lcJtaItem.attributes;>
-
-<!ENTITY % lcGapItemDelta.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcGapItemDelta.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcGapItemDelta    %lcGapItemDelta.content;>
-<!ATTLIST lcGapItemDelta    %lcGapItemDelta.attributes;>
-
-
-<!-- section -->
-<!ENTITY % lcIntervention.content
-                       "((%title;)?,
-                         (%lcInterventionItem;)*)"
->
-<!ENTITY % lcIntervention.attributes
-             "%univ-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              outputclass
-                        CDATA
-                                  #IMPLIED "
->
-<!ELEMENT lcIntervention    %lcIntervention.content;>
-<!ATTLIST lcIntervention    %lcIntervention.attributes;>
-
-<!-- fig in lcIntervention-->
-<!ENTITY % lcInterventionItem.content
-                       "((%title;)?,
-                         (%lcLearnStrat;)?,
-                         (%lcPlanObjective;)?,
-                         (%lcAssessment;)?,
-                         (%lcDelivery;)?)"
->
-<!ENTITY % lcInterventionItem.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcInterventionItem    %lcInterventionItem.content;>
-<!ATTLIST lcInterventionItem    %lcInterventionItem.attributes;>
-
-<!ENTITY % lcLearnStrat.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcLearnStrat.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcLearnStrat    %lcLearnStrat.content;>
-<!ATTLIST lcLearnStrat    %lcLearnStrat.attributes;>
-
-<!ENTITY % lcAssessment.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcAssessment.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcAssessment    %lcAssessment.content;>
-<!ATTLIST lcAssessment    %lcAssessment.attributes;>
-
-<!ENTITY % lcDelivery.content
-                       "(%para.cnt;)*"
->
-<!ENTITY % lcDelivery.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcDelivery    %lcDelivery.content;>
-<!ATTLIST lcDelivery    %lcDelivery.attributes;>
-
-
-<!-- section -->
-<!ENTITY % lcTechnical.content
-                       "((%title;)?,
-                         (%lcLMS;)?,
-                         (%lcNoLMS;)?,
-                         (%lcHandouts;)?,
-                         (%lcClassroom;)?,
-                         (%lcOJT;)?,
-                         (%lcConstraints;)?,
-                         (%lcW3C;)?,
-                         (%lcPlayers;)?,
-                         (%lcGraphics;)?,
-                         (%lcViewers;)?,
-                         (%lcResolution;)?,
-                         (%lcFileSizeLimitations;)?,
-                         (%lcDownloadTime;)?,
-                         (%lcSecurity;)?)">
-<!ENTITY % lcTechnical.attributes
-             "%univ-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcTechnical    %lcTechnical.content;>
-<!ATTLIST lcTechnical    %lcTechnical.attributes;>
-
-<!-- fig in lcTechnical-->
-<!ENTITY % lcLMS.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcLMS.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcLMS    %lcLMS.content;>
-<!ATTLIST lcLMS    %lcLMS.attributes;>
-
-<!ENTITY % lcNoLMS.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcNoLMS.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcNoLMS    %lcNoLMS.content;>
-<!ATTLIST lcNoLMS    %lcNoLMS.attributes;>
-
-<!ENTITY % lcHandouts.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcHandouts.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcHandouts    %lcHandouts.content;>
-<!ATTLIST lcHandouts    %lcHandouts.attributes;>
-
-<!ENTITY % lcClassroom.content
-                       "((%title;)?, 
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcClassroom.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcClassroom    %lcClassroom.content;>
-<!ATTLIST lcClassroom    %lcClassroom.attributes;>
-
-<!ENTITY % lcOJT.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcOJT.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcOJT    %lcOJT.content;>
-<!ATTLIST lcOJT    %lcOJT.attributes;>
-
-<!ENTITY % lcConstraints.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcConstraints.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcConstraints    %lcConstraints.content;>
-<!ATTLIST lcConstraints    %lcConstraints.attributes;>
-
-<!ENTITY % lcW3C.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcW3C.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcW3C    %lcW3C.content;>
-<!ATTLIST lcW3C    %lcW3C.attributes;>
-
-<!ENTITY % lcPlayers.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcPlayers.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcPlayers    %lcPlayers.content;>
-<!ATTLIST lcPlayers    %lcPlayers.attributes;>
-
-<!ENTITY % lcGraphics.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcGraphics.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcGraphics    %lcGraphics.content;>
-<!ATTLIST lcGraphics    %lcGraphics.attributes;>
-
-<!ENTITY % lcViewers.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcViewers.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcViewers    %lcViewers.content;>
-<!ATTLIST lcViewers    %lcViewers.attributes;>
-
-<!ENTITY % lcResolution.content
-                       "((%title;)?, 
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcResolution.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcResolution    %lcResolution.content;>
-<!ATTLIST lcResolution    %lcResolution.attributes;>
-
-<!ENTITY % lcFileSizeLimitations.content
-                       "((%title;)?, 
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcFileSizeLimitations.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcFileSizeLimitations    %lcFileSizeLimitations.content;>
-<!ATTLIST lcFileSizeLimitations    %lcFileSizeLimitations.attributes;>
-
-<!ENTITY % lcDownloadTime.content
-                       "((%title;)?,
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcDownloadTime.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT lcDownloadTime    %lcDownloadTime.content;>
-<!ATTLIST lcDownloadTime    %lcDownloadTime.attributes;>
-
-<!ENTITY % lcSecurity.content
-                       "((%title;)?, 
-                         (%fig.cnt;)* )"
->
-<!ENTITY % lcSecurity.attributes
-             "%display-atts;
-              spectitle
-                        CDATA
-                                  #IMPLIED
-              %univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED">
-<!ELEMENT lcSecurity    %lcSecurity.content;>
-<!ATTLIST lcSecurity    %lcSecurity.attributes;>
-
-
-<!--specialization attributes-->
-<!ATTLIST learningPlan        %global-atts; class CDATA "- topic/topic learningBase/learningBase learningPlan/learningPlan ">
-<!ATTLIST learningPlanbody    %global-atts; class CDATA "- topic/body  learningBase/learningBasebody learningPlan/learningPlanbody ">
-<!ATTLIST lcProject    %global-atts; class CDATA "- topic/section  learningBase/section learningPlan/lcProject ">
-<!ATTLIST lcNeedsAnalysis    %global-atts; class CDATA "- topic/section  learningBase/section learningPlan/lcNeedsAnalysis ">
-<!ATTLIST lcGapAnalysis    %global-atts; class CDATA "- topic/section  learningBase/section learningPlan/lcGapAnalysis ">
-<!ATTLIST lcIntervention    %global-atts; class CDATA "- topic/section  learningBase/section learningPlan/lcIntervention ">
-<!ATTLIST lcTechnical    %global-atts; class CDATA "- topic/section  learningBase/section learningPlan/lcTechnical ">
-
-<!ATTLIST lcClient  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcClient ">
-<!ATTLIST lcPlanTitle  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcPlanTitle ">
-<!ATTLIST lcCIN  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcCIN ">
-<!ATTLIST lcModDate  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcModDate ">
-<!ATTLIST lcDelivDate  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcDelivDate ">
-<!ATTLIST lcPlanSubject  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcPlanSubject ">
-<!ATTLIST lcPlanDescrip  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcPlanDescrip ">
-<!ATTLIST lcPlanPrereqs  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcPlanPrereqs ">
-
-<!ATTLIST lcOrganizational  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcOrganizational ">
-<!ATTLIST lcGoals  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcGoals ">
-<!ATTLIST lcNeeds  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcNeeds ">
-<!ATTLIST lcValues  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcValues ">
-<!ATTLIST lcOrgConstraints  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcOrgConstraints ">
-<!ATTLIST lcPlanAudience  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcPlanAudience ">
-<!ATTLIST lcGeneralDescription  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcGeneralDescription ">
-<!ATTLIST lcEdLevel  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcEdLevel ">
-<!ATTLIST lcAge  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcAge ">
-<!ATTLIST lcBackground  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcBackground ">
-<!ATTLIST lcSkills  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcSkills ">
-<!ATTLIST lcKnowledge  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcKnowledge ">
-<!ATTLIST lcMotivation  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcMotivation ">
-<!ATTLIST lcSpecChars  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcSpecChars ">
-<!ATTLIST lcWorkEnv  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcWorkEnv ">
-<!ATTLIST lcWorkEnvDescription  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcWorkEnvDescription ">
-<!ATTLIST lcPlanResources  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcPlanResources ">
-<!ATTLIST lcProcesses  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcProcesses ">
-<!ATTLIST lcTask  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcTask ">
-<!ATTLIST lcTaskItem  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcTaskItem ">
-<!ATTLIST lcAttitude  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcAttitude ">
-
-<!ATTLIST lcGapItem  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcGapItem ">
-<!ATTLIST lcPlanObjective  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcPlanObjective ">
-<!ATTLIST lcJtaItem  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcJtaItem ">
-<!ATTLIST lcGapItemDelta  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcGapItemDelta ">
-
-<!ATTLIST lcInterventionItem  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcInterventionItem ">
-<!ATTLIST lcLearnStrat  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcLearnStrat ">
-<!ATTLIST lcAssessment  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcAssessment ">
-<!ATTLIST lcDelivery  %global-atts; class CDATA "- topic/p  learningBase/p learningPlan/lcDelivery ">
-
-<!ATTLIST lcLMS  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcLMS ">
-<!ATTLIST lcNoLMS  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcNoLMS ">
-<!ATTLIST lcHandouts  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcHandouts ">
-<!ATTLIST lcClassroom  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcClassroom ">
-<!ATTLIST lcOJT  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcOJT ">
-<!ATTLIST lcConstraints  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcConstraints ">
-<!ATTLIST lcW3C  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcW3C ">
-<!ATTLIST lcPlayers  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcPlayers ">
-<!ATTLIST lcGraphics  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcGraphics ">
-<!ATTLIST lcViewers  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcViewers ">
-<!ATTLIST lcResolution  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcResolution ">
-<!ATTLIST lcFileSizeLimitations  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcFileSizeLimitations ">
-<!ATTLIST lcDownloadTime  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcDownloadTime ">
-<!ATTLIST lcSecurity  %global-atts; class CDATA "- topic/fig  learningBase/fig learningPlan/lcSecurity ">
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningSummary.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningSummary.dtd
deleted file mode 100644
index 403d31c..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningSummary.dtd
+++ /dev/null
@@ -1,194 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Summary                             -->
-<!--  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 Summary//EN"
-      Delivered as file "learningSummary.dtd"                      -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITA learning Summary 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 % learningBase-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Learning Base//EN" 
-         "learningBase.ent"
->%learningBase-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     -->
-
-<!--Redefine the infotype entity to exclude other topic types and 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;
-                           &learningInteractionBase-d-att;
-                           &learning-d-att;
-                           &learningmeta-d-att; 
-                           &learningBase-att;
-                           &learningSummary-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 learningSummary to get specific elements -->
-<!ENTITY % learningSummary-typemod PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Learning Summary//EN" 
-"learningSummary.mod">
-  %learningSummary-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;
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningSummary.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningSummary.ent
deleted file mode 100644
index ee465f7..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningSummary.ent
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Learning Summary Entity                      -->
-<!--  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//ENTITIES DITA Learning Summary//EN"
-      Delivered as file "learningSummary.ent"                      -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the domain entity for Learning          -->
-<!--             Overview topics                                   -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             April 2008                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    LEARNING ENTITIES                          -->
-<!-- ============================================================= -->
-
-<!ENTITY learningSummary-att     
-  "(topic learningBase learningSummary)"
->
-
-
-<!-- ================== End Learning Entities ==================== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningSummary.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningSummary.mod
deleted file mode 100644
index ff17f19..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/learning/dtd/learningSummary.mod
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA learningOverview                             -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identfier or an 
-      appropriate system identifier 
-PUBLIC "-//OASIS//ELEMENTS DITA Learning Summary//EN"
-      Delivered as file "learningSummary.mod                      -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for Learning Summary                   -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             May 2007                                          -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2007, 2009               -->
-<!--             All Rights Reserved.                              -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   SPECIALIZATION OF DECLARED ELEMENTS         -->
-<!-- ============================================================= -->
-
-<!ENTITY % learningSummary "learningSummary">
-<!ENTITY % learningSummarybody "learningSummarybody">
-
-<!-- declare the structure and content models -->
-
-<!-- declare the class derivations -->
-
-<!ENTITY % learningSummary-info-types "no-topic-nesting">
-<!ENTITY included-domains        "" >
-
-<!ENTITY % learningSummary.content
-                        "((%title;),
-                          (%titlealts;)?,
-                          (%shortdesc; | 
-                           %abstract;)?,
-                          (%prolog;)?,
-                          (%learningSummarybody;),
-                          (%related-links;)?,
-                          (%learningSummary-info-types;)* )"
->
-<!ENTITY % learningSummary.attributes
-             "id
-                        ID 
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT learningSummary    %learningSummary.content;>
-<!ATTLIST learningSummary
-              %learningSummary.attributes;
-              %arch-atts;
-              domains 
-                        CDATA
-                                  "&included-domains;"
->
-
-
-<!ENTITY % learningSummarybody.content
-                        "(((%lcSummary;) |
-                          (%lcObjectives;) |
-                          (%lcReview;) |
-                          (%lcNextSteps;) |
-                          (%lcResources;) |
-                          (%section;))*)"
->
-<!ENTITY % learningSummarybody.attributes
-             "%univ-atts;
-              outputclass
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT learningSummarybody     %learningSummarybody.content;>
-<!ATTLIST learningSummarybody     %learningSummarybody.attributes;>
-
-<!--specialization attributes-->
-
-<!ATTLIST learningSummary        %global-atts; class CDATA "- topic/topic learningBase/learningBase     learningSummary/learningSummary ">
-<!ATTLIST learningSummarybody    %global-atts; class CDATA "- topic/body  learningBase/learningBasebody learningSummary/learningSummarybody ">
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/machineryIndustry/dtd/machineryTask.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/machineryIndustry/dtd/machineryTask.dtd
deleted file mode 100644
index dc475ff..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/machineryIndustry/dtd/machineryTask.dtd
+++ /dev/null
@@ -1,215 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Machinery Task DTD                           -->
-<!--  VERSION:   1.2                                               -->
-<!--  DATE:      November 2009                                     -->
-<!--                                                               -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
-<!--                    TYPICAL INVOCATION                         -->
-<!--                                                               -->
-<!--  Refer to this file by the following public identifier or an 
-PUBLIC "-//OASIS//DTD DITA Machinery Task//EN"
-      Delivered as file "machineryTask.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 Machinery Task//EN"                 -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITA Machinery Tasks              -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             April 2008                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    TOPIC ENTITY DECLARATIONS                  -->
-<!-- ============================================================= -->
-
-<!ENTITY % task-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Task//EN" 
-         "../../technicalContent/dtd/task.ent"
->%task-dec;
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATIONS                 -->
-<!-- ============================================================= -->
-
-<!ENTITY % taskreq-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Task Requirements Domain//EN" 
-         "../../technicalContent/dtd/taskreqDomain.ent"
->%taskreq-d-dec;
-
-<!ENTITY % hazard-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Hazard Statement Domain//EN" 
-         "../../base/dtd/hazardstatementDomain.ent"
->%hazard-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;
-
-<!ENTITY % ui-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 User Interface Domain//EN" 
-         "../../technicalContent/dtd/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 |
-                         %ui-d-pre;
-                        ">
-<!ENTITY % keyword      "keyword |
-                         %ui-d-keyword;
-                        ">
-<!ENTITY % ph           "ph |
-                         %hi-d-ph; |
-                         %ui-d-ph;
-                        ">
-<!ENTITY % fig          "fig |
-                         %ut-d-fig;
-                        ">
-<!ENTITY % index-base   "index-base | 
-                         %indexing-d-index-base;
-                        ">
-<!ENTITY % prereq       "prereq | 
-                         %taskreq-d-prereq;
-                        ">
-<!ENTITY % postreq      "postreq | 
-                         %taskreq-d-postreq;
-                        ">
-<!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 % task-info-types 
-                        "task"                                       >
-
-
-<!-- ============================================================= -->
-<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
-<!-- ============================================================= -->
-<!--                    Must be declared ahead of the DTDs, which
-                        puts @domains first in order               -->
-
-<!ENTITY included-domains 
-                          "&task-att;
-                           &hi-d-att; 
-                           &ut-d-att; 
-                           &indexing-d-att;
-                           &hazard-d-att;
-                           &ui-d-att;
-                           &taskreq-d-att;
-                           &taskbody-constraints;
-  "
->
-
-<!-- ============================================================= -->
-<!--                    CONTENT CONSTRAINT INTEGRATION             -->
-<!-- ============================================================= -->
-
-<!ENTITY % machineryTaskbody-c-def
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Machinery Taskbody Constraint//EN" 
-  "machineryTaskbodyConstraint.mod">
-%machineryTaskbody-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 task to get specific elements        -->
-<!ENTITY % task-typemod PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Task//EN" 
-"../../technicalContent/dtd/task.mod"                                                           >
-%task-typemod;
-
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ELEMENT INTEGRATION                 -->
-<!-- ============================================================= -->
-
-
-<!ENTITY % taskreq-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Task Requirements Domain//EN" 
-         "../../technicalContent/dtd/taskreqDomain.mod"
->%taskreq-d-def;
-
-<!ENTITY % hazard-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Hazard Statement Domain//EN" 
-         "../../base/dtd/hazardstatementDomain.mod"
->%hazard-d-def;
-
-<!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 % ui-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 User Interface Domain//EN" 
-         "../../technicalContent/dtd/uiDomain.mod"
->%ui-d-def;
-
-<!-- ================== End DITA Machinery Task DTD  ============= -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/machineryIndustry/dtd/machineryTaskbodyConstraint.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/machineryIndustry/dtd/machineryTaskbodyConstraint.mod
deleted file mode 100644
index fb5cd9d..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/machineryIndustry/dtd/machineryTaskbodyConstraint.mod
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Machine Industry Taskbody Constraint         -->
-<!--  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//ELEMENTS DITA Machinery Taskbody Constraint//EN"
-      Delivered as file "machineryTaskbodyConstraint.mod"          -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the domain entity for the strict task   -->
-<!--             constraint module                                 -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             April 2008                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    Machinery Taskbody ENTITIES                -->
-<!-- ============================================================= -->
-
-<!ENTITY taskbody-constraints     
-  "(topic task+taskreq-d machineryTaskbody-c)"
->
-
-<!ENTITY % prelreqs        "prelreqs">
-<!ENTITY % context         "context">
-<!ENTITY % section         "section">
-<!ENTITY % steps           "steps">
-<!ENTITY % steps-unordered "steps-unordered">
-<!ENTITY % steps-informal         "steps-informal">
-<!ENTITY % result          "result">
-<!ENTITY % example         "example">
-<!ENTITY % closereqs       "closereqs">
-
-<!ENTITY % taskbody.content
-              "(((%prelreqs;) | 
-                 (%context;) |
-                 (%section;))*,
-                ((%steps; | 
-                  %steps-unordered; |
-                  %steps-informal;))?, 
-                (%result;)?, 
-                (%example;)*, 
-                (%closereqs;)?)"
-               >
-
-<!-- ================== End Machinery Taskbody Entities ========== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/classifyDomain.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/classifyDomain.ent
deleted file mode 100644
index 2bd59f6..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/classifyDomain.ent
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Subject Classification Domain Entities       -->
-<!--  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//ENTITIES DITA Map Subject Classification Domain//EN"
-      Delivered as file "classifyDomain.ent"                       -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the substitution context and domain     -->
-<!--             entity declarations for the subject               -->
-<!--             classification domain                             -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             February 2008                                     -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             (C) Copyright IBM Corporation 2005, 2007.         -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2008.02.13 RDA: Created file based upon prototype from IBM -->
-<!--    2010.01.21 RDA: Add topicapply as topicref extension       -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    ELEMENT EXTENSION ENTITY DECLARATIONS      -->
-<!-- ============================================================= -->
-
-<!ENTITY % classify-d-topicref
-              "topicsubject | topicapply"
->
-<!ENTITY % classify-d-reltable 
-              "topicSubjectTable"
->
-
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATION                  -->
-<!-- ============================================================= -->
-
-<!ENTITY classify-d-att "(map classify-d)">
-
-
-<!-- ================ End Subject Classification Domain Entities = -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/classifyDomain.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/classifyDomain.mod
deleted file mode 100644
index a8fbe62..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/classifyDomain.mod
+++ /dev/null
@@ -1,331 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Subject Classification Domain                -->
-<!--  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//ELEMENTS DITA Map Subject Classification Domain//EN"
-      Delivered as file "classifyDomain.mod"                       -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Define elements and specialization attributes     -->
-<!--             for Map Subject Classification Domain             -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             February 2008                                     -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             (C) Copyright IBM Corporation 2005, 2007.         -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2008.02.13 RDA: Created file based upon prototype from IBM -->
-<!--    2010.01.21 RDA: Update subjectCell content to remove       -->
-<!--                    duplicate element inclusion                -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT NAME ENTITIES                      -->
-<!-- ============================================================= -->
-
-<!ENTITY % topicsubject        "topicsubject">
-<!ENTITY % topicapply          "topicapply"><!--New-->
-<!ENTITY % subjectref          "subjectref">
-<!ENTITY % topicSubjectTable   "topicSubjectTable">
-<!ENTITY % topicSubjectHeader  "topicSubjectHeader">
-<!ENTITY % topicSubjectRow     "topicSubjectRow">
-<!ENTITY % topicCell           "topicCell">
-<!ENTITY % subjectCell         "subjectCell">
-
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS                       -->
-<!-- ============================================================= -->
-
-<!--                    LONG NAME: Topic Subject                   -->
-<!-- SKOS equivalent:  primary if href or keyref are specified     -->
-<!ENTITY % topicsubject.content
-                       "((%topicmeta;)?,
-                         (%data.elements.incl; |
-                          %subjectref;|
-                          %topicref;)*)"
->
-<!ENTITY % topicsubject.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  'resource-only'
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  'no'
-              %univ-atts;"
->
-<!ELEMENT topicsubject    %topicsubject.content;>
-<!ATTLIST topicsubject    %topicsubject.attributes;>
-
-
-<!--                    LONG NAME: Topic Apply                     -->
-<!ENTITY % topicapply.content
-                       "((%topicmeta;)?,
-                         (%data.elements.incl; |
-                          %subjectref; |
-                          %topicref;)*)"
->
-<!ENTITY % topicapply.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              collection-type 
-                        (choice | 
-                         family | 
-                         sequence | 
-                         unordered |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  'resource-only'
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              linking 
-                        (none | 
-                         normal | 
-                         sourceonly | 
-                         targetonly |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  'no'
-              %univ-atts;"
->
-<!ELEMENT topicapply    %topicapply.content;>
-<!ATTLIST topicapply    %topicapply.attributes;>
-
-
-<!--                    LONG NAME: Subject Reference               -->
-<!ENTITY % subjectref.content
-                       "((%topicmeta;)?,
-                         (%data.elements.incl;)*)"
->
-<!ENTITY % subjectref.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              collection-type 
-                        (choice | 
-                         family | 
-                         sequence | 
-                         unordered |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  'resource-only'
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              linking 
-                        (none | 
-                         normal | 
-                         sourceonly | 
-                         targetonly |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  'no'
-              %univ-atts;"
->
-<!ELEMENT subjectref    %subjectref.content;>
-<!ATTLIST subjectref    %subjectref.attributes;>
-
-
-<!--                   LONG NAME: Topic Subject Relationship Table -->
-<!ENTITY % topicSubjectTable.content
-                       "((%title;),
-                         (%topicmeta;)?,
-                         (%topicSubjectHeader;)?,
-                         (%topicSubjectRow;)+)"
->
-<!ENTITY % topicSubjectTable.attributes
-             "%topicref-atts-no-toc;
-              %univ-atts;"
->
-<!ELEMENT topicSubjectTable    %topicSubjectTable.content;>
-<!ATTLIST topicSubjectTable    %topicSubjectTable.attributes;>
-
-
-<!--                    LONG NAME: Topic Subject Table Header      -->
-<!-- The header defines the set of subjects for each column.
-     By default, the subject in the header cell must be a broader ancestor
-         within a scheme available during processing for the subjects
-         in the same column of other rows
-     In the header, the topicCell serves primarily as a placeholder
-         for the topic column but could also provide some constraints
-         or metadata for the topics -->
-<!ENTITY % topicSubjectHeader.content
-                       "((%topicCell;),
-                         (%subjectCell;)+)"
->
-<!ENTITY % topicSubjectHeader.attributes
-             "%univ-atts;"
->
-<!ELEMENT topicSubjectHeader    %topicSubjectHeader.content;>
-<!ATTLIST topicSubjectHeader    %topicSubjectHeader.attributes;>
-
-
-<!--                    LONG NAME: Topic Subject Table Row         -->
-<!ENTITY % topicSubjectRow.content
-                       "((%topicCell;),
-                         (%subjectCell;)+)"
->
-<!ENTITY % topicSubjectRow.attributes
-             "%univ-atts;"
->
-<!ELEMENT topicSubjectRow    %topicSubjectRow.content;>
-<!ATTLIST topicSubjectRow    %topicSubjectRow.attributes;>
-
-
-<!--                    LONG NAME: Topic Subject Table Cell        -->
-<!ENTITY % topicCell.content
-                       "((%data.elements.incl; |
-                          %topicref;)+)"
->
-<!ENTITY % topicCell.attributes
-             "%univ-atts;
-              %topicref-atts;"
->
-<!ELEMENT topicCell    %topicCell.content;>
-<!ATTLIST topicCell    %topicCell.attributes;>
-
-
-<!--                    LONG NAME: Topic Subject Cell              -->
-<!ENTITY % subjectCell.content
-                       "((%data.elements.incl; |
-                          %subjectref; |
-                          %topicref;)*)"
->
-<!ENTITY % subjectCell.attributes
-             "%univ-atts;
-              %topicref-atts;"
->
-<!ELEMENT subjectCell    %subjectCell.content;>
-<!ATTLIST subjectCell    %subjectCell.attributes;>
-
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
-
-<!ATTLIST topicsubject %global-atts;
-    class CDATA "+ map/topicref classify-d/topicsubject ">
-<!ATTLIST topicapply %global-atts;
-    class CDATA "+ map/topicref classify-d/topicapply ">
-<!ATTLIST subjectref %global-atts;
-    class CDATA "+ map/topicref classify-d/subjectref ">
-<!ATTLIST topicSubjectTable %global-atts;
-    class CDATA "+ map/reltable classify-d/topicSubjectTable ">
-<!ATTLIST topicSubjectHeader %global-atts;
-    class CDATA "+ map/relrow classify-d/topicSubjectHeader ">
-<!ATTLIST topicSubjectRow %global-atts;
-    class CDATA "+ map/relrow classify-d/topicSubjectRow ">
-<!ATTLIST topicCell %global-atts;
-    class CDATA "+ map/relcell classify-d/topicCell ">
-<!ATTLIST subjectCell %global-atts;
-    class CDATA "+ map/relcell classify-d/subjectCell ">
-
-<!-- ================== DITA Subject Classification Domain  ====== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/classifyMap.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/classifyMap.dtd
deleted file mode 100644
index c8863c1..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/classifyMap.dtd
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Classification Map 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 Classification Map//EN"
-     Delivered as file "classifyMap.dtd"                           -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITA Classification maps          -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             March 2001                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2005, 2009.              -->
-<!--             (C) Copyright IBM Corporation 2001, 2004.         -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2010.09.21 RDA: Added base topic domains                   -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    MAP ENTITY DECLARATIONS                    -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATIONS                 -->
-<!-- ============================================================= -->
-
-
-<!ENTITY % mapgroup-d-dec 
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Map Group Domain//EN" 
-         "../../base/dtd/mapGroup.ent"                                                       
->%mapgroup-d-dec;
-
-<!ENTITY % indexing-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Indexing Domain//EN" 
-         "../../base/dtd/indexingDomain.ent"                                                 
->%indexing-d-dec;
-
-<!ENTITY % delay-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Delayed Resolution Domain//EN" 
-         "../../base/dtd/delayResolutionDomain.ent"                                                       
->%delay-d-dec;
-
-<!ENTITY % classify-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Map Subject Classification Domain//EN" 
-         "classifyDomain.ent"                                                       
->%classify-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 % hazard-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Hazard Statement Domain//EN" 
-         "../../base/dtd/hazardstatementDomain.ent"
->%hazard-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 % keywords     "keywords | 
-                         %delay-d-keywords;
-                        ">
-<!ENTITY % topicref     "topicref |
-                         (%classify-d-topicref;) | 
-                         (%mapgroup-d-topicref;)
-                        ">
-<!ENTITY % reltable     "reltable |
-                         (%classify-d-reltable;)
-                        ">
-<!ENTITY % index-base   "index-base | 
-                         %indexing-d-index-base;
-                        ">
-<!ENTITY % ph           "ph | 
-                         %hi-d-ph;
-                        ">
-<!ENTITY % fig          "fig |
-                         %ut-d-fig;
-                        ">
-<!ENTITY % note         "note | 
-                         %hazard-d-note;
-                        ">
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ATTRIBUTE EXTENSIONS                -->
-<!-- ============================================================= -->
-<!ENTITY % props-attribute-extensions  
-  ""
->
-<!ENTITY % base-attribute-extensions   
-  ""
->
-
-<!-- ============================================================= -->
-<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
-<!-- ============================================================= -->
-<!--                    Must be declared ahead of the DTDs, which
-                        puts @domains first in order               -->
-
-<!ENTITY included-domains 
-                        "&delay-d-att;
-                         &mapgroup-d-att; 
-                         &indexing-d-att;
-                         &classify-d-att;
-                         &hi-d-att; 
-                         &ut-d-att; 
-                         &hazard-d-att;
-                        ">
-
-<!-- ============================================================= -->
-<!--                    MAP ELEMENT INTEGRATION                    -->
-<!-- ============================================================= -->
-
-
-<!--                    Embed map to get generic elements          -->
-<!ENTITY % map-type     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Map//EN" 
-         "../../base/dtd/map.mod"                                                            
->%map-type;
-
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ELEMENT INTEGRATION                 -->
-<!-- ============================================================= -->
-
-
-<!ENTITY % mapgroup-d-def  
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Map Group Domain//EN" 
-         "../../base/dtd/mapGroup.mod"                                                       
->%mapgroup-d-def;
-
-<!ENTITY % indexing-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Indexing Domain//EN" 
-         "../../base/dtd/indexingDomain.mod"                                                 
->%indexing-d-def;
-
-<!ENTITY % delay-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Delayed Resolution Domain//EN" 
-         "../../base/dtd/delayResolutionDomain.mod"
->%delay-d-def;
-
-<!ENTITY % classify-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Map Subject Classification Domain//EN" 
-         "classifyDomain.mod"                                                       
->%classify-d-def;
-
-<!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 % hazard-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Hazard Statement Domain//EN" 
-         "../../base/dtd/hazardstatementDomain.mod"
->%hazard-d-def;
-
-<!-- ================== End DITA Classification Map DTD  ========= -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/subjectScheme.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/subjectScheme.dtd
deleted file mode 100644
index 6a96354..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/subjectScheme.dtd
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Subject Scheme Map 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 Subject Scheme Map//EN"
-     Delivered as file "subjectScheme.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 Subject Scheme Map//EN"             -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITA Subject Scheme maps          -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             February 2008                                     -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             (C) Copyright IBM Corporation 2005, 2007.         -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2008.02.13 RDA: Created file based upon prototype from IBM -->
-<!--    2010.09.21 RDA: Added base topic domains                   -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    MAP ENTITY DECLARATIONS                    -->
-<!-- ============================================================= -->
-
-<!ENTITY % subjectScheme-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Subject Scheme Map//EN" 
-         "subjectScheme.ent"
->%subjectScheme-dec;
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATIONS                 -->
-<!-- ============================================================= -->
-
-<!ENTITY % mapgroup-d-dec 
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Map Group Domain//EN" 
-         "../../base/dtd/mapGroup.ent"                                                       
->%mapgroup-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 % hazard-d-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Hazard Statement Domain//EN" 
-         "../../base/dtd/hazardstatementDomain.ent"
->%hazard-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 % topicref     "topicref | 
-                         (%mapgroup-d-topicref;)
-                        ">
-<!ENTITY % ph           "ph | 
-                         %hi-d-ph;
-                        ">
-<!ENTITY % fig          "fig |
-                         %ut-d-fig;
-                        ">
-<!ENTITY % note         "note | 
-                         %hazard-d-note;
-                        ">
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ATTRIBUTE EXTENSIONS                -->
-<!-- ============================================================= -->
-<!ENTITY % props-attribute-extensions  
-  ""
->
-<!ENTITY % base-attribute-extensions   
-  ""
->
-
-<!-- ============================================================= -->
-<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
-<!-- ============================================================= -->
-<!--                    Must be declared ahead of the DTDs, which
-                        puts @domains first in order               -->
-<!ENTITY included-domains 
-                        "&mapgroup-d-att; 
-                         &hi-d-att; 
-                         &ut-d-att; 
-                         &hazard-d-att;
-                        ">
-
-<!-- ============================================================= -->
-<!--                    MAP ELEMENT INTEGRATION                    -->
-<!-- ============================================================= -->
-
-<!--                    Embed map to get generic elements          -->
-<!ENTITY % map-type     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Map//EN" 
-         "../../base/dtd/map.mod"                                                            
->%map-type;
-
-<!ENTITY % subjectScheme-type     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Subject Scheme Map//EN" 
-         "subjectScheme.mod"                                                            
->%subjectScheme-type;
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ELEMENT INTEGRATION                 -->
-<!-- ============================================================= -->
-
-<!ENTITY % mapgroup-d-def  
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Map Group Domain//EN" 
-         "../../base/dtd/mapGroup.mod"                                                       
->%mapgroup-d-def;
-
-<!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 % hazard-d-def     
-  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Hazard Statement Domain//EN" 
-         "../../base/dtd/hazardstatementDomain.mod"
->%hazard-d-def;
-
-<!-- ================== End DITA Subject Scheme Map DTD  ========= -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/subjectScheme.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/subjectScheme.ent
deleted file mode 100644
index 89b69ca..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/subjectScheme.ent
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Subject Scheme Map Entity                    -->
-<!--  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//ENTITIES DITA Map Subject Scheme//EN"
-      Delivered as file "subjectScheme.ent"                        -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the domain entity for the subject scheme-->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             February 2008                                     -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    SUBJECT SCHEME MAP ENTITIES                -->
-<!-- ============================================================= -->
-
-<!ENTITY subjectScheme-att     
-  "(map subjectScheme)"
->
-
-
-<!-- ================== End Subject Scheme Map Entities ========== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/subjectScheme.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/subjectScheme.mod
deleted file mode 100644
index d471c91..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/subjectScheme/dtd/subjectScheme.mod
+++ /dev/null
@@ -1,904 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Subject Scheme Map                           -->
-<!--  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//ELEMENTS DITA Subject Scheme Map//EN"
-      Delivered as file "subjectScheme.mod"                        -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for DITA Subject Scheme Maps           -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             February 2008                                     -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             (C) Copyright IBM Corporation 2005, 2007.         -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2008.02.13 RDA: Created file based upon prototype from IBM -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                   ELEMENT NAME ENTITIES                       -->
-<!-- ============================================================= -->
-
-<!ENTITY % subjectScheme     "subjectScheme">
-<!ENTITY % schemeref         "schemeref">
-<!ENTITY % hasNarrower       "hasNarrower">
-<!ENTITY % hasKind           "hasKind">
-<!ENTITY % hasPart           "hasPart">
-<!ENTITY % hasInstance       "hasInstance">
-<!ENTITY % hasRelated        "hasRelated">
-<!ENTITY % subjectdef        "subjectdef">
-<!ENTITY % subjectHead       "subjectHead">
-<!ENTITY % subjectHeadMeta   "subjectHeadMeta">
-<!ENTITY % enumerationdef    "enumerationdef">
-<!ENTITY % elementdef        "elementdef">
-<!ENTITY % attributedef      "attributedef">
-<!ENTITY % defaultSubject    "defaultSubject">
-<!ENTITY % relatedSubjects   "relatedSubjects">
-<!ENTITY % subjectRelTable   "subjectRelTable">
-<!ENTITY % subjectRelHeader  "subjectRelHeader">
-<!ENTITY % subjectRel        "subjectRel">
-<!ENTITY % subjectRole       "subjectRole">
-
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS                       -->
-<!-- ============================================================= -->
-
-<!-- This differs from topicref-atts-no-toc only by providing a
-     default for @processing-role                                  -->
-<!ENTITY % topicref-atts-for-subjectScheme 
-             'collection-type 
-                        (choice | 
-                         family | 
-                         sequence | 
-                         unordered |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  "resource-only"
-              scope 
-                        (external | 
-                         local | 
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              locktitle 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              linking 
-                        (none | 
-                         normal | 
-                         sourceonly | 
-                         targetonly |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target)
-                                  "no"
-              print 
-                        (no | 
-                         printonly | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              search 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              chunk 
-                        CDATA 
-                                  #IMPLIED
-  '
->
-
-<!--                    LONG NAME: Subject Scheme Map              -->
-<!ENTITY % subjectScheme.content
-                       "((%title;)?,
-                         (%topicmeta;)?,
-                         ((%anchor; |
-                           %data.elements.incl; |
-                           %enumerationdef; |
-                           %hasInstance; |
-                           %hasKind; |
-                           %hasNarrower; |
-                           %hasPart; |
-                           %hasRelated; |
-                           %navref; |
-                           %relatedSubjects; |
-                           %reltable; |
-                           %schemeref; |
-                           %subjectdef; |
-                           %subjectHead; |
-                           %subjectRelTable; |
-                           %topicref;)*))
-">
-<!ENTITY % subjectScheme.attributes
-             "id 
-                        ID 
-                                  #IMPLIED
-              %conref-atts;
-              anchorref 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              %localization-atts;
-              %topicref-atts-for-subjectScheme;
-              %select-atts;"
->
-<!ELEMENT subjectScheme    %subjectScheme.content;>
-<!ATTLIST subjectScheme    
-              %subjectScheme.attributes;
-              %arch-atts;
-              domains 
-                        CDATA 
-                                  "&included-domains;" 
->
-
-<!--                    LONG NAME: Scheme reference                -->
-<!ENTITY % schemeref.content
-                       "((%topicmeta;)?,
-                         (%data.elements.incl;)*)
-">
-<!ENTITY % schemeref.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  'scheme'
-              format 
-                        CDATA 
-                                  'ditamap'
-              scope 
-                        (external |
-                         local |
-                         peer |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT schemeref    %schemeref.content;>
-<!ATTLIST schemeref    %schemeref.attributes;>
-
-
-<!--                    LONG NAME: Has Narrower Relationship       -->
-<!ENTITY % hasNarrower.content
-                       "((%topicmeta;)?,
-                         (%data.elements.incl; |
-                          %subjectdef; |
-                          %subjectHead; |
-                          %topicref;)*)
-">
-<!ENTITY % hasNarrower.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external |
-                         local |
-                         peer |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT hasNarrower    %hasNarrower.content;>
-<!ATTLIST hasNarrower    %hasNarrower.attributes;>
-
-
-<!--                    LONG NAME: Has Kind Relationship           -->
-<!ENTITY % hasKind.content
-                       "((%topicmeta;)?,
-                         (%data.elements.incl; |
-                          %subjectdef; |
-                          %subjectHead; |
-                          %topicref;)*)
-">
-<!ENTITY % hasKind.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external |
-                         local |
-                         peer |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT hasKind    %hasKind.content;>
-<!ATTLIST hasKind    %hasKind.attributes;>
-
-
-<!--                    LONG NAME: Has Part Relationship           -->
-<!ENTITY % hasPart.content
-                       "((%topicmeta;)?,
-                         (%data.elements.incl; |
-                          %subjectdef; |
-                          %subjectHead; |
-                          %topicref;)*)
-">
-<!ENTITY % hasPart.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external |
-                         local |
-                         peer |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT hasPart    %hasPart.content;>
-<!ATTLIST hasPart    %hasPart.attributes;>
-
-
-<!--                    LONG NAME: Has Instance Relationship       -->
-<!ENTITY % hasInstance.content
-                       "((%topicmeta;)?,
-                         (%data.elements.incl; |
-                          %subjectdef; |
-                          %subjectHead; |
-                          %topicref;)*)
-">
-<!ENTITY % hasInstance.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external |
-                         local |
-                         peer |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT hasInstance    %hasInstance.content;>
-<!ATTLIST hasInstance    %hasInstance.attributes;>
-
-
-<!--                    LONG NAME: Has Related Relationship        -->
-<!ENTITY % hasRelated.content
-                       "((%topicmeta;)?,
-                         (%data.elements.incl; |
-                          %subjectdef; |
-                          %subjectHead; |
-                          %topicref;)*)
-">
-<!ENTITY % hasRelated.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              collection-type 
-                        (choice |
-                         sequence |
-                         unordered |
-                         -dita-use-conref-target) 
-                                  'choice'
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              scope 
-                        (external |
-                         local |
-                         peer |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT hasRelated    %hasRelated.content;>
-<!ATTLIST hasRelated    %hasRelated.attributes;>
-
-
-<!--                    LONG NAME: Subject definition              -->
-<!ENTITY % subjectdef.content
-                       "((%topicmeta;)?,
-                         (%data.elements.incl; |
-                          %hasInstance; |
-                          %hasKind; |
-                          %hasNarrower; |
-                          %hasPart; |
-                          %hasRelated; |
-                          %subjectdef; |
-                          %subjectHead; |
-                          %topicref;)*)"
->
-<!ENTITY % subjectdef.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              copy-to 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              collection-type 
-                        (choice | 
-                         family | 
-                         sequence | 
-                         unordered |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local |
-                         peer | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              locktitle 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              linking 
-                        (none | 
-                         normal | 
-                         sourceonly | 
-                         targetonly |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT subjectdef    %subjectdef.content;>
-<!ATTLIST subjectdef    %subjectdef.attributes;>
-
-
-<!--                    LONG NAME: Subject Heading                 -->
-<!-- SKOS equivalent: concept collection -->
-<!ENTITY % subjectHead.content
-                       "((%subjectHeadMeta;)?,
-                         (%data.elements.incl; |
-                          %subjectdef; |
-                          %subjectHead; |
-                          %topicref;)*)"
->
-<!ENTITY % subjectHead.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              collection-type 
-                        (sequence | 
-                         unordered |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              linking 
-                        (normal) 
-                                  'normal'
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT subjectHead    %subjectHead.content;>
-<!ATTLIST subjectHead    %subjectHead.attributes;>
-
-<!--                    LONG NAME: Subject Heading Metadata        -->
-<!ENTITY % subjectHeadMeta.content
-                       "((%navtitle;)?,
-                         (%shortdesc;)?)"
->
-<!ENTITY % subjectHeadMeta.attributes
-             "lockmeta 
-                       (no | 
-                        yes | 
-                        -dita-use-conref-target) 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT subjectHeadMeta    %subjectHeadMeta.content;>
-<!ATTLIST subjectHeadMeta    %subjectHeadMeta.attributes;>
-
-<!--                    LONG NAME: Enumeration definition          -->
-<!ENTITY % enumerationdef.content
-                       "((%elementdef;)?,
-                         (%attributedef;),
-                         (%subjectdef;)+,
-                         (%defaultSubject;)?,
-                         (%data.elements.incl;)*)
-">
-<!ENTITY % enumerationdef.attributes
-             "%id-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              status 
-                        (changed | 
-                         deleted | 
-                         new | 
-                         unchanged | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              base 
-                         CDATA 
-                                  #IMPLIED
-              %base-attribute-extensions;"
->
-<!ELEMENT enumerationdef    %enumerationdef.content;>
-<!ATTLIST enumerationdef    %enumerationdef.attributes;>
-
-
-<!--                    LONG NAME: Element definition              -->
-<!ENTITY % elementdef.content
-                       "((%data.elements.incl;)*)"
->
-<!ENTITY % elementdef.attributes
-             "%id-atts;
-              name
-                        CDATA
-                                  #REQUIRED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              status 
-                        (changed | 
-                         deleted | 
-                         new | 
-                         unchanged | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              translate 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  'no'
-              base 
-                         CDATA 
-                                  #IMPLIED
-              %base-attribute-extensions;"
->
-<!ELEMENT elementdef    %elementdef.content;>
-<!ATTLIST elementdef    %elementdef.attributes;>
-
-
-<!--                    LONG NAME: Attribute definition            -->
-<!ENTITY % attributedef.content
-                       "((%data.elements.incl;)*)"
->
-<!ENTITY % attributedef.attributes
-             "%id-atts;
-              name
-                        CDATA
-                                  #REQUIRED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              status 
-                        (changed | 
-                         deleted | 
-                         new | 
-                         unchanged | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              translate 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  'no'
-              base 
-                         CDATA 
-                                  #IMPLIED
-              %base-attribute-extensions;"
->
-<!ELEMENT attributedef    %attributedef.content;>
-<!ATTLIST attributedef    %attributedef.attributes;>
-
-
-<!--                    LONG NAME: Default Subject                 -->
-<!ENTITY % defaultSubject.content
-                       "((%data.elements.incl;)*)"
->
-<!ENTITY % defaultSubject.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              copy-to 
-                        CDATA 
-                                  #IMPLIED
-              outputclass 
-                        CDATA 
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              locktitle 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              linking 
-                        (none | 
-                         normal | 
-                         sourceonly | 
-                         targetonly |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              toc 
-                        (no | 
-                         yes | 
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              %univ-atts;"
->
-<!ELEMENT defaultSubject    %defaultSubject.content;>
-<!ATTLIST defaultSubject    %defaultSubject.attributes;>
-
-
-<!--                    LONG NAME: Related Subjects                -->
-<!-- To define roles within a relationship, you can specialize
-     the relatedSubjects container and its contained subjectdef elements,
-     possibly setting the linking attribute to targetonly or sourceonly.
-     For instance, a dependency relationship could contain depended-on
-     and dependent subjects.
-     -->
-<!ENTITY % relatedSubjects.content
-                       "((%data.elements.incl; | 
-                          %subjectdef; | 
-                          %topicref;)*)
-">
-<!ENTITY % relatedSubjects.attributes
-             "navtitle 
-                        CDATA 
-                                  #IMPLIED
-              href 
-                        CDATA 
-                                  #IMPLIED
-              keyref 
-                        CDATA 
-                                  #IMPLIED
-              keys 
-                        CDATA 
-                                  #IMPLIED
-              query 
-                        CDATA 
-                                  #IMPLIED
-              collection-type 
-                        (choice | 
-                         family | 
-                         sequence | 
-                         unordered |
-                         -dita-use-conref-target) 
-                                  'family'
-              processing-role
-                        (normal |
-                         resource-only |
-                         -dita-use-conref-target)
-                                  #IMPLIED
-              type 
-                        CDATA 
-                                  #IMPLIED
-              scope 
-                        (external | 
-                         local | 
-                         peer |
-                         -dita-use-conref-target) 
-                                  #IMPLIED
-              format 
-                        CDATA 
-                                  #IMPLIED
-              linking 
-                        (none | 
-                         normal | 
-                         sourceonly | 
-                         targetonly |
-                         -dita-use-conref-target) 
-                                  'normal'
-              %univ-atts;
-">
-<!ELEMENT relatedSubjects    %relatedSubjects.content;>
-<!ATTLIST relatedSubjects    %relatedSubjects.attributes;>
-
-
-<!--                    LONG NAME: Subject Relationship Table      -->
-<!-- Where there are many instances of a subject relationship in which
-     different subjects have defined roles within the relationship,
-     you can use or specialize the subjectRelTable.
-     Note that each row matrixes relationships across columns such that
-     a subject receives relationships to every subject in other columns
-     within the same row. -->
-<!ENTITY % subjectRelTable.content
-                       "((%title;)?,
-                         (%topicmeta;)?,
-                         (%subjectRelHeader;)?,
-                         (%subjectRel;)+)
-">
-<!ENTITY % subjectRelTable.attributes
-             "%topicref-atts-no-toc;
-              %univ-atts;
-">
-<!ELEMENT subjectRelTable    %subjectRelTable.content;>
-<!ATTLIST subjectRelTable    %subjectRelTable.attributes;>
-
-
-<!--                    LONG NAME: Subject Table Header            -->
-<!-- The header defines the role of subjects in each column
-     The role definition can be an informal navtitle or 
-         a formal reference -->
-<!ENTITY % subjectRelHeader.content
-                       "((%subjectRole;)+)
-">
-<!ENTITY % subjectRelHeader.attributes
-             "%univ-atts;
-">
-<!ELEMENT subjectRelHeader    %subjectRelHeader.content;>
-<!ATTLIST subjectRelHeader    %subjectRelHeader.attributes;>
-
-
-<!--                    LONG NAME: Subject Table Row               -->
-<!ENTITY % subjectRel.content
-                       "((%subjectRole;)+)
-">
-<!ENTITY % subjectRel.attributes
-             "%univ-atts;
-">
-<!ELEMENT subjectRel    %subjectRel.content;>
-<!ATTLIST subjectRel    %subjectRel.attributes;>
-
-
-<!--                    LONG NAME: Subject Role                    -->
-<!ENTITY % subjectRole.content
-                       "((%data.elements.incl; |
-                          %subjectdef;|
-                          %topicref;)*)
-">
-<!ENTITY % subjectRole.attributes
-             "%topicref-atts;
-              %univ-atts;
-">
-<!ELEMENT subjectRole    %subjectRole.content;>
-<!ATTLIST subjectRole    %subjectRole.attributes;>
-
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
-
-<!ATTLIST subjectScheme %global-atts;
-    class CDATA "- map/map subjectScheme/subjectScheme ">
-<!ATTLIST schemeref %global-atts;
-    class CDATA "- map/topicref subjectScheme/schemeref ">
-<!ATTLIST hasNarrower %global-atts;
-    class CDATA "- map/topicref subjectScheme/hasNarrower ">
-<!ATTLIST hasKind %global-atts;
-    class CDATA "- map/topicref subjectScheme/hasKind ">
-<!ATTLIST hasPart %global-atts;
-    class CDATA "- map/topicref subjectScheme/hasPart ">
-<!ATTLIST hasInstance %global-atts;
-    class CDATA "- map/topicref subjectScheme/hasInstance ">
-<!ATTLIST hasRelated %global-atts;
-    class CDATA "- map/topicref subjectScheme/hasRelated ">
-<!ATTLIST enumerationdef %global-atts;
-    class CDATA "- map/topicref subjectScheme/enumerationdef ">
-<!ATTLIST elementdef %global-atts;
-    class CDATA "- topic/data subjectScheme/elementdef ">
-<!ATTLIST attributedef %global-atts;
-    class CDATA "- topic/data subjectScheme/attributedef ">
-<!ATTLIST defaultSubject %global-atts;
-    class CDATA "- map/topicref subjectScheme/defaultSubject ">
-<!ATTLIST subjectHead %global-atts;
-    class CDATA "- map/topicref subjectScheme/subjectHead ">
-<!ATTLIST subjectHeadMeta %global-atts;
-    class CDATA "- map/topicmeta subjectScheme/subjectHeadMeta ">
-<!ATTLIST subjectdef %global-atts;
-    class CDATA "- map/topicref subjectScheme/subjectdef ">
-<!ATTLIST relatedSubjects %global-atts;
-    class CDATA "- map/topicref subjectScheme/relatedSubjects ">
-<!ATTLIST subjectRelTable %global-atts;
-    class CDATA "- map/reltable subjectScheme/subjectRelTable ">
-<!ATTLIST subjectRelHeader %global-atts;
-    class CDATA "- map/relrow subjectScheme/subjectRelHeader ">
-<!ATTLIST subjectRel %global-atts;
-    class CDATA "- map/relrow subjectScheme/subjectRel ">
-<!ATTLIST subjectRole %global-atts;
-    class CDATA "- map/relcell subjectScheme/subjectRole ">
-
-<!-- ================== End DITA Subject Scheme Map ============== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/abbreviateDomain.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/abbreviateDomain.ent
deleted file mode 100644
index 0832776..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/abbreviateDomain.ent
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA User Abbreviated Form Domain Entities        -->
-<!--  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//ENTITIES DITA Abbreviated Form Domain//EN"
-      Delivered as file "abbreviateDomain.ent"                     -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the substitution context and domain     -->
-<!--             entity declarations for the Abbreviated Form      -->
-<!--             Domain                                            -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             June 2008                                         -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-<!-- ============================================================= -->
-<!--                    ELEMENT EXTENSION ENTITY DECLARATIONS      -->
-<!-- ============================================================= -->
-
-<!ENTITY % abbrev-d-term
-  "abbreviated-form
-  "
->
-
-<!-- ============================================================= -->
-<!--                    DOMAIN ENTITY DECLARATION                  -->
-<!-- ============================================================= -->
-
-
-<!ENTITY abbrev-d-att 
-  "(topic abbrev-d)"
->
-
-<!-- ================== End Abbreviated Form Domain Entities ===== -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/abbreviateDomain.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/abbreviateDomain.mod
deleted file mode 100644
index 673c3d7..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/abbreviateDomain.mod
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Abbreviated Form Domain                      -->
-<!--  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//ELEMENTS DITA Abbreviated Form Domain//EN"
-      Delivered as file "abbreviateDomain.mod"                     -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the elements and specialization         -->
-<!--             attributes for the Abbreviated Form Domain        -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             June 2008                                         -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   ELEMENT NAME ENTITIES                       -->
-<!-- ============================================================= -->
-
- 
-<!ENTITY % abbreviated-form   "abbreviated-form"                     >
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS                       -->
-<!-- ============================================================= -->
-
-
-<!--                    LONG NAME: Abbreviated Form                -->
-<!ENTITY % abbreviated-form.content
-                       "EMPTY"
->
-<!ENTITY % abbreviated-form.attributes
-             "keyref 
-                        CDATA 
-                                  #REQUIRED
-              %univ-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT abbreviated-form    %abbreviated-form.content;>
-<!ATTLIST abbreviated-form    %abbreviated-form.attributes;>
-
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
- 
-
-<!ATTLIST abbreviated-form %global-atts;  class CDATA "+ topic/term abbrev-d/abbreviated-form "  >
- 
-<!-- ================== End DITA Abbreviated Form Domain ========= -->
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/concept.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/concept.dtd
deleted file mode 100644
index 8076b5c..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/concept.dtd
+++ /dev/null
@@ -1,244 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Concept 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 Concept//EN"
-      Delivered as file "concept.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 Concept//EN"                        -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITA Concepts                     -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             March 2001                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2005, 2009.              -->
-<!--             (C) Copyright IBM Corporation 2001, 2004.         -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2006.06.07 RDA: Added indexing domain                      -->
-<!--    2006.06.21 RDA: Added props attribute extensions           -->
-<!--    2008.02.12 RDA: Modify imbeds to use specific 1.2 version  -->
-<!--    2008.04.15 RDA: Added hazard domain                        -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    TOPIC ENTITY DECLARATIONS                  -->
-<!-- ============================================================= -->
-
-<!ENTITY % concept-dec     
-  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Concept//EN" 
-         "concept.ent"
->%concept-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 % concept-info-types 
-                        "concept"                                    >
-
-
-<!-- ============================================================= -->
-<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
-<!-- ============================================================= -->
-<!--                    Must be declared ahead of the DTDs, which
-                        puts @domains first in order               -->
-
-<!ENTITY included-domains 
-                          "&concept-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; 
-  "
->
-
-
-<!-- ============================================================= -->
-<!--                    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;
-
-
-<!-- ============================================================= -->
-<!--                    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;
-
-<!-- ================== End DITA Concept DTD  ==================== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/concept.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/concept.ent
deleted file mode 100644
index 11d1de7..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/concept.ent
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Concept Entity                               -->
-<!--  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//ENTITIES DITA Concept//EN"
-      Delivered as file "concept.ent"                              -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Declaring the domain entity for concept topics    -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             February 2008                                     -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    CONCEPT ENTITIES                           -->
-<!-- ============================================================= -->
-
-<!ENTITY concept-att     
-  "(topic concept)"
->
-
-
-<!-- ================== End Concept Entities ===================== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/concept.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/concept.mod
deleted file mode 100644
index ec2149e..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/concept.mod
+++ /dev/null
@@ -1,183 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Concept                                      -->
-<!--  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//ELEMENTS DITA Concept//EN"
-      Delivered as file "concept.mod"                              -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    Define elements and specialization atttributes    -->
-<!--             for Concepts                                      -->
-<!--                                                               -->
-<!-- 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: Removed old declaration for                -->
-<!--                    conceptClasses entity                      -->
-<!--    2006.06.07 RDA: Added <abstract> element                   -->
-<!--    2006.06.07 RDA: Make universal attributes universal        -->
-<!--                      (DITA 1.1 proposal #12)                  -->
-<!--    2006.11.30 RDA: Remove #FIXED from DITAArchVersion         -->
-<!--    2007.12.01 EK:  Reformatted DTD modules for DITA 1.2       -->
-<!--    2008.01.30 RDA: Replace @conref defn. with %conref-atts;   -->
-<!--    2008.02.13 RDA: Create .content and .attributes entities   -->
-<!--    2008.05.06 RDA: Added conbodydiv                           -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                   ARCHITECTURE ENTITIES                       -->
-<!-- ============================================================= -->
-
-<!-- default namespace prefix for DITAArchVersion attribute can be
-     overridden through predefinition in the document type shell   -->
-<!ENTITY % DITAArchNSPrefix
-  "ditaarch"
->
-
-<!-- must be instanced on each topic type                          -->
-<!ENTITY % arch-atts 
-             "xmlns:%DITAArchNSPrefix; 
-                        CDATA
-                                  #FIXED 'http://dita.oasis-open.org/architecture/2005/'
-              %DITAArchNSPrefix;:DITAArchVersion
-                        CDATA
-                                  '1.2'
-"
->
-
-
-<!-- ============================================================= -->
-<!--                   SPECIALIZATION OF DECLARED ELEMENTS         -->
-<!-- ============================================================= -->
-
-
-<!ENTITY % concept-info-types 
-  "%info-types;
-  "
->
-
-
-<!-- ============================================================= -->
-<!--                   ELEMENT NAME ENTITIES                       -->
-<!-- ============================================================= -->
- 
-
-<!ENTITY % concept     "concept"                                     >
-<!ENTITY % conbody     "conbody"                                     >
-<!ENTITY % conbodydiv  "conbodydiv"                                  >
-
-
-<!-- ============================================================= -->
-<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
-<!-- ============================================================= -->
-
-
-<!ENTITY included-domains 
-  ""
->
-
-
-<!-- ============================================================= -->
-<!--                    ELEMENT DECLARATIONS                       -->
-<!-- ============================================================= -->
-
-
-<!--                    LONG NAME: Concept                         -->
-<!ENTITY % concept.content
-                       "((%title;), 
-                         (%titlealts;)?,
-                         (%abstract; | 
-                          %shortdesc;)?, 
-                         (%prolog;)?, 
-                         (%conbody;)?, 
-                         (%related-links;)?,
-                         (%concept-info-types;)* )"
->
-<!ENTITY % concept.attributes
-             "id 
-                        ID 
-                                  #REQUIRED
-              %conref-atts;
-              %select-atts;
-              %localization-atts;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT concept    %concept.content;>
-<!ATTLIST concept    
-              %concept.attributes;
-              %arch-atts;
-              domains 
-                        CDATA 
-                                  "&included-domains;">
-
-
-
-<!--                    LONG NAME: Concept Body                    -->
-<!ENTITY % conbody.content
-                       "((%body.cnt;)*, 
-                         (%section; |
-                          %example; |
-                          %conbodydiv;)* )"
->
-<!ENTITY % conbody.attributes
-             "%id-atts;
-              %localization-atts;
-              base 
-                        CDATA 
-                                  #IMPLIED
-              %base-attribute-extensions;
-              outputclass 
-                        CDATA 
-                                  #IMPLIED"
->
-<!ELEMENT conbody    %conbody.content;>
-<!ATTLIST conbody    %conbody.attributes;>
-
-<!--                    LONG NAME: Concept Body division           -->
-<!ENTITY % conbodydiv.content
-                       "(%example; |
-                         %section;)*"
->
-<!ENTITY % conbodydiv.attributes
-             "%univ-atts;
-              outputclass 
-                        CDATA
-                                  #IMPLIED"
->
-<!ELEMENT conbodydiv    %conbodydiv.content;>
-<!ATTLIST conbodydiv    %conbodydiv.attributes;>
- 
-<!-- ============================================================= -->
-<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
-<!-- ============================================================= -->
-
-<!ATTLIST concept     %global-atts;  class CDATA "- topic/topic concept/concept ">
-<!ATTLIST conbody     %global-atts;  class CDATA "- topic/body  concept/conbody ">
-<!ATTLIST conbodydiv  %global-atts;  class CDATA "- topic/bodydiv concept/conbodydiv ">
-
-<!-- ================== End DITA Concept  ======================== -->
-
-
-
-
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/ditabase.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/ditabase.dtd
deleted file mode 100644
index 556099a..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/ditabase.dtd
+++ /dev/null
@@ -1,331 +0,0 @@
-<?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   
-                        CDATA                            
-                                  #IMPLIED
-              %global-atts;
->
-
-
-<!-- ================== End DITA Base DTD  ======================= -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/generalTask.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/generalTask.dtd
deleted file mode 100644
index 93898ed..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/generalTask.dtd
+++ /dev/null
@@ -1,242 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA General Task 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 General Task//EN"
-      Delivered as file "generalTask.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 General Task//EN"                   -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe unconstrained DITA Tasks          -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             April 2008                                        -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2008, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    TOPIC ENTITY DECLARATIONS                  -->
-<!-- ============================================================= -->
-
-<!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 % task-info-types 
-                        "task"                                       >
-
-
-<!-- ============================================================= -->
-<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
-<!-- ============================================================= -->
-<!--                    Must be declared ahead of the DTDs, which
-                        puts @domains first in order               -->
-
-<!ENTITY included-domains 
-                          "&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;
-  "
->
-
-<!-- ============================================================= -->
-<!--                    CONTENT CONSTRAINT INTEGRATION             -->
-<!-- ============================================================= -->
-
-<!-- Generic task does not include any constraints                 -->
-
-<!-- ============================================================= -->
-<!--                    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 task to get specific elements        -->
-<!ENTITY % task-typemod PUBLIC 
-"-//OASIS//ELEMENTS DITA 1.2 Task//EN" 
-"task.mod"                                                           >
-%task-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;
-
-
-<!-- ================== End DITA Task DTD  ======================= -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/glossary.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/glossary.dtd
deleted file mode 100644
index 43f47ec..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/glossary.dtd
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Glossary 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 Glossary//EN"
-      Delivered as file "glossary.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 Glossary//EN"                       -->
-
-<!-- NOTE: The glossary.dtd file was misnamed in DITA 1.1. As of 
-     DITA 1.2, this file simply redirects to the correctly-named
-     file.
-  -->
-
-<!ENTITY % glossentryDtd
-  PUBLIC "-//OASIS//DTD DITA Glossary Entry//EN" 
-         "glossentry.dtd"
->%glossentryDtd;
-
-<!-- ================== End DITA Glossary DTD  =================== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/glossary.ent b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/glossary.ent
deleted file mode 100644
index e581bc4..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/glossary.ent
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Glossary Entity                              -->
-<!--  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//ENTITIES DITA Glossary//EN"
-      Delivered as file "glossary.ent"                             -->
-
-<!-- NOTE: The glossary.ent file was misnamed in DITA 1.1. As of 
-     DITA 1.2, this file simply redirects to the correctly-named
-     file.
-  -->
-
-<!ENTITY % glossentryEnt
-  PUBLIC "-//OASIS//ENTITIES DITA Glossary Entry//EN" 
-         "glossentry.ent"
->%glossentryEnt;
-
-
-
-<!-- ================== End Glossary Entities ==================== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/glossary.mod b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/glossary.mod
deleted file mode 100644
index 38a7841..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/glossary.mod
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Glossary                                     -->
-<!--  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//ELEMENTS DITA Glossary//EN"
-      Delivered as file "glossary.mod"                             -->
-
-<!-- NOTE: The glossary.ent file was misnamed in DITA 1.1. As of 
-     DITA 1.2, this file simply redirects to the correctly-named
-     file.
-  -->
-
-<!ENTITY % glossentryMod
-  PUBLIC "-//OASIS//ELEMENTS DITA Glossary Entry//EN" 
-         "glossentry.mod"
->%glossentryMod;
- 
-<!-- ================== End DITA Glossary ======================== -->
\ No newline at end of file
diff --git a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/glossentry.dtd b/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/glossentry.dtd
deleted file mode 100644
index ea2f399..0000000
--- a/sourceediting/plugins/org.eclipse.wst.xml.vex.dita/dita12/dtd1.2/technicalContent/dtd/glossentry.dtd
+++ /dev/null
@@ -1,255 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--                    HEADER                                     -->
-<!-- ============================================================= -->
-<!--  MODULE:    DITA Glossary Entry 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 Glossary Entry//EN"
-      Delivered as file "glossentry.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 Glossary Entry//EN"                       -->
-
-<!-- ============================================================= -->
-<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
-<!--                                                               -->
-<!-- PURPOSE:    DTD to describe DITA Glossary Entry topics        -->
-<!--                                                               -->
-<!-- ORIGINAL CREATION DATE:                                       -->
-<!--             June 2006                                         -->
-<!--                                                               -->
-<!--             (C) Copyright OASIS Open 2006, 2009.              -->
-<!--             All Rights Reserved.                              -->
-<!--                                                               -->
-<!--  UPDATES:                                                     -->
-<!--    2008.02.01 RDA: Added references to concept.ent and        -->
-<!--                    glossary.ent                               -->
-<!--    2008.02.12 RDA: Modify imbeds to use specific 1.2 version  -->
-<!--    2008.04.15 RDA: Added hazard domain                        -->
-<!--    2009.09.21 WEK: Renamed to glossentry.dtd                  -->
-<!-- ============================================================= -->
-
-
-<!-- ============================================================= -->
-<!--                    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;
-
-<!-- ============================================================= -->
-<!--                    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;
- 