| 6. DTD for mapping file
 (1)  oracleMapXmlToDB.dtd 
        - DTD for mapping file for Oracle databasesThe elements and attributes that are specific to Oracle alone are  
        italicized.  
        -- (sequence-reference-information, map-seq - specific to Oracle)
<!ELEMENT map-rules       (table-reference-information |
                           procedure-reference-information |
                           sequence-reference-information |
                           map |
                           map-const |
                           map-param-const |
                           insertion-map |
                           map-seq |
                           xml-propagation-rule |
                           db-propagation-rule)+>
<!ATTLIST map-rules
          root-element    CDATA #REQUIRED
          map-version     CDATA #IMPLIED >
<!ELEMENT table-reference-information    EMPTY>
<!ATTLIST table-reference-information
          table-reference CDATA #REQUIRED
          table-name      CDATA #REQUIRED
          object-owner    CDATA #IMPLIED >
-- (package-name - specific to Oracle))
<!ELEMENT procedure-reference-information    EMPTY>
<!ATTLIST procedure-reference-information
          proc-reference  CDATA #REQUIRED
          proc-name       CDATA #REQUIRED
          package-name    CDATA #IMPLIED
          object-owner    CDATA #IMPLIED >
<!ELEMENT sequence-reference-information    EMPTY>
<!ATTLIST sequence-reference-information
          seq-reference   CDATA #REQUIRED
          seq-name        CDATA #REQUIRED
          object-owner    CDATA #IMPLIED >
<!ELEMENT map                   EMPTY>
<!ATTLIST map
          element-name           CDATA #REQUIRED
          attribute-name         CDATA #IMPLIED
          use-pcdata             (yes | no) "no"
          table-reference        CDATA #IMPLIED
          proc-reference         CDATA #IMPLIED
          column-name            CDATA #IMPLIED
          param-name             CDATA #IMPLIED
          source-datetime-format CDATA #IMPLIED>
<!ELEMENT map-const             EMPTY>
<!ATTLIST map-const
          element-name           CDATA #REQUIRED
          table-reference        CDATA #IMPLIED
          proc-reference         CDATA #IMPLIED
          column-name            CDATA #IMPLIED
          param-name             CDATA #IMPLIED
          constant-value         CDATA #REQUIRED
          source-datetime-format CDATA #IMPLIED>
<!ELEMENT map-param-const       EMPTY>
<!ATTLIST map-param-const
          element-name           CDATA #REQUIRED
          table-reference        CDATA #IMPLIED
          proc-reference         CDATA #IMPLIED
          column-name            CDATA #IMPLIED
          param-name             CDATA #IMPLIED
          input-param-posn       CDATA #REQUIRED
          source-datetime-format CDATA #IMPLIED>
<!ELEMENT insertion-map         EMPTY>
<!ATTLIST insertion-map
          element-name        CDATA #REQUIRED
          table-reference     CDATA #IMPLIED
          proc-reference      CDATA #IMPLIED >
-- (map-seq - specific to Oracle)
<!ELEMENT map-seq              EMPTY>
<!ATTLIST map-seq
          element-name      CDATA #REQUIRED
          seq-reference     CDATA #REQUIRED
          table-reference   CDATA #IMPLIED
          proc-reference    CDATA #IMPLIED
          column-name       CDATA #IMPLIED
          param-name        CDATA #IMPLIED >
<!ELEMENT db-propagation-rule       (link+)>
<!ATTLIST db-propagation-rule
          parent-reference    CDATA #REQUIRED
          child-reference     CDATA #REQUIRED>
<!ELEMENT link                       EMPTY>
<!ATTLIST link
          parent-column-name        CDATA #IMPLIED
          parent-param-name         CDATA #IMPLIED
          use-parent-return-value   CDATA #IMPLIED
          child-column-name         CDATA #IMPLIED
          child-param-name          CDATA #IMPLIED
          source-datetime-format    CDATA #IMPLIED>
<!ELEMENT xml-propagation-rule       (xml-link+)>
<!ATTLIST xml-propagation-rule
          parent-element    CDATA #REQUIRED
          child-element     CDATA #REQUIRED>
<!ELEMENT xml-link                    EMPTY>
<!ATTLIST xml-link
          parent-attribute-name      CDATA #IMPLIED
          child-attribute-name       CDATA #IMPLIED>
 
 (2)  sqlserverMapXmlToDB.dtd 
        - DTD for mapping file for SQL Server databasesThe elements and attributes that are specific to SQL Server alone are 
        italicized.  
        -- (map-identity - specific to SQL Server)
<!ELEMENT map-rules       (table-reference-information |
                           procedure-reference-information |
                           map |
                           map-const |
                           map-param-const |
                           insertion-map |
                           map-identity |
                           xml-propagation-rule |
                           db-propagation-rule)+>
<!ATTLIST map-rules
          root-element    CDATA #REQUIRED
          map-version     (1.0) "1.0">
-- (database-name - specific to SQL Server)
<!ELEMENT table-reference-information    EMPTY>
<!ATTLIST table-reference-information
          table-reference CDATA #REQUIRED
          table-name      CDATA #REQUIRED
          database-name   CDATA #IMPLIED
          object-owner    CDATA #IMPLIED >
-- (database-name - specific to SQL Server)
<!ELEMENT procedure-reference-information    EMPTY>
<!ATTLIST procedure-reference-information
          proc-reference  CDATA #REQUIRED
          proc-name       CDATA #REQUIRED
          database-name   CDATA #IMPLIED
          object-owner    CDATA #IMPLIED >
<!ELEMENT map                   EMPTY>
<!ATTLIST map
          element-name           CDATA #REQUIRED
          attribute-name         CDATA #IMPLIED
          use-pcdata             (yes | no) "no"
          table-reference        CDATA #IMPLIED
          proc-reference         CDATA #IMPLIED
          column-name            CDATA #IMPLIED
          param-name             CDATA #IMPLIED
          source-datetime-format CDATA #IMPLIED>
<!ELEMENT map-const             EMPTY>
<!ATTLIST map-const
          element-name           CDATA #REQUIRED
          table-reference        CDATA #IMPLIED
          proc-reference         CDATA #IMPLIED
          column-name            CDATA #IMPLIED
          param-name             CDATA #IMPLIED
          constant-value         CDATA #REQUIRED
          source-datetime-format CDATA #IMPLIED>
<!ELEMENT map-param-const       EMPTY>
<!ATTLIST map-param-const
          element-name           CDATA #REQUIRED
          table-reference        CDATA #IMPLIED
          proc-reference         CDATA #IMPLIED
          column-name            CDATA #IMPLIED
          param-name             CDATA #IMPLIED
          input-param-posn       CDATA #REQUIRED
          source-datetime-format CDATA #IMPLIED>
-- (map-identity - specific to SQL Server)
<!ELEMENT map-identity          EMPTY>
<!ATTLIST map-identity
          element-name        CDATA #REQUIRED
          table-reference     CDATA #REQUIRED
          column-name         CDATA #REQUIRED
          set-identity-insert (on | off) >
<!ELEMENT insertion-map         EMPTY>
<!ATTLIST insertion-map
          element-name        CDATA #REQUIRED
          table-reference     CDATA #IMPLIED
          proc-reference      CDATA #IMPLIED >
<!ELEMENT db-propagation-rule        (link+)>
<!ATTLIST db-propagation-rule
          parent-reference    CDATA #REQUIRED
          child-reference     CDATA #REQUIRED>
<!ELEMENT link                       EMPTY>
<!ATTLIST link
          parent-column-name         CDATA #IMPLIED
          parent-param-name          CDATA #IMPLIED
          use-parent-return-value    CDATA #IMPLIED
          child-column-name          CDATA #IMPLIED
          child-param-name           CDATA #IMPLIED
          source-datetime-format     CDATA #IMPLIED>
<!ELEMENT xml-propagation-rule       (xml-link+)>
<!ATTLIST xml-propagation-rule
          parent-element    CDATA #REQUIRED
          child-element     CDATA #REQUIRED>
<!ELEMENT xml-link                    EMPTY>
<!ATTLIST xml-link
          parent-attribute-name      CDATA #IMPLIED
          child-attribute-name       CDATA #IMPLIED>
  |