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

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

OR

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

      Delivered as file "ditacomponent.mod"                        -->

<!-- ============================================================= -->
<!--                   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
                       'http://dita.oasis-open.org/architecture/2005/'
             %DITAArchNSPrefix;:DITAArchVersion
                        CDATA
                       '1.3'">
<!-- ============================================================= -->
<!--                   SPECIALIZATION OF DECLARED ELEMENTS         -->
<!-- ============================================================= -->

<!-- ============================================================= -->
<!--                   ELEMENT NAME ENTITIES                       -->
<!-- ============================================================= -->
<!ENTITY % ditacomponent "ditacomponent">
<!ENTITY % compbody "compbody">
<!ENTITY % reusable-content "reusable-content">
<!ENTITY % description "description">
<!-- ============================================================= -->
<!--                    SHARED ATTRIBUTE LISTS                     -->
<!-- ============================================================= -->
<!--                    Provide an alternative set of univ-atts 
                        that allows importance to be redefined 
                        locally                                    -->
<!ENTITY % univ-atts-no-importance-task '%id-atts;
             platform   CDATA                            #IMPLIED
             product    CDATA                            #IMPLIED
             audience   CDATA                            #IMPLIED
             otherprops CDATA                            #IMPLIED
             rev        CDATA                            #IMPLIED
             status     (new | changed | deleted |   
                         unchanged)                      #IMPLIED
             translate  (yes | no)                       #IMPLIED
             xml:lang   NMTOKEN                          #IMPLIED'>
<!ENTITY % comp-info-types "%info-types;">
<!-- ============================================================= -->
<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
<!-- ============================================================= -->
<!ENTITY included-domains "">
<!-- ============================================================= -->
<!--                    ELEMENT DECLARATIONS                       -->
<!-- ============================================================= -->
<!--                    LONG NAME: Component                       -->
<!ELEMENT ditacomponent  (  (%description;), (%prolog;)?, (%compbody;))>
<!ATTLIST ditacomponent
	id ID #REQUIRED
	conref CDATA #IMPLIED
	%select-atts; 
	xml:lang NMTOKEN #IMPLIED
	%arch-atts; 
	outputclass CDATA #IMPLIED
	domains CDATA "&included-domains;"
>


<!--                    LONG NAME: Description                          -->
<!ELEMENT description (%title.cnt;)*>
<!ATTLIST description
	%univ-atts; 
	outputclass CDATA #IMPLIED  >
	
<!--                    LONG NAME: Component Body                       -->
<!ELEMENT compbody (%required-cleanup;|%reusable-content;)?>
<!ATTLIST compbody
	%id-atts; 
	translate (yes | no) #IMPLIED
	xml:lang NMTOKEN #IMPLIED
	outputclass CDATA #IMPLIED
>

<!--                    LONG NAME: Reusable Content                     -->
<!ELEMENT reusable-content ANY >
<!ATTLIST reusable-content 
    %global-atts;
    class CDATA "- topic/required-cleanup ditacomponent/reusable-component "
>

<!-- ============================================================= -->
<!--                    SPECIALIZATION ATTRIBUTE DECLARATIONS      -->
<!-- ============================================================= -->
<!ATTLIST ditacomponent
	%global-atts; 
	class CDATA "- topic/topic ditacomponent/ditacomponent "
>
<!ATTLIST compbody
	%global-atts; 
	class CDATA "- topic/body ditacomponent/compbody "
>
<!ATTLIST description
	%global-atts; 
	class CDATA "- topic/title ditacomponent/description "
>

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