Re: [xsl] function returning string with string-join()

Subject: Re: [xsl] function returning string with string-join()
From: Hermann Stamm-Wilbrandt <STAMMW@xxxxxxxxxx>
Date: Fri, 6 Aug 2010 11:22:03 +0200
<xsl:template match="/">
  <xsl:value-of select="string-join((if (* = 1) then 'NO1' else if (* = 2)
then 'NO2' else 'NOx','.html'),'')"/>
</xsl:template>


Mit besten Gruessen / Best wishes,

Hermann Stamm-Wilbrandt
Developer, XML Compiler, L3
WebSphere DataPower SOA Appliances
----------------------------------------------------------------------
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschaeftsfuehrung: Dirk Wittkopp
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294



From:       Michael M|ller-Hillebrand <mmh@xxxxxxxxxxxxx>
To:         XSL-List <XSL-List@xxxxxxxxxxxxxxxxxxxxxx>
Date:       08/06/2010 10:59 AM
Subject:    [xsl] function returning string with string-join()



Hello experts,

I find myself building functions like this (no real code!) to return a
string:

<xsl:function name="my:filename" as="xs:string">
  <xsl:param name="input" as="xs:integer" />
  <xsl:variable name="strings">
    <xsl:choose>
      <xsl:when test="$input eq 1">
        <xsl:value-of select="'NO1'" />
      </xsl:when>
      <xsl:when test="$input eq 2">
        <xsl:value-of select="'NO2'" />
      </xsl:when>
      <xsl:otherwise>
        <xsl:message select="'otherwise?'" />
        <xsl:value-of select="'NOx'" />
      </xsl:otherwise>
    </xsl:choose>
    <xsl:value-of select="'.html'" />
  </xsl:variable>
  <xsl:value-of select="string-join($strings, '')" />
</xsl:function>

In a variable this builds a sequence of strings using individual
xsl:value-of and in the end they are joined. Is this the way to do it if I
cannot concat() everything in a single, large xsl:value-of?

I have a feeling that it might be simpler?

Thanks for teaching me new/old tricks :-)

- Michael

--
_______________________________________________________________
Michael M|ller-Hillebrand: Dokumentation Technology
Adobe Certified Expert, FrameMaker
Consulting and Training, FrameScript, XML/XSL, Unicode
Blog [de]: http://cap-studio.de/

Current Thread