使用 pureXML 构建通用组件库
2010-05-31 00:00:00 来源:WEB开发网一般来说,通用组件库的系统程序会与数据库建立连接并完成插入 XML 数据的操作。批量组件入库,则可以通过使用 DB2 实用工具 Load 或 Import 来完成,本文由于篇幅原因不再赘述。
5. 组件出库
组件入库以后,在构建一个完整的软件系统时,我们可以根据特定的查询条件,比如组件的功能、编目类别和接口参数等,从组件库中查找到所需组件进行组装。
查询 XML 信息可以使用 DB2 v9 完全支持的 SQL/XML 或 Xquery 语句,获取满足条件的组件信息。在本例中,组件的 entity 和 reference 是组装组件必需的信息,基于组件的软件开发框架或工具中,通过 Java 的反射机制创建该组件所属对象的实例,并调用组件方法 ( 当然,组件库中的所有组件编译后的 Java 库文件,必须在软件编译及运行时能够访问 ),完成软件的部分功能。
例如,我们可以使用 SQL/XML 查找功能为“用给定的分隔符连结两个字符串(concate two strings with given separator)”的组件,脚本如下。
清单 8. 使用 SQL/XML 查询组件信息
SELECT temp.entity, temp.reference
FROM component C,
XMLTABLE('declare namespace cs="http://www.w3.org/2009/09/componentBase";
$info/component' PASSING C.info AS "info"
columns entity
varchar(200) path './@entity',
reference varchar(200) path './@reference'
) as temp
WHERE XMLEXISTS('$info/*:component[*:function="concate two strings
with given separator"]' PASSING C.info AS "info")@
我们也使用 Xquery 返回需要的组件信息,如果需要 XML 描述信息中的多个节点,可以在返回语句中构造基于组件的软件开发框架或工具方便处理的结构。
更多精彩
赞助商链接