我有一个XForm调查。我希望将问题放在与收集答案的xf:实例相同的模型的一个单独的xf:实例中。在一个例子中,一个包含10个问题的组。在第二种情况下,一个组来保存10个答案。将提交第二个实例。因此,这类似于两个列表之间的连接。
我尝试过使用如下逻辑:
<xf:output ref="instance('questions')/question[position()]/@text"></xf:output>但是position()总是返回1,因为上下文是问题xf:instance。使用索引(‘current-repeater’)将所有显示的10个问题更新为最近聚焦的重复迭代的索引中的问题。
有没有办法在xpath中使用临时变量来实现这一点?我尝试过$variables的各种用法,甚至:
<xf:output ref="instance('questions')/question[position() = (count(current()/preceding-sibling::*) + 1)]/@text"></xf:output>谢谢,
杰森
发布于 2009-12-09 01:16:15
好吧,事实证明目前还不支持:
使用XSLT1.0编写的XSLTForms的XPath分析器还不支持像“preceding sibling::”这样的轴。
取而代之的是,按照以下思路做一些事情:
<xf:instance id="positions">
<data xmlns="">
<position />
</data
</xf:instance>
...
<xf:setvalue ref="instance('positions')/position">1</xf:setvalue>
<xf:setvalue ref="instance('positions')/position" value="count(instance('main')/path/to/things/thing)-1" />
etc.然后使用它们:
<xf:input ref="path/to/things/thing[instance('positions')/position]"> ...来自xsltforms-support@lists.sourceforge.net
发布于 2009-12-11 06:28:30
解决方案不也是:
<xf:output value="instance('questions')/question[current()/position()]/@text"></xf:output>current()函数返回上下文节点,参见http://www.w3.org/TR/xforms11/#fn-current。
https://stackoverflow.com/questions/1848760
复制相似问题