如何使用xquery从xml文件中读取命名空间

时间:2010-07-22 19:05:48

标签: xml namespaces xsd xquery

我正在使用xquery读取Office 2007文档的XML文件。在这些文件中,还包括名称空间。我需要检索命名空间的节点。我编写了xquery来获取数据,如果我从源XML文件中删除名称空间,xquery结果集的其他内容为空,它就可以正常工作。想知道如何使用xquery 1.0从xml源文件中读取命名空间和值。 (我不确定xquery 1.0是否支持名称空间,而且我也必须在DTD中定义名称空间,以便通过从多个xml文件中读取数据来创建自定义输出xml文件。

1 个答案:

答案 0 :(得分:-1)

尝试在XQuery prolog中定义默认命名空间:

declare default element namespace "<namespace-name>";

示例:

declare default element namespace "http://somewhere.com/foo";

您还可以声明其他名称空间,以便在查询中使用它们:

declare namespace <prefix> = "<namespace-name>";

示例:

declare namespace foo = "http://somewhere.com/foo";