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='[email protected]' from='[email protected]> <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 <[email protected]> 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 > [email protected] > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > -- http://www.alvinatorsplayground.blogspot.com/
_______________________________________________ Twisted-Python mailing list [email protected] http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
