跳转到内容

XRX

25% developed
来自维基教科书,开放世界中的开放书籍
使用 XRX 进行 Web 开发

XRXXForms/REST/XQuery 是一种简单而优雅的 Web 应用程序架构,它利用了现代的声明式和函数式编程系统。XRX 允许开发人员创建丰富的客户端 Web 应用程序,这些应用程序执行复杂的功能,而无需中间层对象、关系数据库或客户端 JavaScript。

XRX 基于三个标准

  1. 客户端上的 XForms
  2. REST 接口
  3. 服务器上的 XQuery

这三个标准是由 W3C 标准组织创建的,代表了他们对 Web 应用程序开发未来的愿景。有关 XRX Web 应用程序架构的替代定义的讨论,请参见 什么是 XRX

本维基教科书旨在作为一个示例,它专门使用这三种技术来创建一起工作的 小型应用程序。

[编辑 | 编辑源代码]

有两个姐妹维基教科书,本维基教科书旨在补充它们。

XForms 教程和食谱维基教科书拥有超过 90 个 XForms 应用程序示例,可以帮助您熟悉 XForms 模型和 XForms 控件。尽管 XForms 只有 21 个元素,但它们可以以多种不同的方式组合起来,以构建非常复杂的 Web 客户端。

XQuery 维基教科书专注于使用 XQuery 语言,几乎所有示例程序都使用 eXist 原生 XML 数据库。

XForms 维基教科书对用于托管 Web 表单的服务器几乎没有依赖性。XQuery 维基教科书几乎没有假设任何关于 XForms 的先验知识。另一方面,本书假设您将使用两种 XForms 和 XQuery 来创建一个完整的 Web 应用程序开发环境。

Subversion 存储库

[编辑 | 编辑源代码]

本食谱中的许多示例程序现在存储在 GoogleCode 上的 Subversion 存储库中。XRX GoogleCode 的 URL 如下:

http://code.google.com/p/xrx

如果您使用的是带有 Subversion 客户端(如 Eclipse 或 oXygen)的 IDE,存储库的 URL 为

https://xrx.googlecode.com/svn/trunk

如果您想要一个只读副本,可以使用非 SSL URL

http://xrx.googlecode.com/svn/trunk

  1. 介绍 - 本维基教科书目标和目标受众的概述 截至 2008 年 5 月 10 日,已开发 25%
  2. XRX 的好处 - 对 XRX Web 应用程序架构的技术优势的分析 截至 2008 年 5 月 10 日,已开发 25%
  3. XRX 应用程序服务器 - XRX 如何让 XQuery 语言从数据库语言转变为应用程序语言 截至 2008 年 5 月 10 日,已开发 25%
  4. 构建您的第一个 XRX 应用程序 - 有关如何开始构建您的第一个 XRX 应用程序的一些建议 截至 2008 年 10 月 13 日,已开发 75%
  5. 背景技术 - 您将用来构建 XRX 应用程序的背景技术的总结 截至 2008 年 10 月 13 日,已开发 75%
  6. 修补您的浏览器以支持 XForms - 如何添加功能以支持 W3C XForms 标准 截至 2009 年 7 月 4 日,已开发 25%
  7. XSLTForms 和 eXist - 使 XSLT 表单与 eXist 配合使用 截至 2009 年 9 月 30 日,已开发 25%

常见模式

[编辑 | 编辑源代码]
  1. 应用程序模块化 - 如果 XRX 应用程序具有模块化结构,它们可以得到管理和重复使用 截至 2010 年 2 月 14 日,已开发 25%
  2. 数据封装 - XRX 应用程序包含和管理自己的数据集,并提供 XQuery 函数作为接口 截至 2010 年 2 月 14 日,已开发 25%
  3. 标准视图 - XRX 应用程序包含其数据的标准化视图 截至 2010 年 2 月 14 日,已开发 25%
  4. 可搜索性 - XRX 应用程序提供工具来搜索它们自己的数据,并提供接口以使其能够参与站点范围的搜索功能 截至 2010 年 2 月 14 日,已开发 25%
  5. 代码表管理 - XRX 应用程序管理代码表(选择列表)并使非程序员可以轻松维护这些代码 截至 2010 年 2 月 14 日,开发完成 25%
  6. 服务器字段验证 - XRX 可以使用服务器端 XQuery 来验证字段 截至 2010 年 2 月 7 日,开发完成 25%
  7. 面包屑导航栏 - XRX 应用程序嵌套在层次结构中,导航面包屑会感知上下文 截至 2010 年 2 月 7 日,开发完成 25%

示例应用程序

[编辑 | 编辑源代码]
  1. 配置文件编辑器 - 使用 XForms 和 eXist 的简单文件、单用户 XML 配置文件编辑器 截至 2008 年 7 月 9 日,开发完成 75%
  2. 词典编辑器 - 使用 XForms 和 eXist 的简单往返创建/更新编辑器 截至 2008 年 4 月 2 日,开发完成 50%
  3. 正则表达式构建器 - 演示如何在 XQuery 中使用正则表达式 截至 2008 年 3 月 8 日,开发完成 75%
  4. 自动递增文件 ID - 将表单中的实例保存到集合中,并由服务器自动创建 ID 截至 2008 年 3 月 8 日,开发完成 25%
  5. 移动资源 - 简单资源移动实用程序 截至 2008 年 3 月 8 日,开发完成 25%
  6. 保存文件对话框 - 将文件保存到集合中,类似于保存对话框面板 截至 2008 年 3 月 8 日,开发完成 25%
  7. 登录和会话管理 - 登录面板和验证用户的方法 截至 2008 年 3 月 8 日,开发完成 25%
  8. 文件锁定 - 防止多个用户覆盖彼此更新的策略 截至 2008 年 4 月 10 日,开发完成 0%
  9. 选择列表生成器 - 用于从代码表生成选择列表的工具 截至 2009 年 3 月 25 日,开发完成 25%
  10. 术语表术语编辑器 - 用于管理专业商业词汇的工具 截至 2008 年 5 月 10 日,开发完成 25%
  11. 常见问题解答管理器 - 用于管理常见问题的工具 截至 2008 年 9 月 22 日,开发完成 25%
  12. 检测重复项 - 在您键入时检查重复项 截至 2008 年 5 月 10 日,开发完成 25%
  13. 数据元素编辑器 - 用于管理 ISO/IEC 11179 数据元素的工具 截至 2008 年 5 月 10 日,开发完成 25%
  14. 选择列表管理 - 用于在您的 XForms 中管理选择列表代码的工具 截至 2008 年 5 月 10 日,开发完成 25%
  15. 自定义选择列表 - 根据角色或其他会话变量自定义选择列表 截至 2008 年 5 月 10 日,开发完成 25%
  16. 表格排序 - 自定义表格排序顺序 25% 开发完成,截至 2009 年 3 月 18 日
  17. NIEM 服务 - 用于创建 NIEM Web 服务的工具 25% 开发完成,截至 2008 年 11 月 21 日
  18. 产品评分 - 允许用户对集合中的项目进行一到五星的评分 25% 开发完成,截至 2008 年 3 月 8 日
  19. 业务规则模板 - 一个简单的业务规则模板示例 25% 开发完成,截至 2008 年 5 月 10 日
  20. 元数据购物者 - 用于元数据元素的购物车工具 25% 开发完成,截至 2008 年 10 月 31 日
  21. 子集生成器 - 用于生成元数据注册表的子集,并将其导入 XML 模式 25% 开发完成,截至 2008 年 8 月 10 日
  22. XForms 生成器 - 将 XML 模式直接转换为 XForms 应用程序 25% 开发完成,截至 2008 年 5 月 10 日
  23. XForms 实例生成器 - 将 XML 实例直接转换为 XForms 应用程序 25% 开发完成,截至 2013 年 10 月 21 日
  24. 大型 XForms 生成器 - 使用单个 REST 参数创建大型 XForms 25% 开发完成,截至 2010 年 6 月 7 日
  25. 用户管理器 - 跟踪用户并管理他们的登录尝试、会话超时和角色 25% 开发完成,截至 2009 年 3 月 10 日
  26. 地图导航 - 将地图导航添加到您的 XRX 应用程序 25% 开发完成,截至 2010 年 10 月 24 日

XRX 模式

[编辑 | 编辑源代码]
  1. 内容路由 - 检查 XML 文档的内容以应用保存规则 25% 开发完成,截至 2008 年 7 月 23 日
  2. URL 重写 - 允许 URI 反映服务的逻辑结构,而不是数据库的集合结构 25% 开发完成,截至 2008 年 8 月 8 日
[编辑 | 编辑源代码]
  1. LAMP - Linux、Apache、MySQL 和 PHP
  2. AJAX - 异步 JavaScript 和 XML
  3. Adobe Flex - Adobe 用于构建富客户端界面的系统(现为 Apache Flex)
  4. Microsoft Silverlight - 微软将 XML 放入浏览器的策略(已停止)

参考文献

[编辑 | 编辑源代码]
  1. 相关维基教科书
    1. XForms
    2. XQuery
华夏公益教科书