Xml 如何动态调用不同的xsl文件?

Xml 如何动态调用不同的xsl文件?,xml,xslt,Xml,Xslt,我有三个工作的xsl文件,现在我只想让它们一起工作 假设我的三个xslt是cham1.xsl、cham2.xsl、cham3.xsl和我的源输入source.xml。在输入的顶部表节点中,有一个属性outputclass: <root outputclass="cham1"> 我想要的是如何编写另一个样式表,无论何时,@outputclass是cham1,然后调用cham1.xsl,如果@outputclass='cham2',则在源代码上应用cham2.xsl 不知道这在x

我有三个工作的xsl文件,现在我只想让它们一起工作

假设我的三个xslt是
cham1.xsl、cham2.xsl、cham3.xsl
和我的源输入
source.xml
。在输入的顶部表节点中,有一个属性
outputclass

 <root outputclass="cham1">

我想要的是如何编写另一个样式表,无论何时,
@outputclass
cham1
,然后调用
cham1.xsl
,如果
@outputclass='cham2'
,则在源代码上应用
cham2.xsl


不知道这在xslt中是否可行?谢谢

基本上有两种方法:在XSLT中执行此操作(在单个转换中),或者在外部执行此操作

要在XSLT中实现这一点,最好的方法是确保cham1.xsl、cham2.xsl和cham3.xsl中的模板规则使用不同的模式。然后,控制代码只需要在适当的模式下应用模板


在XSLT之外进行这项工作取决于您的应用程序环境,例如,您是从Java、Ant、XProc还是其他方面进行控制。

也许您可以添加一个XSLT示例。您应该能够创建一个包含3个单独XSLT的“容器”XSLT,然后根据您的条件应用适当的模板集。模板