Yep, working code is on pypi: http://www.python.org/pypi/xmlmodel
nice /me goes to poke around.
some comments
------------
where does this comes from?
from meta import TrackableTrackerMeta
its failing in after easy_install
>>> import xmlmodel
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "build\bdist.win32\egg\xmlmodel\__init__.py", line 1, in ?
File "build\bdist.win32\egg\xmlmodel\main.py", line 4, in ?
ImportError: No module named meta
and I have never heard of that module
-------------
I notice your using DictObj from
http://trac.turbogears.org/turbogears/ticket/779
I think it could be replace with Bunch, as TG did
one thing that let me wondering is where does _order comes from in XMLNode
-------------
I really love your generators for the XML very nice implementation
------------
Now this will be funny even without getting it to compile I did an elementTree layout so as Linus ones said about a kernel
If it works you should be double impress :)
I added 2 methods to XMLModel which mimic what your toXML do, but since it's objects not a string I just made the recursive call there, since I couldn't run it I'm not sure I got the correct value for v
Jorge Vargas wrote:
> On 5/25/06, *Sean Jamieson* <[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>> wrote:
>
>
> I was thinking about integrating cElementTree in the future,
>
>
> I think that is the way to go, it gives everything you need and has
> been tested a lot.
>
> but to make
> a quick proof of concept, I just have my toxml() manually assembling a
> string, using generators.
>
>
> that's ok, but soon you'll need a nice backend :)
>
> you actually got workign code? if it's possible can I take a look?
>
> currently, XMLValue and it's subclasses are optional, with a
> 'required'
> bool keyword argument to __init__, also an XMLNodeList can have 0
> items
> (and therefore not appear)
>
> I could add another magic attribute parsed from XMLAttrs, like
> _tagname,
> called _required ...
>
>
> I think there should be a general way (classes,fields) to tell the
> engine which fields are optional and which aren't, so the render
> function can detect a malform object, but this could turn into a huge
> validation scheme which I'm not sure if you want. Although if you ever
> generate some xml-based std, there should be a validation
>
> but generally if a tag has child tags, its going to be used.
>
>
> yes that's the way it should
>
> I've seen hypy before, some months ago, it's yet another template
> language;
> It is an interesting idea though.
>
>
> I like the indentation thing which is basically what your doing here,
> what i don't like is the placeholder which you avoid with the class
> structure.
>
> ------
>
> Sean
>
>
> Jorge Vargas wrote:
>
> > On 4/28/06, *Sean Jamieson* < [EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>
> > <mailto:[EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]>>> wrote:
> >
> > Sorry for bringing this old topic up, but I was just playing with
> > ElementTree yesterday and I made a link to this
> > I believe your model can be implemented on top of ElementTree,
> to give
> > it a more friendly interface.
> >
> > class RSS2( XMLModel ):
> > class XMLAttrs:
> > _tagname = 'rss'
> > version = ' 2.0'
> >
> > class channel( XMLNode ):
> > title = XMLString()
> > description = XMLString()
> > link = XMLString()
> > lastBuildDate = XMLDate( format = "%a, %d %b %Y %H:%M:%S
> > EST" )
> > generator = XMLString()
> > docs = XMLString()
> >
> > class item( XMLNodeList ):
> > title = XMLString()
> > link = XMLString()
> > description = XMLString()
> > category = XMLList( type = XMLString() )
> > pubDate = XMLDate( format = "%a, %d %b %Y
> %H:%M:%S EST" )
> >
> >
> > Based on your example
> > all the helper classes extend the Element
> > even XMLModel is an extension to the Element.
> >
> > So all that needs to be done is a render function that will take
> your
> > class and do some calls to SubElement
> >
> > One question, how will you manage optional elements in the template?
> >
> > how is that?
> >
> > on the other hand I remenber looking at
> > http://manatlan.online.fr/hypy.php
> > < http://manatlan.online.fr/hypy.php> it's something similar but
> based
> > on indentation no classes.
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/turbogears
-~----------~----~----~----~------~----~------~--~---
main.py.patch
Description: Binary data

