Re: New XML module

Uche Ogbuji <[email protected]>
Newsgroups gmane.comp.python.xml
Organization Fourthought, Inc.
Message-ID <1131739549.5807.160.camel@borgia>
On Thu, 2005-11-10 at 19:53 -0800, Guido van Rossum wrote:
> At Elemental I've had a lot of success with a simple module that
> converts between Python data structures and XML. I mentioned this code
> in a talk at EuroPython this summer and there was quite a bit of
> interest in it (despite my emphasis on its limitations).
> 
> Encouraged by that interest I'm contributing the code to the PSF for
> possible inclusion in the Python standard library. The first step of
> contribution is to put it up on the SF tracker:
> 
> https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1337648&group_id=5470
> 
> Since I'm not all that plugged into the Python XML community I'd like
> to get some feedback on the code (I've subscribed to this list
> specifically for that purpose).
> 
> A quick plug is the little test method included at the end of the code:
> 
> def _test():
>     class Inner(ElementClass):
>         __element__ = "inner"
>         __attributes__ = {"special": Boolean}
>         __characters__ = "text"
>     class Outer(ElementClass):
>         __element__ = "outer"
>         __attributes__ = {"id": Integer, "name": String}
>         __children__ = {Inner: "inner[]"}
>     sample = '''<outer id="1" name="foo">
>         <inner special="false">blah, blah</inner>
>     </outer>'''
>     outie = Outer.__parseText__(sample)
>     print (outie.id, outie.name)
>     for innie in outie.inner:
>         print (innie.special, innie.text, str(innie))
>     print outie
> 
> The output from running this is:
> 
> (1, 'foo')
> (False, 'blah, blah', '<inner special="false">blah, blah</inner>')
> <outer
>     id="1"
>     name="foo">
>   <inner special="false">blah, blah</inner>
> </outer>

Feels a bit like XIST.  Is the class def per element type mandatory?  If
not, what do defaults look like?

For my part, I think that there are so many XML processing idioms based
on user preference that I'd balk at blessing any one.  In retrospect I
think it was a mistake to even bless SAX and DOM by putting them in the
stdlib.  I think that XML processing is parallel to Web frameworks in
this respect.  I suppose an equivalent of BaseHTTPServer makes sense,
but IMO minidom, SAX and pulldom already serve for that.

Nevertheless, I've been looking forward to seeing this module of yours
for a while and I'll try to test it out and provide some feedback.


-- 
Uche Ogbuji                               Fourthought, Inc.
http://uche.ogbuji.net                    http://fourthought.com
http://copia.ogbuji.net                   http://4Suite.org
Articles: http://uche.ogbuji.net/tech/publications/

_______________________________________________
XML-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/xml-sig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.