随着开发人员或开发人员团队处理的 XQuery 程序数量的增长,以及单个查询开始变得越来越复杂,您自然想要将查询分解成更模块化的组件。有了 XQuery 模块特性,您可以将常用的函数和变量组织在可重用的库模块中。可以将任意数量的库模块导入到包含 XQuery 主体的主 XQuery 块中。库模块也可以导入其他库模块。这大大增加了共享和重用 XQuery 代码的灵活性。此外,新增的到 API 的 XModuleResolver 接口允许您定制模块解析过程。您可以利用 XStaticContext 注册该接口的一个实现,以覆盖默认的模块解析行为。这让您更容易共享代码,因为用户提供的 XModuleResolver 的实现可以定位库模块,不管您为了方便、最佳的共享和重用而将它们存储在哪里。
利用嵌入式扩展函数特性,可以为直接在样式表或查询中包含一个或多个扩展函数的 Java 类绑定一个名称空间前缀。然后通过组合该前缀与被调用方法的名称,可以使用标准的函数调用语法调用函数。XSLT/XQuery 处理器使用函数调用中的信息(包括函数名称和参数个数)来选择方法。这种方式减少了声明和绑定扩展函数时所需的显式 Java 编程的工作量。这也进一步增强了可重用性,因为使用可重用模块的查询或样式表不需要知道这些模块调用的扩展函数,只需确保模块所需的任何类在运行时都在类路径中。
最后,运行时错误消息现在包含发生错误的源文件的名称、行号和列号。此特性对于大型模块化样式表和查询特别有用,因为在这些样式表和查询中,定位诸如 “值 a 对于类型 xs:integer 是无效的” 之类错误的源位置是非常费时的。此外,在共享的代码中(比如在使用的模块中),您可以更为高效地将问题定向到正确的开发人员或团队,甚至定位到正确的公司或组织(对于第三方代码)。这个新特性不仅仅对开发人员有益,也让生产环境中的问题诊断更为容易。
总之,结合使用这三个新特性,可以增强开发体验,提高开发人员效率,降低维护成本。
学习
- Feature
Pack for XML 1.0.0.9 Technology Preview: IBM WebSphere Application Server:探究 Feature Pack for XML 的最新特性。
- Feature Pack for XML, Version 1.0:查看最新的 Feature Pack for XML 文档。
- 在分布式操作系统上安装和卸载特性包:利用 IBM Installation Manager(很多 IBM 软件产品的公共安装程序)安装这个 WebSphere Application Server 特性包。
- 在 z/OS 系统上安装和配置特性包:利用 System Modification Program/Extended (SMP/E) 在 WebSphere Application Server for z/OS® Version 7.0 上安装 Feature Pack for XML。
- XQuery 1.0: An XML Query Language(W3C Recommendation,2011 年 1 月):更多地了解 XQuery 查询语言,以及它的模块、prolog、模块声明和导入。
- developerWorks 中国网站 XML 技术专区:在 XML 专区获取提高您的专业技能所需的资源。
- developerWorks 中国网站 WebSphere 产品专区:探究 WebSphere 软件平台的技术资源。
- WebSphere Application Server 产品专题:找到关于 WebSphere Application Server(它是 IBM WebSphere 软件平台的基础)的信息,并交付 SOA 需要的安全、可伸缩、有弹性的应用程序基础设施。
- IBM XML 认证:了解如何才能成为一名 IBM 认证的 XML 和相关技术的开发人员。
- XML 技术文档库:访问 developerWorks XML 专区,获得广泛的技术文章和技巧、教程、标准和 IBM 红皮书。此外,阅读更多的 XML 技巧。
- developerWorks 技术活动和网络广播:随时关注这些活动中的技术。
- developerWorks 播客:收听面向软件开发人员的有趣访谈和讨论。
- developerWorks 演示中心:观看演示,包括面向初学者的产品安装和设置演示,以及为经验丰富的开发人员提供的高级功能。
获得产品和技术
-
IBM 产品评估试用版软件:下载或 在线试用 IBM SOA Sandbox,并开始使用来自 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的应用程序开发工具和中间件产品。
讨论
- XML 专区讨论论坛:参与任何一个 XML 相关讨论。
- developerWorks 中文社区:查看开发人员推动的博客、论坛、组和 wikis,并与其他 developerWorks 用户交流。