History | Edit

Question

Can I run XSL 2.0 / 3.0 transformation with Saxon EE using the Oxygen SDK?

Answer

The API class ro.sync.exml.workspace.api.util.XMLUtilAccess allows you to create an XSLT Transformer that implements the JAXP interface javax.xml.transform.Transformer. Then this type of transformer can be used to transform XML. Here's just an example of transforming when you have an AuthorAccess API available:
     InputSource is = new org.xml.sax.InputSource
(URLUtil.correct(new File("test/personal.xsl")).toString());
     xslSrc = new SAXSource(is);
     javax.xml.transform.Transformer transformer = 
authorAccess.getXMLUtilAccess().createXSLTTransformer
(xslSrc, null, AuthorXMLUtilAccess.TRANSFORMER_SAXON_ENTERPRISE_EDITION);
     transformer.transform(new StreamSource(new File("test/personal.xml")), 
new StreamResult(new File("test/personal.html")));
If you want to create the transformer from the plugin side, you can use this method instead: ro.sync.exml.workspace.api.PluginWorkspace.getXMLUtilAccess().