Orbeon - 我可以参数化部分模板吗?
Orbeon - Can I parameterize a Section Template?
例如,我有一个名为 "Full Name" 的部分模板。它包含三个字段:
- 名字
- 姓氏
- 中间名首字母
在某些表单上,我想显示中间名首字母,而在其他表单上,我想隐藏该字段。我创建了一个表单,其中包含该部分模板以及一个名为 "Variables" 的部分,该部分始终隐藏。该部分包括一个名为 "Show Middle Initial".
的字段
表单实例数据如下所示:
<form>
<variables>
<showMiddleInitial>true</showMiddleInitial>
</variables>
<fullName>
<firstName/>
<lastName/>
<middleName/>
</fullName>
</form>
我在部分模板中的 middleName 控件中添加了一个 Visibility 表达式:
/form/variables/showMiddleInitial = 'true'
这类似于 this answer 但相反,因为部分模板正在访问父表单的数据。我认为这可能有效,因为它们都使用相同的实例数据,但不幸的是它没有。如果控件位于部分模板中,则 /form/variables/showMiddleInitial
表达式始终 returns 为空。如果它与 showMiddleInitial 字段的形式相同,那么它 returns 正确的值 'true'
.
我是不是做错了什么?或者有其他方法可以做到这一点吗?
以下表达式应该有效:
xxf:component-context()/root()/form/variables/showMiddleInitial = 'true'
例如,我有一个名为 "Full Name" 的部分模板。它包含三个字段:
- 名字
- 姓氏
- 中间名首字母
在某些表单上,我想显示中间名首字母,而在其他表单上,我想隐藏该字段。我创建了一个表单,其中包含该部分模板以及一个名为 "Variables" 的部分,该部分始终隐藏。该部分包括一个名为 "Show Middle Initial".
的字段表单实例数据如下所示:
<form>
<variables>
<showMiddleInitial>true</showMiddleInitial>
</variables>
<fullName>
<firstName/>
<lastName/>
<middleName/>
</fullName>
</form>
我在部分模板中的 middleName 控件中添加了一个 Visibility 表达式:
/form/variables/showMiddleInitial = 'true'
这类似于 this answer 但相反,因为部分模板正在访问父表单的数据。我认为这可能有效,因为它们都使用相同的实例数据,但不幸的是它没有。如果控件位于部分模板中,则 /form/variables/showMiddleInitial
表达式始终 returns 为空。如果它与 showMiddleInitial 字段的形式相同,那么它 returns 正确的值 'true'
.
我是不是做错了什么?或者有其他方法可以做到这一点吗?
以下表达式应该有效:
xxf:component-context()/root()/form/variables/showMiddleInitial = 'true'