[TransWarp] Template parsing and XML/HTML processing design

Phillip J. Eby pje at telecommunity.com
Mon Jul 21 12:23:59 EDT 2003

At 05:56 PM 7/21/03 +0200, Roché Compaan wrote:

>This looks very promising. We were just testing if you still have all
>the answers ;-)

I try.  :)  At least, I try to be clear on where I'm headed with things.

There are an awful lot of things I find exciting about the 
model/view/pattern design, although I'm not sure those are the best terms 
for the ideas.  "pattern" isn't bad because it implies, "this block is used 
as a pattern for something".  Model and view aren't bad, but I'd almost 
prefer "subject" and "format", or something like that.  Model and view are 
so overloaded already, and clearer terminology would be helpful.  Really, 
I'd rather use "view" to refer to what are now called "locations" in 
peak.web, as that would correspond more closely to Zope 3's concept of 
"view".  I originally went with model and view because Woven does, and I 
thought at first that PWT's might be somewhat compatible with Woven 
templates.  However, the execution model is different enough that I don't 
think it's really practical to keep it the same.

I do want to get the terminology firmed up soon, though, or it'll be 
difficult to do any development with peak.web.  So, I'm open for 
suggestions on what sounds better.  Here are some ideas to get you started:

"model" words: subject, data, target, source, content

"view" words: format, renderer, control, component, widget, gadget, 
display, type

Ideally, I'd like both words to be nouns, or usable as an adjective, so 
that terminology for the associated objects is straightforward.  For 
example, I could talk about a "format component", or just a "widget".  I'd 
also like the "view" word to more strongly imply "visual 
component".  Brevity in the name is a virtue, from the typing 
perspective.  (Yes, I *am* lazy.  Why do you ask?)  But this needs to be 
balanced with descriptiveness, otherwise we'd end up with "what" and "how" 
replacing "model" and "view".  :)

Hmmm..  you know, if you used "show" as the XML namespace, you'd have:

<table show:what="tabulardata" show:how="list">

Interesting.  :)  'show:pattern' is a little odd, though.  Maybe <tr 
show:as="listItem"> or <tr show:this="listItem">?

I'd definitely want some feedback on the show: idea before I'd implement 
it, though, as I'm worried it might be too cutesy.  The other problem is 
that it doesn't translate well back to the implementation.  'addThis()' 
wouldn't be a very nice replacement for the current 'addPattern()'.  And I 
don't really want to talk about "how components" and "what components", as 
this could lead to some Who's-On-First-isms.  :)

More information about the PEAK mailing list