首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在非默认的XSLT模式下启动javax.xml.transform.Transformer转换?

如何在非默认的XSLT模式下启动javax.xml.transform.Transformer转换?
EN

Stack Overflow用户
提问于 2020-01-06 09:45:57
回答 1查看 121关注 0票数 0

XSLT支持其匹配模板的不同模式。处理以默认的未命名模式启动,但可以随每次调用<xsl:apply-templates/>而更改。但是,我希望以非默认模式启动XSLT处理。

我目前使用的代码使用一个javax.xml.transform.Transformer实例来加载XSLT样式表并执行转换。这种方法是否可以在Java中指定我希望从哪种模式开始转换?我找不到任何东西。如果重要的话,样式表本身在XSLT2.0版本中。

我知道,通过调用net.sf.saxon.s9api.XsltTransformer.setInitialMode(QName),Saxon是可能的,但我要求使用javax.xml.transform.Transformer内建解决方案的任何解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-06 10:41:45

JAXP接口是为XSLT1.0设计的,它不允许您选择非默认的初始模式。

Saxon包括JAXP接口的各种扩展,以绕过这些限制:将JAXP Transformer转换为net.sf.saxon.jaxp.TransformerImpl并调用setInitialMode()

但是,一旦您开始使用JAXP接口的Saxon扩展,就没有什么理由比Saxon的原生s9api接口更喜欢JAXP了--特别是当您开始使用XSLT3.0功能时,Saxon根本不通过JAXP提供这种功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59609817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档