On 5/25/06, Sean Jamieson <[EMAIL PROTECTED]> wrote:

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
-~----------~----~----~----~------~----~------~--~---

Attachment: main.py.patch
Description: Binary data

Reply via email to