2010-07-09 62 views
0

我有几个不同的XSLT文件,它们都工作在相同的原始XML文件上,以生成四个不同的XML文件输出。是否有可能使用vanilla XSLT将所有这些XSLT文件合并为一个(即,不使用XALAN或任何特定于XSLT解析器的文件)?从一个vanilla XSLT创建多个XML文件

所有帮助表示感谢,并提前致谢!

+0

可以做,但需要很大的努力。如果你修改你的问题来问问如何做到这一点,我会提供答案。要求编写实际的转换需求太多了,我可以做这个赏金:)。 – 2010-07-10 01:54:57

+1

在这个问题上还有其他人比你更慈善。此外,你有更多的代表比你可以知道如何处理。如果评论可能会有-1。你的态度与计算器的态度相反。 – 2010-07-12 17:28:46

回答

2

可以从XSLT 2.0样式表中的单个XSLT生成多个文件。

在XSLT 2.0中可以多次使用xsl:result-document来生成多个输出文件。

根据单个XSLT样式表是怎么写的,你可能能够进口包括样式表到使用xsl:result-document来执行不同的命名模板适用─一个“父”样式表模板与不同的上下文和/或模式来输出不同的文件。

+1

在Microsoft Visual Studio 2008中,每当我在xsl:template元素下创建一个xsl:result-document元素时,我都会在xsl:result-document下面突出显示它是一个无效子元素。 VS不接受XSLT 2.0版吗? – 2010-07-12 17:43:48

+1

我不这么认为。微软尚未建立对XSLT 2.0的支持。撒克逊有一个可以使用的.NET实现http://saxon.sourceforge.net/ – 2010-07-12 18:18:32

+0

我刚开始在Saxon的一个基本示例中使用xsl:result-document,我将尝试使用脚本实现它并共享我的结果。 – 2010-07-12 19:22:56

0

,你可以使用 <xsl:import>

编辑

没有,这个代码将不会生成四个XML文件,但合并被处理为一个几个XSLT文件。如果不与XSLT处理器交互,就无法实现这一点,因为XSLT本身并不关心文件,只是将XML格式转换为另一种格式。

+0

您是否建议我使用导入我目前拥有的四个文件?这甚至会工作吗? – 2010-07-09 22:40:18

+0

我知道你有几个XSLT文件要合并,而不是XML文件。那是对的吗? – 2010-07-09 22:46:56

+0

是的,但合并的XSLT文件仍然必须生成4个文件输出。这种方法会这样做吗? – 2010-07-09 22:51:10