我不知道如何在html输出中将 guiLabel 翻译为 strong 我正在尝试获取以下HTML
输出:
<p>lorem 1</p>
<p>lorem ipsum <strong>dolore</strong> amet</p>
<p>lorem 3</p>
来自以下xml:
<para>1</para>
<para>lorem ipsum <guiLabel>dolore</guiLabel> amet</para>
<para>3</para>
我的xsl文件:
<xsl:for-each select="./*">
<xsl:choose>
<xsl:when test=". instance of element(para)">
<p><xsl:value-of select="."/></p>
</xsl:when>
</xsl:choose>
</xsl:for-each>
答案 0 :(得分:1)
您应该使用模板化方法xsl:for-each
而不是xsl:apply-templates
,然后使用单独的模板匹配您想要更改的元素。
试试这个XSLT:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="para">
<p>
<xsl:apply-templates />
</p>
</xsl:template>
<xsl:template match="guiLabel">
<strong>
<xsl:apply-templates />
</strong>
</xsl:template>
</xsl:stylesheet>