2017-04-02 90 views
0

我有一个xml文档。从那个XML我需要使用xslt生成多个XML。例如, 。XSLT生成多输出

<Class> 
<Student> 
<name>First</name> 
<age></age> 
</Student> 
<Student> 
<name>Second</name> 
<age></age> 
</Student> 
</Class>. 

从这个XML我需要生成一个XML与第一个学生和另一个与第二个学生。

+0

不知道,你想干什么事。你不能只运行多个转换?从命令行,从一个Java程序,从...请详细说明。 – Stefan

+0

是否可以使用单个xslt?我的要求是从一个单一的生成multile输出xml。在这个例子中,我提供了两个学生elements.thats为什么两个输出xmls每个包含一个学生element.if我的输入有3个学生元素我需要3个输出xmls – Jithin

+0

@Jithin“ *是否可以使用单个xslt?*“如果您使用的是XSLT 2.0处理器,或者支持EXSLT xsl:document'扩展指令的XSLT 1.0处理器,则可能是这样。 –

回答

0

您可以使用此spiltter

<xsl:template match="Class"> 
     <xsl:for-each select="Student"> 
       <xsl:result-document href="{position()}.xml" method="xml"> 
         <Class> 
           <xsl:copy-of select="."></xsl:copy-of> 
         </Class> 
       </xsl:result-document> 
     </xsl:for-each> 
</xsl:template> 
+0

请注意,这需要XSLT 2.0。 –