例如,根据W3C XML 1.0建议,以下XML文档是否被视为有效?请注意,文档中的任何位置都未引用名称空间“future”。
虽然这可能不被认为是好的风格,但我相信无论未使用的命名空间如何,文档仍然有效。任何人都可以证实或反驳这种假设吗?
谢谢,马特
<?xml version="1.0" encoding="UTF-8" ?>
<root xmlns='http://foo.org/v1' xmlns:future='http://bar.org/v1'>
<child>1</child>
</root>
答案 0 :(得分:3)
不,在XML文档中使用未使用的名称空间声明并不违法。
答案 1 :(得分:3)
standard似乎并不表示其他情况。第7节“文档的一致性”提供了一些要求,以便调用文档“命名空间良好”和“命名空间有效”,但没有任何说明您不能使用未使用的命名空间声明。
在第3节中,给出了一个示例,其中包含一个未使用的命名空间:
<x xmlns:edi='http://ecommerce.example.org/schema'>
<!-- the "edi" prefix is bound to http://ecommerce.example.org/schema
for the "x" element and contents -->
</x>
答案 2 :(得分:1)
W3C实际上有一个validator service。这有两个警告,编码和缺少doctype。
答案 3 :(得分:0)
虽然大多数清理工具将删除未使用的命名空间,但我不记得XML规范中的任何内容,说保留它们是非法的。而且我不知道任何XML解析器都不会接受这样的文件(而且还有很多这样的文件浮出水面。)