我正在使用Orbeon Forms 2019.2.0.201912301747 CE。
我的表单结构如下所示:
<s-2>
<s-2-iteration>
<s-2-position>
...
<s-2.7>
<s-2.7-iteration>
<s-2.7-position>
...
</s-2.7-position>
</s-2.7-iteration>
</s-2.7>
...
</s-2-position>
</s-2-iteration>
</s-2>标签<...-position>是我希望有动态标签的部分,比如“no位置”,其中X是重复号。我已经在区段设置/标签/模板参数( <s-2-position> )中使用xxf:repeat-position()对xxf:repeat-position()标记进行了处理。
但是,当我尝试在<s-2.7-position>标记(嵌套在<s-2-position>中)中这样做时,它没有工作。运行表单时标签为空。此外,当我尝试在<s-2.7-position>中使用任何类型的动态标签时,以及在<s-2.7-position>中的任何其他标记中,它都不起作用。
那么,你有没有遇到过这个问题?解决方案/解决办法是什么?那是来自奥宾的错误吗?
谢谢!
发布于 2020-06-19 09:38:24
我已经找到了问题的原因。在将标记<s-2.7-position>重命名为任何不包括s-2.7 (甚至分离的)的东西之后,带有模板参数的动态标签正在工作,包括xxf:repeat-position()。
发布于 2020-06-17 21:30:13
实际上,xxf:repeat-position()在这种情况下工作是有意义的,或者具有更高级别的Form Runner特定函数。这包括在请求增强(RFE) #4144中。同时,正如RFE中提到的那样,您可以尝试如下:
count(../preceding-sibling::*) + 1发布于 2020-06-22 13:19:47
将下面表单中的s-2.7-pozycja标记的名称更改为s-foo后,这些标记的标签将正确显示。在标签根本没有显示之前(空)。
工作表格:
<xh:html xmlns:xh="http://www.w3.org/1999/xhtml"
xmlns:xxf="http://orbeon.org/oxf/xml/xforms"
xmlns:fr="http://orbeon.org/oxf/xml/form-runner"
xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fb="http://orbeon.org/oxf/xml/form-builder"
fr:data-format-version="4.0.0">
<xh:head>
<xh:title>PL825 - Projekt podziału przemieszczenia</xh:title>
<xf:model id="fr-form-model" xxf:expose-xpath-types="true" xxf:analysis.calculate="true"
xxf:hint.appearance="tooltip">
<!-- Main instance -->
<xf:instance id="fr-form-instance" xxf:exclude-result-prefixes="#all" xxf:index="id">
<form>
<s-2>
<s-2-iteration>
<s-2-pozycja>
<s-2.7>
<s-2.7-iteration>
<s-foo>
<grid-7>
<control-1/>
</grid-7>
</s-foo>
</s-2.7-iteration>
</s-2.7>
</s-2-pozycja>
</s-2-iteration>
</s-2>
</form>
</xf:instance>
<!-- Bindings -->
<xf:bind id="fr-form-binds" ref="instance('fr-form-instance')">
<xf:bind id="s-2-bind" ref="s-2" name="s-2">
<xf:bind id="s-2-iteration-bind" ref="s-2-iteration" name="s-2-iteration">
<xf:bind id="s-2-pozycja-bind" ref="s-2-pozycja" name="s-2-pozycja">
<xf:bind id="s-2.7-bind" ref="s-2.7" name="s-2.7">
<xf:bind id="s-2.7-iteration-bind" ref="s-2.7-iteration" name="s-2.7-iteration">
<xf:bind id="s-foo-bind" ref="s-foo" name="s-foo">
<xf:bind id="grid-7-bind" ref="grid-7" name="grid-7">
<xf:bind id="control-1-bind" ref="control-1" name="control-1" xxf:whitespace="trim"/>
</xf:bind>
</xf:bind>
</xf:bind>
</xf:bind>
</xf:bind>
</xf:bind>
</xf:bind>
</xf:bind>
<!-- Metadata -->
<xf:instance id="fr-form-metadata" xxf:readonly="true" xxf:exclude-result-prefixes="#all">
<metadata>
<application-name>EMSC</application-name>
<form-name>PL825</form-name>
<title xml:lang="pl">PL825 - Projekt podziału przemieszczenia</title>
<description xml:lang="pl"/>
<created-with-version>2019.2.0.201912301747 CE</created-with-version>
<updated-with-version>2019.2.0.201912301747 CE</updated-with-version>
<library-versions>
<orbeon>1</orbeon>
</library-versions>
</metadata>
</xf:instance>
<!-- Attachments -->
<xf:instance id="fr-form-attachments" xxf:exclude-result-prefixes="#all">
<attachments/>
</xf:instance>
<!-- All form resources -->
<xf:instance xxf:readonly="true" id="fr-form-resources" xxf:exclude-result-prefixes="#all">
<resources>
<resource xml:lang="pl">
<control-1>
<label/>
<hint/>
</control-1>
<s-2.7>
<label>2.7 </label>
</s-2.7>
<s-foo>
<label>Position {$nr_poz}</label>
</s-foo>
<s-2>
<label>2. </label>
</s-2>
<s-2-pozycja>
<label>Position {$nr_poz}</label>
</s-2-pozycja>
</resource>
</resources>
</xf:instance>
<xf:instance xxf:readonly="true" xxf:exclude-result-prefixes="#all" id="s-2-template">
<s-2-iteration>
<s-2-pozycja>
<s-2.7>
<s-2.7-iteration>
<s-foo>
<grid-7>
<control-1/>
</grid-7>
</s-foo>
</s-2.7-iteration>
</s-2.7>
</s-2-pozycja>
</s-2-iteration>
</xf:instance>
<xf:instance xxf:readonly="true" xxf:exclude-result-prefixes="#all" id="s-2.7-template">
<s-2.7-iteration>
<s-foo>
<grid-7>
<control-1/>
</grid-7>
</s-foo>
</s-2.7-iteration>
</xf:instance>
</xf:model>
</xh:head>
<xh:body>
<fr:view>
<fr:body xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:xbl="http://www.w3.org/ns/xbl"
xmlns:oxf="http://www.orbeon.com/oxf/processors">
<fr:section id="s-2-section" bind="s-2-bind" repeat="content" min="2"
template="instance('s-2-template')"
apply-defaults="true"
fb:initial-iterations="first">
<xf:label ref="$form-resources/s-2/label"/>
<fr:section id="s-2-pozycja-section" bind="s-2-pozycja-bind">
<xf:label ref="$form-resources/s-2-pozycja/label">
<fr:param type="ExpressionParam">
<fr:name>nr_poz</fr:name>
<fr:expr>xxf:repeat-position()</fr:expr>
</fr:param>
</xf:label>
<fr:section id="s-2.7-section" bind="s-2.7-bind" repeat="content" max="99"
template="instance('s-2.7-template')"
apply-defaults="true"
fb:initial-iterations="first">
<xf:label ref="$form-resources/s-2.7/label"/>
<fr:section id="s-foo-section" bind="s-foo-bind">
<xf:label ref="$form-resources/s-foo/label">
<fr:param type="ExpressionParam">
<fr:name>nr_poz</fr:name>
<fr:expr>xxf:repeat-position()</fr:expr>
</fr:param>
</xf:label>
<fr:grid id="grid-7-grid" bind="grid-7-bind">
<fr:c x="1" y="1" w="12">
<xf:input id="control-1-control" bind="control-1-bind">
<xf:label ref="$form-resources/control-1/label"/>
<xf:hint ref="$form-resources/control-1/hint"/>
<xf:alert ref="$fr-resources/detail/labels/alert"/>
</xf:input>
</fr:c>
</fr:grid>
</fr:section>
</fr:section>
</fr:section>
</fr:section>
</fr:body>
</fr:view>
</xh:body>
</xh:html>`错误行为

预期行为

https://stackoverflow.com/questions/62427906
复制相似问题