我需要使用XSL使用属性值来改变我的相同元素:
我的输入xml是:
<span class="Option">
<span class="AnswerText">Female</span>
</span>
我使用的XSL:
<xsl:template match="span">
<p><xsl:apply-templates/></p>
</xsl:template>
输出我得到:
<p><p>Female</p></p>
但我希望输出如下:
<p><ph>Female</ph></p>
我需要使用属性值来改变两个span元素。请建议我代码。提前致谢
答案 0 :(得分:0)
您可以使用:
<xsl:template match="span[@class='Option']">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match="span[@class='AnswerText']">
<ph>
<xsl:apply-templates/>
</ph>
</xsl:template>
答案 1 :(得分:0)
您可以使用axis来检查span是否具有父标记span,然后相应地应用模板
<xsl:template match="span">
<xsl:choose>
<xsl:when test="parent::span">
<ph>
<xsl:apply-templates/>
</ph>
</xsl:when>
<xsl:otherwise>
<p>
<xsl:apply-templates/>
</p>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
输出:
<p>
<ph>Female</ph>
</p>