“xmlns:xmpp”&“xmpp:xmlns”有什么区别?
问题描述:
这个工作正常。“xmlns:xmpp”&“xmpp:xmlns”有什么区别?
curl -H 'Content-Type: application/xml' -d " <body rid='2965554435' xmlns='http://jabber.o=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh' /> " https://dashboard.onsip.com/http-bind
这一个是返回一个空的响应
curl -H 'Content-Type: application/xml' -d " <body rid='2965554435' xmlns='http://jabber.o=utf-8' ver='1.6' xmpp:version='1.0' xmpp:xmlns='urn:xmpp:xbosh' /> " https://dashboard.onsip.com/http-bind
的区别是什么?并且是第二个适合写的呢?
P.S. XHR xml由OXJS库生成。
答
只有:
xmlns:xmpp='urn:xmpp:xbosh'
声明了一个命名空间。前缀xmlns:...
在XML With Namespaces中具有预定义的含义,用于绑定在文档中使用前缀xmpp:...
。
此:
xmpp:xmlns='urn:xmpp:xbosh'
不是一个命名空间声明,它的命名xmlns
带有前缀xmpp
的属性。前缀xmpp
未绑定到本文档中的任何名称空间,因为没有xmlns:xmpp
声明,并且它不是预定义的前缀。
带名称空间解析器的XML在获取xmpp:...
属性时会发出抱怨,并且xmpp
没有名称空间声明。这个错误将会是Web服务给你没有回应的原因。
谢谢,你是对的。事实上,我偶然发现了消息生成的源头,它恰好是一个JSJAC库,它附带了OXJS的示例,http://github.com/junction/OXJS/blob/master/examples/demo-jsjac/jsjac.js(行430)。我很惊讶我怎么写这个=(无论如何,你帮了我很大的忙,以确保第二个选项确实是一个缺陷 – simple 2010-07-31 13:32:55
Erk!是的,这很糟糕。这似乎是在jsjac的上游固定的,参见http:// github.com/sstrigler/JSJaC/commit/1c4f0b7e3fe7da6276f80227988cf98666278d57 – bobince 2010-07-31 13:48:02