так же, как вы можете сделать следующее ...
<xsl:for-each select="catalog/cd[artist='Bob Dylan']">
Можете ли вы выполнить ту же фильтрацию с помощью оператора Value-Of?
<xsl:value-of select="value[name='Name']" />
Спасибо, Джеймс.
Редактировать:
Извините за путаницу.
У меня был какой-то XML:
<DynamicData>
<item>
<name>Name</name>
<value xsi:type="xsd:int">0</value>
</item>
<item>
<name>Value</name>
<value xsi:type="xsd:long">9</value>
</item>
</DynamicData>
Я хотел использовать фильтр для моего значения select, почти так же, как это возможно, делая для каждого.Я только начал изучать XSLT, поэтому не был уверен в его возможностях.В конце я использовал следующий XSLT:
<set>
<xsl:attribute name="name">
<xsl:choose>
<xsl:when test="item[name='Name']/value=0">Low</xsl:when>
<xsl:when test="item[name='Name']/value=1">Medium</xsl:when>
<xsl:when test="item[name='Name']/value=2">High</xsl:when>
</xsl:choose>
</xsl:attribute>
...
Проблема, с которой я столкнулся, заключалась в том, что я помещал фильтр после элемента значения в тесте, вот так.<xsl:when test="item/value[name='Name']=2">High</xsl:when>
Очевидно, что элемент 'name' - это не элемент 'value', а элемент 'item', следовательно, почему это не сработало.
Спасибо за вашу помощь всем, я получил в конце концов:)