给定一个包含许多元素的XML文档:
<column>
<question>
...
</question>
<question>
<description>Colour</description>
<choices>
<choice value="">[Select colour]</choice>
<choice value="id01">Red</choice>
<choice value="id02">Green</choice>
<choice value="id03">Blue</choice>
<choice value="id04">Yellow</choice>
</choices>
<chosen>id02</chosen>
</question>
</column>
...和(部分)XSL转换,如下所示:
<xsl:for-each select="column/question">
<xsl:value-of select="description"/>
<xsl:value-of select="chosen"/>
<xsl:value-of select="choices/choice[@value='id02']"/>
</xsl:for-each>
...如果不对此进行硬编码,返回“绿色”值的最佳或最简单方法是什么?我是新来的;它一定很容易,但我无法弄清楚如何。 XSL中的最后一个“选择值”有一个硬编码的属性过滤器,但我真正想要的是将它与我的doc中每个值的值进行比较,比如“choice / choice [@ value = /问题/选择]“......但随后工作: - )
再一次,我确信这很容易,但谷歌搜索的时间并没有让我到处都是。感谢您的帮助和耐心。
答案 0 :(得分:2)
像...一样的东西。
choices/choice[@value=../../chosen]