您的代碼:<h1><xsl:value-of select="h1"/></h1>
是好的,但你把它寫在一個錯誤的地方 。
你應該在父標籤(方含h1
標籤)匹配的模板使用,並添加一個空模板h1
,防止原 h1
元素由身份模板的再現。下面給出
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" encoding="UTF-8" indent="yes" />
<xsl:strip-space elements="*"/>
<xsl:template match="main">
<xsl:copy>
<h1><xsl:value-of select="h1"/></h1>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="h1"/>
<xsl:template match="@*|node()">
<xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy>
</xsl:template>
</xsl:transform>
對於輸入:
請看下面的腳本
<main>
<h1>aaa</h1>
<h1>bbb</h1>
<h1>ccc</h1>
<h2>xxx</h2>
</main>
它打印:
<main>
<h1>aaa bbb ccc</h1>
<h2>xxx</h2>
</main>
如果你想組相鄰'h1'中的元素XSLT 2.0然後在https://www.w3.org/TR/xslt20/#grouping-examples中看到使用'for-each-group group-adjacent'的例子。 –
你的問題不清楚,尤其是,上下文。請發佈[mcve]。 –