On Tue, 20 Jan 2004 11:03:09 +0300
Dmitry Diskin <[EMAIL PROTECTED]> wrote:
> Antonio Gallardo wrote:
>
> > Dmitry Diskin dijo:
> >
> >>Hi,
> >>
> >>I'm looking for a way to pass some constant parameter from sitemap to
> >>all my xsl styles. Basically I need to replace multiple occurences (bad
> >>design! not mine :)) of "(c) 2001-2003" to something like "(c)
> >>2001-${currentyear}", where "currentyear" will be defined in single
> >>place (sitemap, sub-sutemap?).
> >
> >
> > One posible solution is using XInclude. We use it to set some particular
> > variables for our applications. Note we use some generic xslt to make
> > rendering. I think this could help you too. Sample:
> >
> > Description: We have some variables names for every application that have
> > his own values: application name, author, copyright notice, etc.
> >
> > The solution using XInclude is very easy, just 3 steps:
> >
> > Here is the basic XML that store this particular data for each application
> > (sorry the tags are in spanish, but I hope you can get the idea from):
> >
> > 1- Write a file with tags that will contain all the particular data for
> > each application:
> >
> > ********************** appdata.xml ******************************
> > <aplicacion>
> > <nombre>My app name</nombre>
> > <titulo>The title of the App</titulo>
> > <elaborado>Who made the App</elaborado>
> > <html>
> > <meta name="author" content="An author notice"/>
> > <meta name="copyright" content="The copyright notice"/>
> > <meta name="date" content="Start date"/>
> > </html>
> > <documentacion>Who made the documentation</documentacion>
> > ......
> > </aplicacion>
> > *****************************************************************
> >
> > 2-Then in a xslt we use XInclude:
> >
> > ************************** render2html.xslt *********************
> > <xsl:stylesheet version="1.0"
> > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> > xmlns:xi="http://www.w3.org/2001/XInclude">
> > <xsl:template match="document">
> > <html lang="es-NI">
> > <head>
> > <xi:include
> > href="context:///resources/datosapp.xml#xpointer(/aplicacion/html/node())"/>
> > *****************************************************************
> >
> > 3-In the sitemap.xmap you will use the xinclude transformer after the
> > stylesheet that render the page. In this case render2html.xslt:
> >
> > ....
> > <map:transform src="stylesheets/render2html.xslt"/>
> > <map:transform type="xinclude"/>
> > ....
> > *****************************************************************
> >
> > For more info about XInclude:
> > http://cocoon.apache.org/2.1/userdocs/transformers/xinclude-transformer.html
> >
> > I hope this help.
> >
> > Best Regards,
> >
> > Antonio Gallardo
>
> Thank you, Antonio!
>
> However, this is not exactly what I want since I'll have to add
> <xi:include ... /> to each xsl file. I will do it, of course, if no
> other solutions exist. Ideally, I want to define something in sitemap
> (or include something just once), and then use it in each xsl file
> without including additional files.
>
Try to use global variables in sitemap and pass them to your transformer
--
Best regards,
Yury Mikhienko.
IT ERP group head, ZAO "Mobikom-Kavkaz"
tel: (8632) 704188
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]