
On Tue, February 8, 2011 8:20 pm, George Cristian Bina wrote:
oXygen sets both an URI resolver and an entity resolver on Calabash. In case of a DTD specified in an XML file the parser will try to resolve the DTD through the entity resolver, not through the URI resolver. In your command line you seems to set only the URI resolver with the -U option. Please try setting also the entity resolver, see the -E option. You can set it to the same org.apache.xml.resolver.tools.CatalogResolver class as this implements both the URIResolver and the EntityResolver interfaces.
Thanks for that, that helped but wasn't the complete solution. It's now working, but not quite the way that it should. I had to change the DTD's catalog.xml version from 1.1 to 1.0 to get it to work. I also had to add the MathML DTD to the DTD's catalog, whereas inside oXygen, oXygen was resolving it correctly. The Calabash output is full of 'INFO' messages, but oXygen's Calabash doesn't recognise the <cc:log-level> configuration option shown in http://norman.walsh.name/2009/07/22/xmlCatalogsandXProc and http://svn.xmlcalabash.com/calabash/trunk/schemas/configuration.rnc. The current external tool command is: "${oxygenInstallDir}/jre/bin/java.exe" -Dxml.catalog.files="${frameworksDir}/xml/catalog.xml${ps}${frameworksDir}/DTD/schema/catalog.xml" -cp "${oxygenInstallDir}/lib/xproc/calabash/calabash.jar"${ps}"${oxygenInstallDir}/lib/saxon9ee.jar"${ps}"${oxygenInstallDir}/lib/resolver.jar" com.xmlcalabash.drivers.Main -c calabashconfig.xml XProc/test-schematron.xpl path="${pdu}"/Tests schematron=Schematron/testing.sch where 'calabashconfig.xml' is: <cc:xproc-config xmlns:cc="http://xmlcalabash.com/ns/configuration"> <cc:schema-aware>false</cc:schema-aware> <!-- <cc:log-level level="warning"/> --> <cc:serialization omit-xml-declaration="true"/> <cc:entity-resolver class-name="org.apache.xml.resolver.tools.CatalogResolver"/> <cc:uri-resolver class-name="org.apache.xml.resolver.tools.CatalogResolver"/> </cc:xproc-config> Have you considered adding an XProc option in oXygen equivalent to Calabash's: -s, --step-name stepname Run the step named 'stepname' ? Have you considered making the 'Command line' dialog box resizable? When the command gets so long that you have to scroll to see the whole command, it's sometimes easier to copy the command line into another editor to edit it and paste it back to run it. Regards, Tony Graham Tony.Graham@MenteithConsulting.com Director W3C XSL FO SG Invited Expert Menteith Consulting Ltd XML Guild member XML, XSL and XSLT consulting, programming and training Registered Office: 13 Kelly's Bay Beach, Skerries, Co. Dublin, Ireland Registered in Ireland - No. 428599 http://www.menteithconsulting.com -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- xmlroff XSL Formatter http://xmlroff.org xslide Emacs mode http://www.menteith.com/wiki/xslide Unicode: A Primer urn:isbn:0-7645-4625-2