Xslt 有没有一种方法可以在XSL中实现这种动态的、错误安全的XSL包含/导入?

Xslt 有没有一种方法可以在XSL中实现这种动态的、错误安全的XSL包含/导入?,xslt,Xslt,我希望有一个xsl:include/import可以满足2个要求 错误安全:例如,如果模板不存在,则不执行任何操作 动态:例如,包含的XSL的值是XML中的一个值 e、 g 有没有办法满足上述部分或全部要求?(不允许使用Java)在任何现有XSLT版本中?一种方法是使用附加的XSL样式表自己执行输入。此导入处理样式表将原始样式表作为输入,并输出包含原始样式表和所有成功导入的样式表的扩展样式表 这样,您就可以完全控制需求1和需求2。关于需求1,您可以在导入处理样式表中使用 仅供参考,通常将动态

我希望有一个xsl:include/import可以满足2个要求

  • 错误安全:例如,如果模板不存在,则不执行任何操作
  • 动态:例如,包含的XSL的值是XML中的一个值
  • e、 g

    
    

    有没有办法满足上述部分或全部要求?(不允许使用Java)在任何现有XSLT版本中?

    一种方法是使用附加的XSL样式表自己执行输入。此导入处理样式表将原始样式表作为输入,并输出包含原始样式表和所有成功导入的样式表的扩展样式表

    这样,您就可以完全控制需求1和需求2。关于需求1,您可以在导入处理样式表中使用

    仅供参考,通常将动态值合并到属性值的方法是使用


    但是,这仅适用于指定为AVT的属性,例如文字结果元素的属性。我很确定这是不是
    href
    属性

    的情况,如果你说了你想要达到的目标,帮助你会更容易:然后我们可以判断你希望达到的方式是否完全是胡思乱想的

    请记住,xsl:import是一种从各种模块构造程序的机制,与大多数编程语言一样,XSLT程序在开始执行之前就被构造和编译。因此,通过将xsl:import当作某种可执行指令来处理,您肯定无法获得动态修改自身的样式表。但是,您可以编写一个样式表,其效果是创建或修改另一个XSLT样式表,这通常是有意义的

    <xsl:import href="<xsl:value-of select='/root/@additionalFormattingXSL' />.xsl"/>
    
    href="{/root/@additionalFormattingXSL}.xsl"