"xmlns: xmpp" & "xmpp: xmlns" В чем разница? - PullRequest
1 голос
/ 31 июля 2010

Этот работает хорошо.

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

в чем разница?а второй уместно написать так?

PS XHR xml генерируется библиотекой OXJS.

1 Ответ

3 голосов
/ 31 июля 2010

Только:

xmlns:xmpp='urn:xmpp:xbosh'

объявляет пространство имен.Префикс xmlns:... имеет предопределенное значение в XML с пространствами имен , чтобы связать использование префикса xmpp:... в документе.

This:

xmpp:xmlns='urn:xmpp:xbosh'

это не объявление пространства имен, это атрибут с именем xmlns с префиксом xmpp.Префикс xmpp не привязан ни к какому пространству имен в этом документе, поскольку нет объявления xmlns:xmpp и он не является предопределенным префиксом.

Анализатор XML с пространствами имен будет жаловаться при получении атрибутов xmpp:...и нет никакого объявления пространства имен для xmpp.Эта ошибка будет причиной того, что веб-служба не дает вам ответа.

...