Xslt s9api与带有saxon-b的trax

Xslt s9api与带有saxon-b的trax,xslt,saxon,Xslt,Saxon,我收到一个shell脚本,其中包含: java-cp$(CLASSPATH)net.sf.saxon.Transform-xsl:$(CMS\u ROOT)/$(TRANSFORMS\u DIR)/$(LOCALE\u样式表)\-it:ROOT 以及其他需要输出的情况 我不清楚如何通过trax指定初始变换,所以我选择了s9api 您会发现,将基于输出文件的序列化程序传递给XmlTransformer并不会导致将基本输出URI设置为该文件。我必须补充: transformer.getUnderli

我收到一个shell脚本,其中包含:

java-cp$(CLASSPATH)net.sf.saxon.Transform-xsl:$(CMS\u ROOT)/$(TRANSFORMS\u DIR)/$(LOCALE\u样式表)\-it:ROOT

以及其他需要输出的情况

我不清楚如何通过trax指定初始变换,所以我选择了s9api

您会发现,将基于输出文件的序列化程序传递给XmlTransformer并不会导致将基本输出URI设置为该文件。我必须补充:

transformer.getUnderlineController().setBaseOutputURI(outputFile.tori().toString())


所有这些对我来说都表明,我最好还是和trax谈谈,弄清楚如何指定初始变换以及我需要的任何其他东西。任何人都可以用这种或那种方式说明问题吗?

Saxon 9.2和更高版本在s9api
XsltTransformer
类上有一个
setBaseOutputURI()
方法

对于9.4,我将做出您建议的更改,尽可能使用序列化程序的目标URI作为输出基URI的默认值