Integrate DITA 1.3 MathML into your custom topic shell (if you are not currently using MathML)

You must already have completed the Update your custom topic shell task.

You should also have decided to set up your system for the DITA 1.3 integration of MathML. Even though you are not currently using MathML, IXIASOFT strongly recommends that you lay the groundwork for potential future use and bring your IXIASOFT CCMS into full DITA 1.3 conformance.

These steps assume a plugin name of com.company.dita.dtd and a topic shell name of CompanyDitabase.dtd. The steps also assume that com.company.dita.dtd is in system/plugins.

  1. Check out and open system/plugins/com.company.dita.dtd/dtd/CompanyDitabase.dtd.
  2. Within the DOMAIN ENTITY DECLARATIONS section, find the section that begins <!-- ================== MathML Integration ======================= -->.
  3. Edit the system id paths in the mathml-d-dec and equation-d-dec entity declarations as follows.
    <!ENTITY % mathml-d-dec 
      PUBLIC "-//OASIS//ENTITIES DITA 1.3 MathML Domain//EN" 
             "../../org.oasis-open.dita.v1_3/dtd/technicalContent/dtd/
             ¶mathmlDomain.ent"
    >%mathml-d-dec;
    
    <!ENTITY % equation-d-dec 
      PUBLIC "-//OASIS//ENTITIES DITA 1.3 Equation Domain//EN" 
             "../../org.oasis-open.dita.v1_3/dtd/technicalContent/dtd/
             ¶equationDomain.ent"
    >%equation-d-dec;
    Note: The ¶ symbol indicates a manual line break that has been inserted here for formatting. There should be no actual line break in the code.
  4. Leave these two entity declarations commented out.
  5. In the DOMAIN EXTENSIONS section, find the section that begins <!-- ================== MathML Integration ======================= --> comment.

    This section declares two override entities--for foreign and p--that are commented out. You don't want to do anything with the p entity declaration but you do need to work with the foreign entity declaration.

  6. Copy the existing foreign entity declaration and paste it into the "active" list of overrides.
  7. Edit the foreign entity declaration override as follows.
    <!ENTITY % foreign      "foreign | 
                             %svg-d-foreign;
                            ">

    You have completed the integration of the SVG domain into your topic shell without also integrating MathML.

  8. Edit the system id paths in the mathml-d-def and equation-d-def entity declarations as follows.
    <!ENTITY % mathml-d-def 
      PUBLIC "-//OASIS//ELEMENTS DITA 1.3 MathML Domain//EN" 
             "../../org.oasis-open.dita.v1_3/dtd/technicalContent/dtd/
             ¶mathmlDomain.mod"
    >%mathml-d-def;
    
    <!ENTITY % equation-d-def 
      PUBLIC "-//OASIS//ELEMENTS DITA 1.3 Equation Domain//EN" 
             "../../org.oasis-open.dita.v1_3/dtd/technicalContent/dtd/
             ¶equationDomain.mod"
    >%equation-d-def;
  9. Leave these two entity declarations commented out.
  10. Do one of the following.
    • If you do not want to begin using MathML at this time, save and check in CompanyDitabase.dtd. You have finished updating your topic shell.
    • If you do want to begin using MathML at this time, continue to the next step.
  11. Within the DOMAIN ENTITY DECLARATIONS section, find the section that begins <!-- ================== MathML Integration ======================= -->.
  12. Uncomment the two entity declarations (mathml-d-dec and equation-d-dec) in that section.
  13. In the DOMAIN EXTENSIONS section, find the foreign override entity declaration and edit it as follows.
    <!ENTITY % foreign      "foreign | 
                             %svg-d-foreign; |
                             %mathml-d-foreign;
                            ">
  14. Below the comment <!-- ================== MathML Integration ======================= -->, add a div override entity declaration below the foreign override entity declaration, as shown
    <!ENTITY % foreign      "foreign | 
                             %svg-d-foreign; |
                             %mathml-d-foreign;
                            ">
    <!ENTITY % div          "div | 
                             %equation-d-div;
                            ">

    These p and foreign entity declarations now also exist, commented out, below the comment <!-- ================== MathML Integration ======================= -->. You can delete the commented-out copies or leave them as-is.

    Note: Notice that the p entity declaration is not used at all in the DITA 1.3 MathML integration. Instead, there is a div entity declaration. This is the difference between the beta MathML integration and the DITA 1.3 MathML integration--the <div> element is extended rather than the <p> element. The <div> element is new in DITA 1.3.
  15. In the DOMAINS ATTRIBUTE OVERRIDE section, find the comment Add the following domains for MathML integration and note the two domains just below the comment (&mathml-d-att; and &equation-d-att;).
  16. Add these two domains to the list just before the Add the following domains for MathML integration comment.
    Note: You can add them in any order. The order of domains in this list do not matter.
  17. Within the DOMAIN ELEMENT INTEGRATION section, find the section that begins <!-- ================== MathML Integration ======================= -->.
  18. Uncomment the two entity declarations (mathml-d-def and equation-d-def) in that section.
  19. Save and check in CompanyDitabase.dtd.

    You have finished updating your topic shell, including the implementation of the DITA 1.3 MathML integration.