带有命名空间的XML文件上的xQuery
发布时间:2020-12-16 07:48:33 所属栏目:百科 来源:网络整理
导读:我正在使用eXist-DB来存储 XML文档.这是一个带有命名空间信息的示例XML文件: ?xml version="1.0" encoding="utf-8"?ClinicalDocument xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7
我正在使用eXist-DB来存储
XML文档.这是一个带有命名空间信息的示例XML文件:
<?xml version="1.0" encoding="utf-8"?> <ClinicalDocument xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3"> <name> <family>Smith</family> <middle>Blade</middle> <first>John</first> </name> <name> <family>Frost</family> <middle>Bill</middle> <first>Conrad</first> </name> </ClinicalDocument> 查询是: declare namespace xsd = "http://www.w3.org/2001/XMLSchema"; declare namespace xsi = "http://www.w3.org/2001/XMLSchema-instance"; for $x in doc("/db/HL7/cda2.xml")/ClinicalDocument/name return $x/family 我试图在查询中声明第三个命名空间,但它似乎不起作用.
第三个名称空间属性(xmlns =“urn:hl7-org:v3”)绑定默认名称空间.
在XQuery中为元素定义默认命名空间的语法是: declare default element namespace "urn:hl7-org:v3"; 但是,重新定义默认元素名称空间会阻止查询测试没有名称空间的节点! 更好的方法是将新前缀绑定到此命名空间: declare namespace xsd = "http://www.w3.org/2001/XMLSchema"; declare namespace xsi = "http://www.w3.org/2001/XMLSchema-instance"; declare namespace h17 = "urn:h17-org:v3"; for $x in doc("/db/HL7/cda2.xml")/h17:ClinicalDocument/h17:name return $x/h17:family (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |