检查节点的名称空间
答
如何或是否存在命名不 一个元素?
这个问题不太清楚。在XML(+命名空间),每个节点至少有两个命名空间 - 与保留的前缀“XML”和“的xmlns”)
我解释这个问题的意思:
如何检查是否节点是的 a 命名空间。
解:
not(namespace-uri() = "")
这个表达式是true()
恰好在当前节点是一个命名空间和false()
否则。
答
正确地说,QName是一个元组(名称空间URI,本地名称,前缀)。
对于元素和属性以外的节点类型,名称空间URI和前缀是空的。
对于无空(或空)默认名称空间URI下的元素,只有前缀为空。
所有带空前缀的属性都有空的名称空间URI。
每个项目可以用这些表达式来选择:
namespace-uri($node)
local-name($node)
substring-before(name($node),':')
好问题,+1。查看我的答案获得完整的解决方案。 :) – 2010-12-08 14:41:25