Orbeon Forms - 引用模板部分之外的控件值
Posted
技术标签:
【中文标题】Orbeon Forms - 引用模板部分之外的控件值【英文标题】:Orbeon Forms - Referring to a control value outside a template section 【发布时间】:2021-05-27 22:39:32 【问题描述】:使用 Orbeon Forms,我有一个包含嵌入式模板(库)部分的表单。我需要从主窗体中的控件中检索一个值到模板部分中的控件。我发现了一些关于模板部分类似问题的对话。
这听起来与我的情况基本相同: http://discuss.orbeon.com/Retrieve-value-outside-library-section-template-td4663317.html
那里建议的方式没有按预期工作。建议使用函数 xxf:instance(),例如 xxf:instance('fr-form-instance')/mysection/mycontrol 应该可以工作。但是,当我将此类函数添加到库内的控件时,我无法在库部分之外获取参考点。
为了调试,我在库部分控件中运行了命令:saxon:serialize(xxf:instance('fr-form-instance'), 'xml')
。这返回了我只包含主窗体的库部分的部分的 XML,基本上是这样的:
<library-section>
<grid>
<controlInLibrary>Control value blah blah</controlInLibrary>
</grid>
</library-section>
如果我在主表单部分运行相同的命令,我会得到整个表单,包括库部分:
<form>
<another-section>
<grid-another>
<control1/>
<control2/>
</grid-another>
</another-section>
<library-section>
<grid>
<controlInLibrary>Control value</controlInLibrary>
</grid>
</library-section>
</form>
显然这里的示例 XML 被简化了。
这个 xxf:instance() 函数应该如何工作以获取库外的数据?我可能做错了什么?
根据另一个线程,我让它以相反的方式工作(从模板部分控件到主窗体控件的数据),但这显然不能双向工作: Orbeon Form Builder - Referring to a control within a Section Template
【问题讨论】:
【参考方案1】:从其他地方的 Orbeon 支持人员那里得到了答案。至少在我的情况下,工作解决方案是函数的形成如下:
xxf:instance('|fr-form-instance|')//outer-field
( //outer-field 显然是对主窗体上所需控件的引用。)
【讨论】:
以上是关于Orbeon Forms - 引用模板部分之外的控件值的主要内容,如果未能解决你的问题,请参考以下文章
这些在 ASP.NET Web Forms 4.5 中引用捆绑 CSS 的方法有啥区别?
Orbeon JavaScript 嵌入错误:`ORBEON.xforms.server.AjaxServer.Event 不是构造函数`