On Tue, 31 Oct 2000, Ricardo Rocha wrote:
> SLL parameters may be specified as either attributes or nested
> elements (depending on whether their value is known at compile
> or request time). Thus, the following 3 forms are all correct:
>
> <!-- Attribute notation -->
> <util:system-time format="hh:mm:ss"/>
>
> <!-- Nested element notation, static value -->
> <util:system-time>
> <util:format>hh:mm:ss</util:format>
> </util:system-time>
>
> <!-- Nested element notation, dynamic value -->
> <util:system-time>
> <util:format>
> <request:parameter name="format" default="hh:mm:ss"/>
> </util:format>
> </util:system-time>
>
> NOTE: Implementation-wise, logicsheets may be "preprocessed" to
> XSLT stylesheets, but this is not mandatory.
this alone would be a real boon to logicsheet developers as this is the
easiest thing to screw up when you're writing logicsheets for the first
time.
> A common pattern in logicsheets is to map dynamic tags to [static]
> method calls defined in an accompanying class (such as the "Util.java"
> class in the example above).
this is by no means the only design pattern. we had a discussion at
apachecon in which you theorized that all logicsheets could be written
strictly using java expressoins (e.g. only xsp:expr elements, no xsp:logic
elements) and helper static java libraries. that would be nice, as it's
always possible to nest expressions inside other expressions (although i
wonder if there's a java limit on the bytecode size of expressions?), but
unfortunately it doesn't work for, say, the esql logicsheet. in its case,
the logicsheet must create variables for its internal use - it must open a
connection object and create a statement and a resultset object for other
elements in the esql namespace to operate upon - you can't get away with a
single call to a static library. that's the mistake i made with the sql
logicsheet.
- donald
|