[xsl] How to Create Sequence of Quoted Strings

Subject: [xsl] How to Create Sequence of Quoted Strings
From: Eliot Kimber <ekimber@xxxxxxxxxxxx>
Date: Thu, 24 Jan 2008 07:29:18 -0600
I suspect this is an FAQ and I feel like I should be able to figure it out but I'm stumped.

What I'm trying to achieve is to take the set of @value values for the xsd:enumeration children of xsd:restriction and generate a string of the form "'foo' or 'bar' or 'fred'".

Using an xs:select statement with a simple FLOWR expression I can do this but no using "'" as the quote (assuming the context is xs:restriction):

<xsl:variable name="quotedNames" select="for $n in xs:enumeration/@value return concat('^', $n, '^')"/>
<xsl:sequence select="string-join($quotedNames, ' or ')"/>

Gives me "^foo^ or ^bar^ or ^fred^".

My problem is I can't figure out how to replace "^" with "'" in the FLOWR expression--I must have been sick the day they discussed this aspect of XSLT.

What silly thing was taught the day I was out sick? Or will this particular approach simply not work?


Eliot Kimber
Senior Solutions Architect
"Bringing Strategy, Content, and Technology Together"
Main: 610.631.6770

Current Thread