Subject: RE: [xsl] Quotes in expression From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 3 Nov 2006 15:35:10 -0000 |
> I'm having issues with a the ' character. > > What I'm looking to do is create a line that says: > $content-file/Doc/Field['myField']/table/row > > I have used the following expression: > concat('$content-file/Doc/Field[@FieldName='',{$data},' > ']/ > table/row') Is this within an XSLT stylesheet? 1.0 or 2.0? When in XSLT, an XML character reference like ' is expanded before XPath gets to see it. So the expression XPath sees is concat('$content-file/Doc/Field[@FieldName='',{$data},'']/table/row') In 2.0 (like in SQL), a double apos within an apos-delimited string represents a single apos, which would account for the output you are seeing. In 2.0 you can therefore do concat('$content-file/Doc/Field[@FieldName=''',$data,''']/table/row') In 1.0 it's simplest to declare a variable: <xsl:variable name="apos">'</xsl:variable> then concat('$content-file/Doc/Field[@FieldName=',$apos, $data, $apos, ']/table/row') Either way, your curly braces are very wrong. Curlies never appear inside an XPath expression, they are only used to delimit an XPath expression embedded in enclosing literal text. Michael Kay http://www.saxonica.com/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Quotes in expression, Nic James Ferrier | Thread | [xsl] Cals Table, ms |
Re: [xsl] Quotes in expression, Nic James Ferrier | Date | RE: Re: [xsl] formatting issues, ms |
Month |