cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ricardo Rocha <rica...@apache.org>
Subject Re: TagLib Confusion
Date Sun, 28 May 2000 12:58:27 GMT
Jeremy Quinn wrote:
> I am trying to develop a proposal for a generic Form Handing TagLib.
> 
> The idea is that the TagLib will allow the inclusion of other TagLibs
> for I/O purposes.
> 
> ie. a form handler may want to make use of a File R/W TagLib, or the
> SQLTagLib etc. to read and modify XML resources via a form.
> 
> My confusion is this:
> 
> How do TagLibs interact when there is more than one in the XML file?
> What happens when they are nested within each other?
> What effect does the order of the namespace declarations have?
> 
> My understanding is that it is the order of the declarations:
> 
>         <xsp:page
>     language="java"
>     xmlns:xsp="http://www.apache.org/1999/XSP/Core"
>     xmlns:util="http://www.apache.org/1999/XSP/Util"
>         xmlns:sql="http://www.apache.org/1999/XSP/SQL"
>         xmlns:form="http://www.thing.org/2000/XSP/Form"
>         >
> 
> which defines what order the TagLibs are "expressed", not the nesting.
> 
> Is this true?

Yes, it's the namespace declaration order (or the order
of <?xml-logicsheet?> directives) that governs the order
in which logisheets are applied. It's declaration order,
rather than nesting (which should never been necessary,
see below).

Important exception:
  xmlns:xsp="http://www.apache.org/1999/XSP/Core"
will be applied always _last_, regardless of its position
within the logicsheet declaration list.

In you example, logicsheets would be applied in the
following order:

- Util
- SQL
- Form
- XSP

I tend to put "util" at the end of the list (right before
XSP) because other logicsheets may typically want to reuse
the general-purpose functionality provided by this
logicsheet.

Now, what do we understand by nesting? The inclusion of one
stylesheet into another (i.e., <xsl:import>, <xsl:include>)?
The use of external entities (&include;)?

XSP's layered approach is based on applying sequence, like
in preprocessing. In principle, it's possible to apply the
same logicsheet more than once: if an intermediate logicsheet
generates dynamic tags belonging to the same namespace of
a previously applied logicsheet (this doesn't sound like
good design, though and requires using the pi'-based
logichseet declaration form: <?xml-logicsheet?>)

Please, describe your form logicsheet design in more depth,
especially in relation with its multiple IO strategy support.
This sounds very interestring...

Ricardo

Mime
View raw message