ANN: XML builder for Python

Stefan Behnel stefan_ml at behnel.de
Thu Jul 3 15:04:47 EDT 2008


Hi,

Walter Dörwald wrote:
> XIST has been using with blocks since version 3.0.
> 
> Take a look at:
> http://www.livinglogic.de/Python/xist/Examples.html
> 
> 
> from __future__ import with_statement
> 
> from ll.xist import xsc
> from ll.xist.ns import html, xml, meta
> 
> with xsc.Frag() as node:
>    +xml.XML()
>    +html.DocTypeXHTML10transitional()
>    with html.html():
>       with html.head():
>          +meta.contenttype()
>          +html.title("Example page")
>       with html.body():
>          +html.h1("Welcome to the example page")
>          with html.p():
>             +xsc.Text("This example page has a link to the ")
>             +html.a("Python home page", href="http://www.python.org/")
>             +xsc.Text(".")
> 
> print node.conv().bytes(encoding="us-ascii")

Interesting. Is the "+" actually required? Are there other operators that make
sense here? I do not see what "~" or "-" could mean.

Or is it just a technical constraint?

I'm asking because I consider adding such a syntax to lxml as a separate
module. And I'd prefer copying an existing syntax over a (badly) home grown one.

Stefan



More information about the Python-list mailing list