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

RE: [xsl] A beef with XSLT Sometimes too complicated


Subject: RE: [xsl] A beef with XSLT Sometimes too complicated
From: "Geert Josten" <geert.josten@xxxxxxxxxxx>
Date: Fri, 14 Jul 2006 09:14:21 +0200

Hi Karl,

I am personally fond of using lookup tables. It does not result in a one
liner, but might make things clearer. Besides, you can put these lookup
tables in separate documents as xml config files..

<xsl:variable name="lookup-data">
  <item id="">background_bright</item>
  <item id="*">background_faded</item>
</xsl:variable>

<xsl:variable name="lookup-ref"
select="document('')/xsl:stylesheet/xsl:variable[@name =
'lookup-data']/item" />

<xsl:variable name="bg_img" select="($lookup-ref[@id =
normalize-space($all_vars)] | $lookup-ref[@id = '*'])[1]" />

Kind regards,
Geert

> Classic example, setting a variable:
>
> <xsl:variable name="bg_img">
> <xsl:choose>
> <xsl:when test="normalize-space($all_vars)=''">
> <xsl:text>background_bright</xsl:text>
> </xsl:when>
> <xsl:otherwise>
> <xsl:text>background_faded</xsl:text>
> </xsl:otherwise>
> </xsl:choose>
> </xsl:variable>
>
> Is there a cleaner / simpler way to do this?  Any chance you
> can do this in one line?


Drs. G.P.H. Josten
Consultant



Daidalos BV
Source of Innovation
Hoekeindsehof 1-4
2665  JZ  Bleiswijk
Tel.: +31 (0) 10 850 1200
Fax: +31 (0) 10 850 1199
www.daidalos.nl


De informatie - verzonden in of met dit emailbericht - is afkomstig van
Daidalos BV en is uitsluitend bestemd voor de geadresseerde. Indien u dit
bericht onbedoeld hebt ontvangen, verzoeken wij u het te verwijderen. Aan dit
bericht kunnen geen rechten worden ontleend.


Current Thread
Keywords
xml