Subject: Re: [xsl] dyn:evaluate question From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Thu, 24 Mar 2005 10:31:57 +1100 |
> I want to implement a per document view. This view extracts html > snippets from a snippet rep. This way user from apache forrest can > implement their own view for each document or use the default view > without knowing xsl. A known working solution is to dynamically modify the stylesheet (e.g. it's DOM) by setting the value of the "href" attribute to whatever necessary and *only then* pass this stylesheet to the XSLT processor. Cheers, Dimitre Novatchev On Wed, 23 Mar 2005 14:46:55 +0100, Thorsten Scherler <thorsten@xxxxxxxxxx> wrote: > On Wed, 2005-03-23 at 13:19 +0000, Michael Kay wrote: > > We used to get a lot of variations on attempts to do dynamic inclusion, but > > this is one of the most imaginative. > > > > LOL > > cheers ;-) > > > xsl:include is a compile time construct, it's effect happens right at the > > start of processing, to assemble a stylesheet for compilation. There's no > > way a variable can be evaluated before the stylesheet has been compiled, so > > trying to refer to a variable here simply isn't going to work. > > dyn:evaluate() does things at run-time that would normally be done at > > compile-time, it isn't going to enable you to do at compile time something > > (evaluating a variable) that can only possibly be done at run-time. > > > > You don't need a workaround, you need a different design: but you haven't > > said what the problem is, so I can't give you one. > > > > I want to implement a per document view. This view extracts html > snippets from a snippet rep. This way user from apache forrest can > implement their own view for each document or use the default view > without knowing xsl. > > sample for a view: > <forrest:view > xmlns:forrest="http://apache.org/forrest/templates/1.0" type="xhtml"> > > <forrest:contract name="meta"/> > > <forrest:hook name="container"> > <forrest:hook name="branding"> > <forrest:contract name="projectlogo"/> > <forrest:contract name="grouplogo"/> > <forrest:contract name="searchbox"/> > <forrest:contract name="nav-main"/> > </forrest:hook> > <forrest:hook name="spacer" /> > <forrest:contract name="nav"/> > <forrest:contract name="content"/> > </forrest:hook> > <forrest:contract name="feedback"/> > </forrest:view> > > pipe: > > index.html -> requested page > > index.xml -> content for the page > index.fv -> styling information about the page (as forrest:view) > > Through the prepare.include.* and prepare.xhmtl.* I am calling html > snippets from a rep based on index.fv. > > On the final stylesheet I am then creating the page like > <xhtml> > <head> > <xsl:call-template name="getHead"/> > <style type="text/css"> > <xsl:call-template name="getCss"/> > </style> > </head> > </xhtml> > > cheers for any suggestions > salu2 > > > Michael Kay > > http://www.saxonica.com/ > > > > > > > > > -----Original Message----- > > > From: Thorsten Scherler [mailto:thorsten@xxxxxxxxxx] > > > Sent: 23 March 2005 13:00 > > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > > Subject: [xsl] dyn:evaluate question > > > > > > Hello list, > > > > > > I am trying to dynamically include a stylesheet like this: > > > <xsl:variable name="request">index</xsl:variable> > > > <xsl:include href="cocoon:/prepare.include.dyn:evaluate($request)"/> > > > > > > but the dyn:evaluate($request) -part will not get resolved. > > > > > > As soon I change it to > > > <xsl:include href="cocoon:/prepare.include.index"/> > > > I get my stylesheets. > > > > > > Am I using the dyn:evaluate wrong? Are there a workaround? > > > > > > TIA > > > -- > > > thorsten > > > > > > "Together we stand, divided we fall!" > > > Hey you (Pink Floyd) > > > -- > thorsten > > "Together we stand, divided we fall!" > Hey you (Pink Floyd)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] dyn:evaluate question, Thorsten Scherler | Thread | [xsl] How to select nodes with exp, Barbara Worwood |
[xsl] A few problems with XSL:FO, senetex | Date | Re: [xsl] A few problems with XSL:F, Sven Waibel |
Month |