使用Java将XSLT与import/include语句合并
假设我有两个xslt A和B。在xslt A中,我们有一个import/include语句来使用B中的某个模板。在Java中有没有一种方法可以生成结果xslt(A与导入的模板合并)??有可能吗 SAXON有一种导出已编译XSLT的方法,但不幸的是,已编译XSLT具有指向导入XSLT的链接,这是我们不希望看到的。欢迎您的任何意见使用Java将XSLT与import/include语句合并,java,xslt,saxon,xalan,Java,Xslt,Saxon,Xalan,假设我有两个xslt A和B。在xslt A中,我们有一个import/include语句来使用B中的某个模板。在Java中有没有一种方法可以生成结果xslt(A与导入的模板合并)??有可能吗 SAXON有一种导出已编译XSLT的方法,但不幸的是,已编译XSLT具有指向导入XSLT的链接,这是我们不希望看到的。欢迎您的任何意见 在这方面还没有研究过XALAN。为什么要使用Java,而不是XSLT 大部分工作都很简单,可以通过几个模板规则来完成: <xsl:mode on-no-match=
在这方面还没有研究过XALAN。为什么要使用Java,而不是XSLT 大部分工作都很简单,可以通过几个模板规则来完成:
<xsl:mode on-no-match="shallow-copy"/>
<xsl:mode name="nested" on-no-match="shallow-copy"/>
<xsl:template match="xsl:stylesheet | xsl:transform" mode="nested">
<xsl:apply-templates mode="nested"/>
</xsl:template>
<xsl:template match="xsl:import | xsl:include" mode="#all">
<xsl:apply-templates select="document(@href)" mode="nested"/>
</xsl:template>
但是,如果使用了某些XSLT功能,则会出现一些复杂情况,例如:
- 导入先例可能无法正确转换
不起作用xsl:apply-imports
上具有模块作用域的属性(例如xsl:stylesheet
)将丢失exclude result prefixes