cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steven Cummings <steven...@yahoo.com>
Subject Re: Using built-in stylesheets tags in other built-in stylesheets
Date Thu, 17 Jul 2003 17:02:00 GMT
Just an FYI:

I've sometimes gotten a NullPointer exception when trying to <apply-templates
select="@*"/> where the current node wasn't an element. As a result, I split my
"pass-through" templates into two templates:

<xsl:template match="*" priority="-1">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="@*|text()|processing-instruction()|comment()"
priority="-1">
  <xsl:copy>
    <xsl:apply-templates select="node()"/>
  </xsl:copy>
</xsl:template>

I might have seen this done elsewhere when I first encountered the problem but
I don't remember exactly.

/S

--- Olivier Billard <obillard@rennes.jouve.fr> wrote:
> Hi Adrian,
> 
> I didn't saw that the
>      <xsl:template match="@*|*|text()|processing-instruction()"
> priority="-2">
>        <xsl:copy>
>           <xsl:apply-templates
> select="@*|*|text()|processing-instruction()"/>
>        </xsl:copy>
>      </xsl:template>
> 
> missed the <xsl:copy>... (damned)
> 
> Thank a lot !
> 
> --
> Olivier Billard
> 
> 
> 
> 
> adrian.geissel@ecb.int wrote:
> 
> > Hi Oliver,
> > 
> > For a logicsheet to work properly, you must 
> > 
> > a) provide a default transformation for elements not handled by your XSL
> > eg.
> >   <xsl:template match="@*|*|text()|processing-instruction()" priority="-2">
> >      <xsl:copy>
> >         <xsl:apply-templates
> select="@*|*|text()|processing-instruction()"/>
> >      </xsl:copy>
> >   </xsl:template>
> > 
> > and 
> > b) you must have a root <xsp:page/> handler, to kick the whole thing off:
> > 
> >   <xsl:template match="xsp:page">
> >     <xsp:page>
> >       <xsl:apply-templates select="@*|*"/>
> >     </xsp:page>
> >   </xsl:template>
> > 
> > 
> > Then, all you need to do is call <xsl:apply-templates/> in the spots in
> your
> > logic where you want the nested logic-tags to be evaluated.
> > 
> > HTH
> > /Adrian
> > 
> > 
> > 
> >>-----Original Message-----
> >>From: Olivier Billard [mailto:obillard@rennes.jouve.fr]
> >>Sent: Thursday 17 July 2003 17:03
> >>To: dev@cocoon.apache.org
> >>Subject: Re: Using built-in stylesheets tags in other built-in
> >>stylesheets
> >>
> >>
> >>Hi Tim,
> >>
> >>Thanks for your answer.
> >>
> >>I've tried
> >>xsp < esql < mystylesheet
> >>and xsp < mystylesheet < esql
> >>
> >>and none worked...
> >>
> >>It seems that order in namespace declaration is no longer 
> >>taken into consideration...
> >>
> >>Any other idea ?
> >>
> >>
> >>-- 
> >>Olivier BILLARD
> >>
> >>
> >>
> >>Tim Myers wrote:
> >>
> >>
> >>>The stylesheets get chained together in a pipeline one 
> >>
> >>after the other.  The
> >>
> >>>only issue of one stylesheet using another is order in the 
> >>
> >>pipeline.  Your xsp 
> >>
> >>>must be transformed by any logicsheet that uses another 
> >>
> >>logicsheet before it
> >>
> >>>is transformed by that other logicsheet.  xsp.xsl is the 
> >>
> >>least dependent, most
> >>
> >>>depended logicsheet.  esql uses it.  
> >>>
> >>>Here's the part i'm not sure about:
> >>>
> >>>Which ever order they are declared in cocoon.xconf is the 
> >>
> >>order you should 
> >>
> >>>declare your logicsheet in:
> >>>
> >>>yourlogicsheet > esql > xsp
> >>>or 
> >>>xsp < esql < yourlogicsheet.
> >>>
> >>>There was once a time when processing order was determined 
> >>
> >>by the order the
> >>
> >>>namespaces appear on the root element.  I don't think that 
> >>
> >>is any longer the
> >>
> >>>case.
> >>>
> >>>Tim
> >>>
> >>>On Thu, Jul 17, 2003 at 04:23:38PM +0200, Olivier Billard wrote:
> >>>
> >>>
> >>>>Hi all !
> >>>>
> >>>>I've already asked this question on the users list, but the 
> >>
> >>dev-ers may be more able to 
> >>
> >>>>answer... :)
> >>>>
> >>>>I would like to know if there is any issue in using tablibs 
> >>
> >>from built-in stylesheets 
> >>
> >>>>(like esql) in user-custom built-in stylesheets.
> >>>>
> >>>>For me, no Java code is generated...
> >>>>Isn't it possible ?
> >>>>How does Cocoon deal with all these built-in stylesheets ? 
> >>
> >>A global stylesheet with 
> >>
> >>>>"xsl:import" or "xsl:include" ? Is there a requiered order 
> >>
> >>of declaration in cocoon.xconf 
> >>
> >>>>to be able to cross-use taglibs ?
> >>>>
> >>>>Thanks in advance !
> >>>>
> >>>>-- 
> >>>>Olivier BILLARD
> >>
> > 
> > Any e-mail message from the European Central Bank (ECB) is sent in good
> faith but shall neither be binding nor construed as constituting a commitment
> by the ECB except where provided for in a written agreement.
> > This e-mail is intended only for the use of the recipient(s) named above.
> Any unauthorised disclosure, use or dissemination, either in whole or in
> part, is prohibited.
> > If you have received this e-mail in error, please notify the sender
> immediately via e-mail and delete this e-mail from your system.
> 


__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

Mime
View raw message