<?xml encoding="utf-8"?>
<!--
 | (C) Copyright IBM Corporation 2005, 2006 All Rights Reserved.
 | This file is a specialization of DITA 3.0. See license.txt
 | for disclaimers and permissions.
 |
 | This file is part of the DITA Open Toolkit project hosted on
 | Sourceforge.net. See the accompanying license.txt file for 
 | applicable licenses.
 |
 | The Darwin Information Typing Architecture (DITA) was orginated by
 | IBM's XML Workgroup and ID Workbench tools team.
 |
 | Refer to this file by the following public identfier or an appropriate
 | system identifier:
 |
 |   PUBLIC "-//IBM//DTD DITA CSHelp//EN"
 |
 | Release history (vrm):
 |   1.0.0 Initial release, December 2005
 *-->

<!--vocabulary declarations-->
<!ENTITY % ui-d-dec     PUBLIC 
"-//OASIS//ENTITIES DITA User Interface Domain//EN" 
"../../../dtd/uiDomain.ent"                                         >
%ui-d-dec;

<!ENTITY % hi-d-dec     PUBLIC 
"-//OASIS//ENTITIES DITA Highlight Domain//EN" 
"../../../dtd/highlightDomain.ent"                                  >
%hi-d-dec;

<!ENTITY % pr-d-dec     PUBLIC 
"-//OASIS//ENTITIES DITA Programming Domain//EN" 
"../../../dtd/programmingDomain.ent"                                >
%pr-d-dec;

<!ENTITY % sw-d-dec     PUBLIC 
"-//OASIS//ENTITIES DITA Software Domain//EN" 
"../../../dtd/softwareDomain.ent"                                   >
%sw-d-dec;

<!ENTITY % ut-d-dec     PUBLIC 
"-//OASIS//ENTITIES DITA Utilities Domain//EN" 
"../../../dtd/utilitiesDomain.ent"                                  >
%ut-d-dec;


<!--vocabulary substitution (one for each extended base element,
    with the name of the domain(s) in which the extension was declared)-->
<!ENTITY % pre     "pre     | %pr-d-pre;     | %sw-d-pre;     | %ui-d-pre;">
<!ENTITY % keyword "keyword | %pr-d-keyword; | %sw-d-keyword; | %ui-d-keyword;">
<!ENTITY % ph      "ph      | %pr-d-ph;      | %sw-d-ph;      | %hi-d-ph; | %ui-d-ph;">
<!ENTITY % fig     "fig     | %pr-d-fig;     | %ut-d-fig;">
<!ENTITY % dl      "dl      | %pr-d-dl;">

<!--Allow nesting of only cshelp infotype-->
<!ENTITY % cshelp-info-types "cshelp">

<!--vocabulary attributes (must be declared ahead of the dtds, which puts @domains first in order) -->
<!ENTITY included-domains "&ui-d-att; &hi-d-att; &pr-d-att; &sw-d-att; &ut-d-att;">

<!--Embed topic to get generic elements -->
<!ENTITY % topic-type PUBLIC 
"-//OASIS//ELEMENTS DITA Topic//EN" 
"../../../dtd/topic.mod">
  %topic-type;

<!--Embed reference to get specific elements -->
<!ENTITY % cshelp-typemod PUBLIC
"-//IBM//ELEMENTS DITA CSHelp//EN"
"cshelp.mod">
  %cshelp-typemod;


<!--vocabulary definitions-->
<!ENTITY % ui-d-def     PUBLIC 
"-//OASIS//ELEMENTS DITA User Interface Domain//EN" 
"../../../dtd/uiDomain.mod">
%ui-d-def;

<!ENTITY % hi-d-def     PUBLIC 
"-//OASIS//ELEMENTS DITA Highlight Domain//EN" 
"../../../dtd/highlightDomain.mod">
%hi-d-def;

<!ENTITY % pr-d-def     PUBLIC 
"-//OASIS//ELEMENTS DITA Programming Domain//EN" 
"../../../dtd/programmingDomain.mod">
%pr-d-def;

<!ENTITY % sw-d-def     PUBLIC 
"-//OASIS//ELEMENTS DITA Software Domain//EN" 
"../../../dtd/softwareDomain.mod">
%sw-d-def;

<!ENTITY % ut-d-def     PUBLIC 
"-//OASIS//ELEMENTS DITA Utilities Domain//EN" 
"../../../dtd/utilitiesDomain.mod">
%ut-d-def;
