0
我有以下XML源XSLT - 一棵樹替換節點
<forms>
<x>
<y>
<x-component select="foobar" />
</y>
</x>
<component name="foobar">
<some>
<component>
<value>text</value>
</component>
</some>
</component>
</forms>
我試圖把它轉換爲以下幾點:
<?xml version="1.0" encoding="UTF-8"?>
<forms>
<x>
<y>
<component name="foobar">
<some>
<component>
<value>text</value>
</component>
</some>
</component>
</y>
</x>
</forms>
我的XSL文件是
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:template match="x-component">
<yoba>
<xsl:attribute name="z">
<xsl:value-of select="@select"/>
</xsl:attribute>
<xsl:apply-templates select="/forms/component[@[email protected]]/*" />
</yoba>
</xsl:template>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/">
<xsl:apply-templates select="*"/>
</xsl:template>
</xsl:stylesheet>
如何傳遞當前n的select
屬性的值(代替PLACEHOLDER):
<xsl:apply-templates select="/forms/component[@name=<PLACEHOLDER>]/*" />
您的XSLT輸出** yoba **元素,該元素不在您的預期輸出中。它是否正確? –
這是爲了調試,我得到輸出與yoba,但xsl:應用模板裏面yoba沒有呈現 – Kerb