この XML を考えると、「test」と「name」の値を与える xpath はありますか?
質問
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>
解決
スティーブ・クーパーが最初の部分に答えました。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
他のヒント
欲しいですか .../xsl:template/xsl:choose/xsl:when/@test
実際にテスト属性から値 'First Name' を取得したい場合は、運が悪いです。属性内のコンテンツは単なる文字列であり、XML の一部ではないため、XPath することはできません。 。それを取得する必要がある場合は、文字列操作 (部分文字列など) を使用して正しいコンテンツを取得する必要があります。
所属していません StackOverflow