我使用Saxon-CE和XSLT 2.0来生成和操作页面上的控件。生成组合框不是问题,但是当我更改组合框时,我似乎无法从组合框的选项中获取值。以下是说明性的XSLT代码:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ixsl="http://saxonica.com/ns/interactiveXSLT"
extension-element-prefixes="ixsl">
<xsl:template match="/">
<xsl:result-document href="#comboBox">
<select id="myBox">
<option value="1">One</option>
<option value="2">two</option>
</select>
</xsl:result-document>
</xsl:template>
<xsl:template match="select[@id='myBox'] mode=ixsl:onchange">
<xsl:variable name="myVal" select="option/@value'/>
.... code that affects what is displayed ...
</xsl:template>
</xsl:stylesheet>
我想要做的是当用户更改变形框的值时,他们选择的选项的值存储在变量$ myVal中。然后我使用该变量来影响主页面上的转换。现在我所拥有的东西根本不起作用(目前它获取所有选项的所有值,而不是用户选择的值)。
想法?
答案 0 :(得分:1)
尝试
<xsl:variable name="control" select="."/>
<xsl:variable name="value" select="ixsl:get($control, 'value')"/>
使用名称空间声明xmlns:ixsl="http://saxonica.com/ns/interactiveXSLT"