|
Subject: RE: [xsl] initial template parameters From: "Robby Pelssers" <robby.pelssers@xxxxxxxxx> Date: Thu, 18 Mar 2010 15:57:05 +0100 |
Or you would have to keep a package folder structure like most programming
languages do and even in javascript it is an adopted approach to create
namespace like structures to have no clashes in variable names.
Com.mycompany.xslt.pdf
- content2pdf.xslt
<xsl:param name="com_mycompany_xslt_pdf_content2pdf_param1"
select="'defaultvalue'"/>
Com.mycompany.xslt.html
-content2html.xslt
<xsl:param name="com_mycompany_xslt_html_content2html_param1"
select="'anotherdefaultvalue'"/>
So if you would include both xslt's in another main.xslt you would at least
have no confusion about parameters.
I have to say I don't follow this approach myself because I can oversee and am
the only maintainer of the stylesheets. But if you were to write xslt's which
would be used by 3rd parties this might not be such a bad approach.
What do you all think?
Kind regards,
Robby
-----Original Message-----
From: Max Toro [mailto:maxtoroq@xxxxxxxxx]
Sent: Thursday, March 18, 2010 3:40 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] initial template parameters
> more portable you can have a simple stylesheet with just a named template
> that initialises its parameters from global parameters and then xsl:imports
> the original stylesheet. this means you need a wrapper stylesheet for any
> top level named template that you want to use, but most stylesheets don't
> have _so_ many choices for initial named template.
Yes, I though of this solution too, but seems like too much trouble.
About stylesheets not having many entry point choices, I think this
limitation helps to enforce that stylesheets have a single purpose,
while they could have many purposes based on related functionality.
Like object-oriented languages, you can call a class constructor
passing parameters (global parameters in XSLT) and then call a method
passing other parameters (initial template parameters).
--
Max
2010/3/18 David Carlisle <davidc@xxxxxxxxx>:
> On 18/03/2010 14:13, Max Toro wrote:
>>> more portable you can have a simple stylesheet with just a named template
> that initialises its parameters from global parameters and then xsl:imports
> the original stylesheet. this means you need a wrapper stylesheet for any
> top level named template that you want to use, but most stylesheets don't
> have _so_ many choices for initial named template.
>> The only solution I can think of is using extension methods to pull
>> the parameters from the environment, something like this:
>>
>> <xsl:param name="color" value="(ext:get-parameter('color'), 'red')[1]"
>> as="xs:string"/>
>
>
> David
>
> ________________________________________________________________________
> The Numerical Algorithms Group Ltd is a company registered in England
> and Wales with company number 1249803. The registered office is:
> Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
>
> This e-mail has been scanned for all viruses by Star. The service is
> powered by MessageLabs.
> ________________________________________________________________________
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] initial template paramete, Max Toro | Thread | RE: [xsl] initial template paramete, Robby Pelssers |
| Re: [xsl] initial template paramete, Max Toro | Date | RE: [xsl] initial template paramete, Robby Pelssers |
| Month |