Page 1 of 1

Specifying Saxon version for DITA-OT?

Posted: Fri Jul 30, 2021 6:12 pm
by ahouser
Hi All,

In my DITA-OT plugin (3.6.1) I'm using the <saxon:doctype> extension to set the DOCTYPE of result documents. When I test the plugin in Oxygen, the Saxon extensions have no effect, and I get log messages of the form:

[ACME Process] /usr/local/bin/DITA-OT/dita-ot-3.6.1/plugins/com.acme.process/cfg/xsl/ProcessACME.xsl:553:63: Warning! saxon:doctype is not recognized as a Saxon instruction. Saxon extensions require Saxon-PE or higher

My Oxygen preferences specify Saxon-PE as my XSLT engine. Am I missing an option to set the default XSLT processor for DITA-OT transformation scenarios? (The base XSLT stylesheet does operate as expected when tested in an Oxygen XSLT transformation scenario).

TIA!

-Alan Houser

Re: Specifying Saxon version for DITA-OT?

Posted: Mon Aug 02, 2021 6:34 am
by Radu
Hi Alan,

Why are you not setting the doctype using the xsl:result-document's functionality?

Code: Select all

		<xsl:result-document doctype-public="abc" doctype-system="def">
			
		</xsl:result-document>
Indeed Oxygen has in its libraries folder a licensed version of Saxon Enterprise Edition.
The DITA Open Toolkit comes bundled with a Saxon Home Edition and some time ago we decided that by default we should use the standard DITA OT libraries for publishing in order for people to obtain the same results as when running from a command line.

If you edit the transformation scenario you are using, in the "Advanced" tab click the "Libraries" list and uncheck the "Allow Oxygen to..." checkbox.
Remove the first two references (references which are to the DITA OT's Saxin) in the list or move then down so that they are the last in the list. Then try again to publish.

Regards,
Radu

Re: Specifying Saxon version for DITA-OT?

Posted: Mon Aug 02, 2021 5:10 pm
by ahouser
Hi Radu,

Wait, what? <xsl:result-document> supports doctype-public and doctype-system? I did not realize this.

Also good to know how to change the XSLT engine used by a DITA-OT transformation scenario.

Thank you for your usual helpful reply!

-Alan Houser