Orbeon - 我可以参数化一个剖面模板吗?

时间:2015-09-02 21:01:08

标签: orbeon

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

  1. 名字
  2. 姓氏
  3. Middle Initial
  4. 在某些表单上,我想显示Middle Initial,而在其他表单上我希望隐藏该字段。我创建了一个包含该部分模板的表单,以及一个名为" 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表达式始终返回空。如果它与showMiddleInitial字段的格式相同,则返回正确的值'true'

    我做错了吗?或者还有另一种方法可以实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

以下表达式应该有效:

xxf:component-context()/root()/form/variables/showMiddleInitial = 'true'