[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Modify Value of a Parameter Globally Within a Template


Subject: Re: [xsl] Modify Value of a Parameter Globally Within a Template
From: Lisa Jiang <ljiang@xxxxxxxxx>
Date: Mon, 12 Nov 2012 13:20:16 -0500

Hi Michael,

Yes so the input is information that I get from an HTTP request. This
information consists of a descriptor that tells whether our query for
the website was a match for the information on the website. It also
consists of information from the website. I then need to process the
information based on the descriptor. However, sometimes the descriptor
is incorrect. So I first want to call another template to check
whether or not the descriptor is correct based on the information and
change it if it is incorrect, since it affects processing later on. At
output, I generate a comment based on the descriptor as well as the
website information post-processing.

So for example:
Our query
Brand: Haagen Daaz
Flavor: Chocolate
Price: $5.99

Website return:
Descriptor: Found
Brand: Haagen Dazs
Price: $5.99

The descriptor should say "Similar Found." So then I would check
whether or not the brand names are exactly the same, and, if not, I
would change the descriptor.

So then instead of outputting (incorrectly):
Descriptor: Found
Comment: Exact match
Brand: Haagen Daaz
Price: $5.99

The correct output would be:
Descriptor: Similar Found
Comment: Error in brand name
Brand: Haagen Dazs
Price: $5.99

Thanks!
Lisa


>
> -------- Original Message --------
> Subject: Re: [xsl] Modify Value of a Parameter Globally Within a Template
> Date: Mon, 12 Nov 2012 17:21:55 +0000
> From: Michael Kay <mike@xxxxxxxxxxxx>
> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>
>
> On 12/11/2012 17:07, Lisa Jiang wrote:
> > Dear All,
> >
> > Is there a specific way to change the value of a parameter within a
> > call to another template and then use the resulting value for tests in
> > the original template? Or just change the value of a parameter within
> > a template that then reflects globally? I've included some simple,
> > example code on what I would like to do.
> >
> >
> No, you can't do it this way: this isn't the way functional languages work.
>
> If you can step up a couple of levels and describe the problem (that is,
> the input and output of the transformation and their relationship to
> each other) then we can try and find the right approach for you.
>
> Michael Kay
> Saxonica


Current Thread