xsl-list
[Top] [All Lists]

Re: [xsl] How to Create Sequence of Quoted Strings

2008-01-24 07:40:15
Andrew Welch wrote:
On 24/01/2008, Andrew Welch <andrew(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com> 
wrote:
On 24/01/2008, Eliot Kimber <ekimber(_at_)reallysi(_dot_)com> wrote:
   <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
double them up:

concat('''', $n, '''')

Also you could make it a one liner:

xs:enumeration/@value/string-join(concat('''',.,''''), ' or ')

How did I not know about doubling the quotes? I guess I really was sick that day.

After I posted my question I did a close reading of the XSLT 2 spec and figured out how to do with value-of and nested elements, but the one-liner is of course the most elegant approach. I think I may finally understand the distinction between string sequences created with xsl:sequence and text nodes created with xsl:value-of.

For future reference, where is this convention for quoting quotes defined?

Thanks,

Eliot
--
Eliot Kimber
Senior Solutions Architect
"Bringing Strategy, Content, and Technology Together"
Main: 610.631.6770
www.reallysi.com
www.rsuitecms.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--