[ZDP] BackTalk to Document The Zope Book (2.5 Edition)/Appendix C: Zope Page Templates Reference
webmaster@zope.org
webmaster@zope.org
Sun, 12 Jan 2003 16:05:50 -0500
A comment to the paragraph below was recently added via http://www.zope.org/Documentation/Books/ZopeBook/current/AppendixC.stx#3-24
---------------
The reasoning behind this ordering goes like this: You often want
to set up variables for use in other statements, so 'define' comes
first. The very next thing to do is decide whether this element
will be included at all, so 'condition' is next; since the
condition may depend on variables you just set, it comes after
'define'. It is valuable be able to replace various parts of an
element with different values on each iteration of a repeat, so
'repeat' is next. It makes no sense to replace attributes and
then throw them away, so 'attributes' is last. The remaining
statements clash, because they each replace or edit the statement
element.
% Anonymous User - May 10, 2002 4:03 pm:
Please replace from start of sentence to colon with following
(reason to do this; as it stands, it says what was done, without why
it was done, which is equally as important.) --
The reasoning behind these precedences begins with the fact that TAL
statements are being writtten as XML attributes. By definition, XML
attributes are un-ordered, and XML tools may, and do, rewrite attributes
in any order they wish. But, for TAL to be useful as a tmplating language,
there has to be a predictable order of operations. This order was
chosen by the following rationale:
% Anonymous User - Nov. 18, 2002 4:54 am:
wasszup??
% Anonymous User - Jan. 12, 2003 4:05 pm:
"so attributes is last" but it isn't, it's second last (at least in this doc, dunno about the code).
It should be after omit-tag though because otherwise you could end up generating the attributes and then
throwing them away, just like replace.