[Twisted-Python] XmlStream and addObserver - root element's name?
Alvin Delagon
adelagon at gmail.com
Wed Dec 17 05:31:13 MST 2008
Hello Marcin,
XmlStream is an implementation of XMPP/Jabber protocol (which is widely used
for Instant Messaging). If you have time please read about this on
www.xmpp.org. The reason why /frame handler was not executed is because
XMPP/Jabber sessions starts and ends with streams like for example:
<*stream*:*stream* xmlns:*stream*="http://etherx.jabber.org/streams">
.
.
.
<message to='foo at jabber.org' from='bar at jabber.org>
<body>Hello World!</body>
</message>
.
.
.
</stream:stream>
You might want to take a look at twisted XML-RPC libraries.
---
Alvin
On Wed, Dec 17, 2008 at 7:25 PM, Marcin GliĆski <marcin at ascii-art.pl> wrote:
> Hello!
>
> There's a problem I can't find an answer to. I'd like to design Xml
> based protocol.
> I've found XmlStream, read doc and found addObserver method. I wrote
> simple code:
>
> class XmlTest(xmlstream.XmlStream):
> # (...)
> def connectionMade(self):
> xmlstream.XmlStream.connectionMade(self)
> self.addObserver("/frame", self.frameHandler)
> # (...)
>
> # (...)
>
> def frameHandler(self, data):
> print "Wilma, I'm Home!"
>
> When I send XML with frame element as a root:
>
> <frame>
> <whatever/>
> </frame>
>
> FrameHandler isn't executed, but if I put frame element inside some
> other root element:
>
> <sheep>
> <frame>
> <whatever/>
> </frame>
> </sheep>
>
> Then my handler is activated. Why? First, I thought maybe my XPath
> knowledge is wrong,
> so I checked few tutorials[1] and they told me there's something wrong with
> addObserver method. How to make it working?
>
>
>
> ~MG.
> (Hi, I'm new here :)
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>
--
http://www.alvinatorsplayground.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20081217/db92dd8a/attachment.html>
More information about the Twisted-Python
mailing list