[xsl] Re: Comparing Node Text Content with a String Set

Subject: [xsl] Re: Comparing Node Text Content with a String Set
From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx>
Date: Tue, 28 Oct 2003 09:13:47 +0100
"Matthew Corr" <matthewcorr@xxxxxxxxxxxx> wrote in message
news:20031028054108.66644.qmail@xxxxxxxxxxxxxxxxxxxxxxxxxx
> Hello all,
>
> Yes I am an XSLT newbie, but I have searched
> everywhere for an answer to this seemingly simple
> problem with no success.
>
> I am trying to work out a way to encapsulate comparing
> a node's text with a string set for a possible match.
>
> ie.. instead of having the following <if test> syntax
> all through my multiple xslt files:
>
> <xsl:if test="ACCTTYPE = 'AAA' or
>               ACCTTYPE = 'BBB' or
>               ACCTTYPE = 'CCC' or
>               ACCTTYPE = 'DDD' or
>               ACCTTYPE = 'EEE'">
>
> I am curious if there is a way to define this once in
> a common xslt file which is then imported into my many
> xslt files, so if new types are added or removed, it
> only has to be changed once?

Yes. Use:

  <xsl:if test="ACCTTYPE  = document('')/*/my:Types">
     .  .  .  .  .  .
  </xsl:if>

Where my:Types is a child of xsl:stylesheet, defined like this:

  <my:Types>
   <type>AAA</type>
   <type>BBB</type>
   <type>CCC</type>
   <type>DDD</type>
   <type>EEE</type>
  </my:Types>

and the "my" prefix is globally bound to some namespace of your choosing.



=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL






 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread