假设一个元素声明为QName:
<element name="example" type="QName" />
在实例文档中,example
的值可以没有名称空间前缀:
<example>Hello</example>
如果是,那么Hello
的命名空间URI是什么?
假设我声明了一个默认命名空间:
<document xmlns="http://www.example.org">
<example>Hello</example>
</document>
Hello
命名空间中有http://www.example.org
吗?
答案 0 :(得分:0)
Hello
是一个值而不是元素或属性名称,因此它没有名称空间URI,它只是一个字符串。
声明
<element name="example" type="QName" />
将example
的可能值限制为与QName语法匹配的字符串(在http://www.w3.org/TR/REC-xml-names/#ns-qualnames中定义 - 因此有效值可以是a
,a:b
等等),但它没有说值是一个QName。
答案 1 :(得分:0)
内容遵循与元素(而非属性)名称相同的规则。没有前缀的QName被解释为在实例中由具有xmlns
属性的最近包含元素声明的默认命名空间中,或者如果没有声明命名空间则在无名空间中。所以,是的,Hello将被解释为表示该命名空间中的名称的QName。