RE: [xsl] Help quoting sequence elements

Subject: RE: [xsl] Help quoting sequence elements
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 3 Jul 2007 21:06:32 +0100
<xsl:value-of select="for $i in $code-list return concat('''', $i, '''')" 
  separator=", "/> 

Incidentally, the expression

for $i in $code-list return $i

is just a long-winded way of writing

$code-list

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: cknell@xxxxxxxxxx [mailto:cknell@xxxxxxxxxx] 
> Sent: 03 July 2007 20:48
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Help quoting sequence elements
> 
> I have this variable defined in my stylesheet:
> 
> <xsl:variable name="code-list" 
> select="document('../../hiring-report/xml/position-translation
> .xml')/position-translation/position/code[@pf='pf']" />
> 
> In a template, I have this element:
> <xsl:value-of select="for $i in $code-list return $i" />
> 
> which produces output like this:
> ACC ACT AO ATT AUD BA CI CLK ...
> 
> This is good, but I need output like this:
> 
> 'ACC',' ACT',' AO',' ATT',' AUD',' BA',' CI',' CLK', ...
> 
> That is to say, I need the individual elements of the 
> sequence to be surrounded by single quotes and separated by commas.
> 
> I've been reviewing some examples, but can't figure out how 
> to employ concat() to get the result I need. I'm at the point 
> where I've concluded that there is something fundamental I 
> don't understand here and I'm asking for someone to point it out.
> 
> Thanks. 
> 
> This produces
> 
> --
> Charles Knell
> cknell@xxxxxxxxxx - email

Current Thread