0

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>
4

2 に答える 2

2

欲しいですか.../xsl:template/xsl:choose/xsl:when/@test

実際に test 属性から値 'First Name' を取得したい場合は、運が悪いです。属性内のコンテンツは単なる文字列であり、xml の一部ではないため、xpath できません。 . それを取得する必要がある場合は、文字列操作 (たとえば、部分文字列) を使用して適切なコンテンツを取得する必要があります

于 2008-09-18T22:07:29.737 に答える
1

スティーブクーパーは最初の部分に答えました。2番目の部分では、次を使用できます。

.../xsl:template/xsl:choose/xsl:when[@test="@name='First Name'"]/xsl:call-template/@name

これは、上記のスニペットのxsl:whenと特に一致します。一般的に一致させたい場合は、次を使用できます。

.../xsl:template/xsl:choose/xsl:when/xsl:call-template/@name
于 2008-09-18T22:42:32.897 に答える