Alberto P. wrote:

I recently updated DITAC  hosted in java from V2_0_1 to V2_5_1. I also
updated Apache FOP from version 1.0 to 1.1 but when i run the convertor
now i get the following error

    fatal error reported by the XSLT engine: Cannot find a matching
    2-argument function named
    {java:com.xmlmind.ditac.xslt.Number}format(). Note that direct calls
    to Java methods are not available under Saxon-HE; SystemID:
    file:/C:/XXX/eclipse/plugins/com.XXX.ditac_1.0.0/xsl/common/ditacUtil.xsl;
    Line#: 389; Column#: 58

Could you explain to me what this error means so that i can fix it.

  * If the error is related to column widths in tables, i specify column
    widths in percentage values
  * If the error is related to the fact that i had to change in order to
    configure the converter this is what i did below

        *converter.setStyleSheetDirectory(xslURL);*

        to

        *File xslDir = new File(xslPath);**
        **System.setProperty("DITAC_XSL_DIR", xslDir.getAbsolutePath());**
        *
        The configuration looks like this(it worked perfectly in the
        older version)

                     String[] args = { "-vvv", "-xslt2", "pdf",
                             xslDir + "fo/customize/custom_fo.xsl",
                             "-frontmatter", "toc,figurelist+tablelist",
        "-p", "title-page",
                             xslDir + "fo/customize/titlepage.fo", "-p",
                             "foProcessor", "FOP", "-p",
        "screen-resolution", "96", "-p",
                             "default-table-width", "100%", "-p",
        "title-after",
                             "fig table", "-p", "base-font-size", "8pt",
        "-p", "number",
                             "all", "-p", "pdf-outline", "yes",
        outFile.getPath(),
                             inFile.getPath() };


  * If the error is related to  my customized custom_fo.xsl here is what
    it contains

        <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                         xmlns:fo="http://www.w3.org/1999/XSL/Format";
                         version="2.0">

        <!-- <xsl:import href="ditac-xsl:fo/fo.xsl"/> -->
        <xsl:import href="../../fo/fo.xsl"/>
...
        </xsl:stylesheet>

Could you help me get this straight

Please note that unless you are an XMLmind customer, support is limited to formal bug reports. See http://www.xmlmind.com/ditac/support_policy.html

However, I'll try to help you because 1) you have written a rather elaborate email 2) the answer here *seems* simple.

Ditac v2.5.1 has no "{java:com.xmlmind.ditac.xslt.Number}format" function at all. This means that the XSLT stylesheets you use are out of sync with the ditac.jar you use.

Please always upgrade the XSLT stylesheets found in ditac_install_dir/xsl/ at the same time you upgrade ditac.jar.

Also note that upgrading from v2.0.1 to v2.5.1 is a giant leap. This implies that you may find other problems with your integration of ditac.

--
XMLmind DITA Converter Support List
[email protected]
http://www.xmlmind.com/mailman/listinfo/ditac-support

Reply via email to