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

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

You should also have decided to implement the DITA 1.3 integration of MathML, which IXIASOFT strongly recommends as it brings 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.

    Verify that these two entity declarations are uncommented; you uncommented them when you originally implemented the beta MathML integration.

  4. In the DOMAIN EXTENSIONS section, find the section that begins <!-- ================== MathML Integration ======================= --> comment.

    This section declares two override entities--for foreign and p--that you uncommented when you originally implemented the beta MathML integration.

  5. Edit the foreign entity declaration as follows.
    <!ENTITY % foreign      "foreign | 
                             %mathml-d-foreign; |
                             %svg-d-foreign;
                            ">
    Note: Notice that the <foreign> element is not only extended by the MathML domain but also by the SVG domain.
  6. Edit the p entity declaration override as follows.
    <!ENTITY % div          "div | 
                             %equation-d-div;
                            ">
    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.
  7. In the DOMAINS ATTRIBUTE OVERRIDE section, verify that the &mathml-d-att; and &equation-d-att; entities are present in the list.

    You added them to the list when you originally implemented the beta MathML integration.

  8. In the DOMAIN ELEMENT INTEGRATION section, 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;

    Verify that these two entity declarations are uncommented; you uncommented them when you originally implemented the beta MathML integration.

  9. Save and check in CompanyDitabase.dtd.

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