Orbeon - 我可以参数化部分模板吗?

Orbeon - Can I parameterize a Section Template?

例如,我有一个名为 "Full Name" 的部分模板。它包含三个字段:

  1. 名字
  2. 姓氏
  3. 中间名首字母

在某些表单上,我想显示中间名首字母,而在其他表单上,我想隐藏该字段。我创建了一个表单,其中包含该部分模板以及一个名为 "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'