如何根据父元素的属性获取子元素的属性

How to get the attribute of a child element based on the attribute of the parent element

假设我有这个 XML:

<data>
  <options mode="Any Value"  currentValue="0">
     <option value="0" alias="No Donation"/>
  </options>
</data>

在XSL中,我怎么写:

<xsl:value-of select="data/options/option[@value=XXX]/@alias"/>

其中 XXX 等于其父元素的 "currentValue" 属性的值? :

<xsl:value-of select="data/options/@currentValue"/>

我基本上想通过将第一个语句中的 XXX 替换为第二个语句的结果来将这两个语句合并为一个语句,但我不确定如何整合它们。

您可以在谓词中使用 .. 导航到您正在测试的 option 的父元素:

<xsl:value-of select="data/options/option[@value=../@currentValue]/@alias"/>