我需要在xsl:when标记中获取'test'属性的值,并在xsl:call-template标记中获取'name'属性。这个xpath让我非常接近:
..../xsl:template/xsl:choose/xsl:when
但是这只会返回'when'元素,而不是我需要的确切属性值。
以下是我的XML片段:
<xsl:template match="field">
<xsl:choose>
<xsl:when test="@name='First Name'">
<xsl:call-template name="handleColumn_1" />
</xsl:when>
</xsl:choose>
答案 0 :(得分:2)
.../xsl:template/xsl:choose/xsl:when/@test
吗?
如果你想从test属性中实际获得值'First Name',那你就不走运了 - 属性中的内容只是一个字符串,而不是一段xml,所以你可以' t xpath它。如果需要,则必须使用字符串操作(例如,子字符串)来获取正确的内容
答案 1 :(得分:1)
.../xsl:template/xsl:choose/xsl:when[@test="@name='First Name'"]/xsl:call-template/@name
在上面的代码段中,它将特别匹配xsl:。如果您希望它一般匹配,那么您可以使用:
.../xsl:template/xsl:choose/xsl:when/xsl:call-template/@name