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

时间:2012-06-07 15:22:04

标签: xml xslt

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

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

 <root outputclass="cham1">

我想要的是如何编写另一个样式表,每当@outputclasscham1,然后调用cham1.xsl,如果@outputclass='cham2',则应用{{1在源上。

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

1 个答案:

答案 0 :(得分:2)

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

要在XSLT中执行此操作,最好的方法是确保cham1.xsl,cham2.xsl和cham3.xsl中的模板规则使用不同的模式。然后,控制代码只需要在适当的模式下执行apply-templates。

在XSLT之外执行此操作取决于您的应用程序环境,例如:你是用Java,Ant,XProc等控制东西。