首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Orbeon窗体:嵌套部分中不起作用的动态标签

Orbeon窗体:嵌套部分中不起作用的动态标签
EN

Stack Overflow用户
提问于 2020-06-17 11:28:06
回答 3查看 166关注 0票数 2

我正在使用Orbeon Forms 2019.2.0.201912301747 CE。

我的表单结构如下所示:

代码语言:javascript
复制
<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>中的任何其他标记中,它都不起作用。

那么,你有没有遇到过这个问题?解决方案/解决办法是什么?那是来自奥宾的错误吗?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-06-19 09:38:24

我已经找到了问题的原因。在将标记<s-2.7-position>重命名为任何不包括s-2.7 (甚至分离的)的东西之后,带有模板参数的动态标签正在工作,包括xxf:repeat-position()

票数 0
EN

Stack Overflow用户

发布于 2020-06-17 21:30:13

实际上,xxf:repeat-position()在这种情况下工作是有意义的,或者具有更高级别的Form Runner特定函数。这包括在请求增强(RFE) #4144中。同时,正如RFE中提到的那样,您可以尝试如下:

代码语言:javascript
复制
count(../preceding-sibling::*) + 1
票数 0
EN

Stack Overflow用户

发布于 2020-06-22 13:19:47

将下面表单中的s-2.7-pozycja标记的名称更改为s-foo后,这些标记的标签将正确显示。在标签根本没有显示之前(空)。

工作表格:

代码语言:javascript
复制
<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>`

错误行为

预期行为

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62427906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档