[Twisted-Python] XmlStream and addObserver - root element's name?

Alvin Delagon adelagon at gmail.com
Wed Dec 17 07:31:13 EST 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: http://twistedmatrix.com/pipermail/twisted-python/attachments/20081217/db92dd8a/attachment.htm 


More information about the Twisted-Python mailing list