<?xml version="1.0" encoding="UTF-8"?>
<!-- ================================================================ -->
<!-- This is the WebCGM XML Companion File DTD for use with           -->
<!-- WebCGM 2.1                                                       -->
<!-- ================================================================ -->
<!-- Original issue: March 2008                                       -->
<!--                                                                  -->
<!-- Revision history:                                                -->
<!--        June 2008 - updated for CD02 changes to DOM and XCF.      -->
<!--                                                                  -->
<!-- ================================================================ -->
<!--                                                                  -->
<!-- ================================================================ -->
<!-- Application specific entities                                    -->
<!-- Application groups define application specific attributes here   -->
<!-- and define the stubs for application specific elements that      -->
<!-- will be defined later in the DTD                                 -->
<!--                                                                  -->

<!ENTITY % webcgmEXT ""                                                 >
<!ENTITY % webcgmAttEXT ""                                              >
<!ENTITY % layerEXT "EMPTY"                                             >
<!ENTITY % layerAttEXT ""                                               >
<!ENTITY % grobjectEXT ""                                               >
<!ENTITY % grobjectAttEXT ""                                            >
<!ENTITY % paraEXT ""                                                   >
<!ENTITY % paraAttEXT ""                                                >
<!ENTITY % subparaEXT ""                                                >
<!ENTITY % subparaAttEXT ""                                             >
<!ENTITY % linkuriEXT "EMPTY"                                           >

<!ENTITY % linkuriAttEXT ""                                             >
<!ENTITY % bindByIdEXT ""                                               >
<!ENTITY % bindByIdAttEXT ""                                            >
<!ENTITY % bindByNameEXT ""                                             >
<!ENTITY % bindByNameAttEXT ""                                          >
<!ENTITY % styleProperties
                   "text-size            CDATA        #IMPLIED
                    fill-color           CDATA        #IMPLIED
                    intensity            CDATA        #IMPLIED
                    stroke-color         CDATA        #IMPLIED
                    stroke-weight        CDATA        #IMPLIED
                    text-color           CDATA        #IMPLIED
                    text-font            CDATA        #IMPLIED
                    raster-intensity     CDATA        #IMPLIED
                    stroke-type          CDATA        #IMPLIED
                    stroke-offset        CDATA        #IMPLIED
                    interior-style       CDATA        #IMPLIED
                    hatch-index          CDATA        #IMPLIED
                    pattern-index        CDATA        #IMPLIED
                    edge-visibility      CDATA        #IMPLIED
                    fill-offset          CDATA        #IMPLIED"         >
<!ENTITY % geometricTransform
                   "translate            CDATA        #IMPLIED
                    rotate               CDATA        #IMPLIED
                    scale                CDATA        #IMPLIED
                    setTransform               CDATA        #IMPLIED"   >
<!--                                                                  -->
<!ELEMENT webcgm ( (layer | grobject | para | subpara | 
                    bindById | bindByName %webcgmEXT;)* )               >
<!ATTLIST webcgm id       ID    #IMPLIED
                 version  CDATA #FIXED '2.1'
                 filename CDATA #IMPLIED
                 background-color CDATA #IMPLIED
                 pictureVisibility ( on | off ) #IMPLIED
                 xmlns    CDATA #FIXED "http://www.cgmopen.org/schema/webcgm/"
                 %styleProperties;
                 %webcgmAttEXT;                                         >

<!ELEMENT layer %layerEXT;                                              >
<!ATTLIST layer apsid         ID           #REQUIRED
                layerdesc     CDATA        #IMPLIED
                visibility    ( on | off | inherit) #IMPLIED
                interactivity ( on | off | inherit) #IMPLIED
                %styleProperties;
                %geometricTransform;
                %layerAttEXT;                                           >

<!ELEMENT grobject ( linkuri %grobjectEXT; )*                           >
<!ATTLIST grobject apsid         ID           #REQUIRED
                   screentip     CDATA        #IMPLIED
                   region        CDATA        #IMPLIED
                   viewcontext   CDATA        #IMPLIED
                   visibility    ( on | off | inherit) #IMPLIED
                   interactivity ( on | off | inherit) #IMPLIED
                   %styleProperties;
                   %geometricTransform;
                   %grobjectAttEXT;                                     >

<!ELEMENT linkuri %linkuriEXT;                                          >
<!ATTLIST linkuri uri      CDATA #REQUIRED
                  behavior CDATA #IMPLIED
                  desc     CDATA #IMPLIED                               
                  %linkuriAttEXT;                                       >

<!ELEMENT para ( linkuri %paraEXT; )*                                   >
<!ATTLIST para apsid       ID           #REQUIRED
               screentip     CDATA        #IMPLIED
               region        CDATA        #IMPLIED
               viewcontext   CDATA        #IMPLIED
               visibility    ( on | off | inherit) #IMPLIED
               interactivity ( on | off | inherit) #IMPLIED
               %styleProperties;
               %geometricTransform;
               %paraAttEXT;                                             >

<!ELEMENT subpara ( linkuri %subparaEXT; )*                             >
<!ATTLIST subpara apsid         ID           #REQUIRED
                  screentip     CDATA        #IMPLIED
                  region        CDATA        #IMPLIED
                  viewcontext   CDATA        #IMPLIED
                  visibility    ( on | off | inherit) #IMPLIED
                  interactivity ( on | off | inherit) #IMPLIED
                  %styleProperties;
                  %geometricTransform;
                  %subparaAttEXT;                                       >

<!ELEMENT bindById ( linkuri %bindByIdEXT; )*                           >
<!ATTLIST bindById apsid         ID           #REQUIRED
                   screentip     CDATA        #IMPLIED
                   layerdesc     CDATA        #IMPLIED
                   region        CDATA        #IMPLIED
                   viewcontext   CDATA        #IMPLIED
                   visibility    ( on | off | inherit) #IMPLIED
                   interactivity ( on | off | inherit) #IMPLIED
                   %styleProperties;
                   %geometricTransform;
                   %bindByIdAttEXT;                                     >

<!ELEMENT bindByName ( linkuri %bindByNameEXT; )*                       >
<!ATTLIST bindByName apstargetname CDATA        #REQUIRED
                     screentip     CDATA        #IMPLIED
                     layerdesc     CDATA        #IMPLIED
                     region        CDATA        #IMPLIED
                     viewcontext   CDATA        #IMPLIED
                     visibility    ( on | off | inherit) #IMPLIED
                     interactivity ( on | off | inherit) #IMPLIED
                     %styleProperties;
                     %geometricTransform;
                     %bindByNameAttEXT;                                 >
<!--                                                                  -->
<!-- Define content models for application specific elements          -->
<!--                                                                  -->