Escape single quote in xslt concat function

keshav84 picture keshav84 · May 22, 2010 · Viewed 74.4k times · Source

I want to output single quote around $ID variable in the below xsl:value-of xsl statment.

<xsl:value-of select="concat('process[@Ref=',$ID,']')"></xsl:value-of>

currently it prints

process@Ref=87799989

Please let me know how can i achieve this.

Thanks in advance, Keshav

Answer

Dimitre Novatchev picture Dimitre Novatchev · May 22, 2010

In XPath 1.0:

You can use the built-in entities &apos; and &quot;

In XSLT 1.0:

Alternatively, you can define your $Q and $APOS variables (put the content (the literal " or the literal ' character) in the body of the xsl:variable, not in the select attribute).

In XPath 2.x (this also means XSLT 2.x and XQuery 1.x)

Simply escape an apostrophe by entering two adjacent apostrophes, escape a quote by entering two adjacent quotes, as defined by the XPath 2.0 language