Subject: 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
|