XRX/选择列表管理
外观
< XRX
您希望表单中的每个选择列表都根据具体情况进行定制。选择列表需要通过 Web 服务器上一系列上下文感知服务动态生成。
XForms 非常强大,因为它们可以从模型中的单个实例加载表单中的所有代码。
例如,如果您想根据用户的角色或会话中的其他属性(例如,他们所属的部门或组)自定义向用户显示哪些选择列表。
这可以通过使用存储在服务器上的会话变量来实现。您也可以将用户存储在客户端的 cookie 中,然后使用此信息查找正确的信息。
假设您有一个 XML 文件,该文件将用户与其角色关联起来
<Users>
<User>
<LoginID>jdoe</LoginID>
<Roles>
<Role>project-manager</Role>
<Role>glossary-code-table-admin</Role>
</Roles>
</User>
<User>
...
</Users>
这些角色可以存储在会话变量中(参见会话),或者您可以使用一个函数从 LoginID 中查找角色。
当表单加载时,可以执行一个脚本将所有代码表加载到模型中的一个实例中
<xf:model>
<xf:instanace src="all-codes.xq?LoginID=jdoe"/>
</xf:model>