使用XML属性值作为XSL变量

时间:2013-09-06 19:47:37

标签: xml variables xslt

所以我试图基于xml boolean radio选项生成xml。但由于我一般都是xsl的新手,因此这个深度的变量概念有点超出我的范围。

我的XML:

<item name="commentOutNode" pathid="commentOutNode">
  <radio>
    <option label="Yes" value="true"/>
    <option label="No" value="false" selected="t"/>
  </radio>
</item>

My Current XSL:

<xsl:variable name="commentOutNode" select="commentOutNode/@value[.]"/>
***
(a ways down)
***
<xsl:when test="$commentOutNode = true">
    # do this stuff
</xsl:when>
<xsl:otherwise>
    # do this other stuff
</xsl:otherwise>

如何利用所选的无线电选项的xsl变量值,然后测试它是什么?

1 个答案:

答案 0 :(得分:2)

要获取名称为value的项目的所选选项的commentOutNode属性,请使用XPath:

//item[@name='commentOutNode']/radio/option[@selected='t']/@value  

设置具有此值的变量:

<xsl:variable name="selectedValue" select="//item[@name='commentOutNode']/radio/option[@selected='t']/@value"/>  

测试变量:

<xsl:choose>
   <xsl:when test="$selectedValue='true'">
      . . . 
   </xsl:when>
   <xsl:otherwise>
       . . . 
   </xsl:otherwise>
</xsl:choose>