使用XSLT重命名标记

时间:2013-08-22 15:18:09

标签: xml xslt talend

我对此脚本xslt有疑问。我想重命名我的标签,我有一个包含新名称的标签元素的表。我正在使用Talend获取每一行并将nams存储在两个变量“generique”中,其中包含新名称和另一个包含完整路径(arbre)的变量。

    

<xsl:param name = "generique" />
<xsl:param name = "arbre" />

<xsl:variable name="vXpath"  select= "$arbre" />

<xsl:template match= "/">
   <xsl:value-of select="$vXpath"/>
   <xsl:element name ="{$generique}">
     <xsl:apply-templates select="child"/>
   </xsl:element>
</xsl:template>

<xsl:template match="@*|node()" priority="0">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>

</xsl:stylesheet>

脚本无法正常工作。 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

你说<xsl:apply-templates select="child"/>,我怀疑你想要<xsl:apply-templates/>

您编写的方式仅适用于以<child>...</child>开头的文档。

请注意,缺席的select=隐含select="child::node()",这可能就是您所说的那样。