默认情况下声明哪些XML名称空间?
哪些XML名称空间是默认声明的,不需要/不必声明?简而言之:默认情况下声明哪些XML名称空间?,xml,xml-namespaces,Xml,Xml Namespaces,哪些XML名称空间是默认声明的,不需要/不必声明?简而言之: http://www.w3.org/XML/1998/namespace带有前缀xml http://www.w3.org/2000/xmlns/带前缀xmlns 和仅定义两个名称空间: 名称空间约束:保留前缀和名称空间名称 前缀xml根据定义绑定到名称空间名称 http://www.w3.org/XML/1998/namespace。它可能是,但不一定是 声明,并且不得未声明或绑定到任何其他命名空间 名称其他前缀不能绑定到此命
带有前缀http://www.w3.org/XML/1998/namespace
xml
带前缀http://www.w3.org/2000/xmlns/
xmlns
和仅定义两个名称空间: 名称空间约束:保留前缀和名称空间名称 前缀xml根据定义绑定到名称空间名称
http://www.w3.org/XML/1998/namespace
。它可能是,但不一定是
声明,并且不得未声明或绑定到任何其他命名空间
名称其他前缀不能绑定到此命名空间名称,并且
不能声明为默认命名空间
前缀xmlns仅用于声明命名空间绑定,并且是
按定义绑定到命名空间名称
http://www.w3.org/2000/xmlns/
。不得声明或拒绝
未申报的其他前缀不得绑定到此命名空间名称,
并且不能将其声明为默认名称空间。元素名称
不能有前缀xmlns
以三个字母序列x、m、l开头的所有其他前缀,
在任何情况下,组合都是保留的。这意味着:
- 除非后续规范另有规定,否则用户不应使用它们
- 处理器不得将其视为致命错误
http://www.w3.org/XML/1998/namespace
(前缀为xml
,包含少量属性,如xml:lang
,)和http://www.w3.org/2000/xmlns/
(前缀为xmlns
,用于声明其他名称空间)实际上是在标准中定义的
某些XML处理库可能会提升
http://www.w3.org/2001/XMLSchema
(前缀为xs
)和http://www.w3.org/2001/XMLSchema-instance
(前缀为xsi
)设置为接近默认状态,甚至在编写XML文件时默认为这些名称空间写入xmlns
声明,但这仅仅是惯例,不能作为标准行为来依赖。@CharlesDuffy那么,http://www.w3.org/XML/1998/namespace
,例如?如果你阅读(方便,在同一位置有一个网页),你会注意到它被描述为唯一的。相关:@CharlesDuffy Nope,这不是唯一的一个。:)嗯。我知道这一点(在写我的答案时忘记了这一点),但是你找到的任何一个对我来说都是新闻。对于XML文档中隐式声明的名称空间,答案是正确的。在其他规范中,情况略有不同。例如,在XPath/XSLT/XQuery使用的XDM数据模型中,每个节点都有“xml”作为名称空间绑定,但没有“xmlns”。