跳转到内容

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>

上一步:数据元素编辑器下一步:定制选择列表

华夏公益教科书