[xsl] Patterns in lieu of mutable variables or string translation

Subject: [xsl] Patterns in lieu of mutable variables or string translation
From: Hank Ratzesberger <hankr@xxxxxxxx>
Date: Thu, 01 Sep 2011 11:39:12 -0700
Hello,

A table column has various values in it that need to be translated
into values that match the schema correctly.  Some values could
be wrong only by capitalization, others simply changed -- there's
no particular patter, but set of values is rather few in number.

Is there a good pattern for this? The only one that comes to
mind is cascading variable declarations where each test tried:

<xsl:variable name="start" select="/some/xpath/text()"/>
<xsl:variable name="t1" select="if ($start eq 'foo') then 'bar' else ''"/>
<xsl:variable name="t2" select="if (matches($start,'^FO.*')) then 'BAR' else $start"/>
<xsl:variable name="all" select="( $t1, $t2 )"/>
<xsl:variable name="finish" select="$all[not(empty(.))"/>


(I don't know that the last line works at all...)

Or should this be done in code, that being the idea of immutable vars
(except this is in a rather large block to repeat)?

<if test="$start eq 'foo'">
<value-of select="bar'>
</if>

Cheers,
Hank

--
Louis (Hank) Ratzesberger
hankr@xxxxxxxx
Scripps Orbit and Permanent Array Center
Mailing Address:
Mail Code 0225
9500 Gilman Drive
University of California, San Diego
La Jolla, CA 92093-0225
858-822-4472
IGPP/SIO Location:
Bldg T-31
8860 Biological Grade

Current Thread