我总是觉得有点难以向其他人解释:为什么存在XML命名空间?我们什么时候应该使用它们,何时不应该使用它们 在XML中使用命名空间时常见的陷阱是什么?
另外,它们如何与XML模式相关?XSD架构是否应始终与命名空间相关联?
这里让我困惑的是:
NSXMLParser方法具有namespaceURI属性:
- (void)parser:(NSXMLParser *)parser
didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
Run Code Online (Sandbox Code Playgroud)
从文档中我无法弄清楚它们的意思是"命名空间".有人可以用一个例子来解释XML中的命名空间是什么以及我为什么要这样做?
编辑:是的,我注意到维基百科.但它又令人困惑.将一个单独的名称空间声明放在XML文件的顶部是有意义的
xmlns:xhtml="http://www.w3.org/1999/xhtml"
Run Code Online (Sandbox Code Playgroud)
?? 再一次,这只是毫无意义.维基百科没有任何有用的例子可以获得它,为什么我真的想要名称空间,更重要的是 - 它在XML文件中看起来如何.他们说这是为了解决多个同名元素(如ID)的歧义,但没有例子说明多个命名空间如何解决这个问题.