[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Quoting Quotes in a Stand Along Context


Subject: RE: [xsl] Quoting Quotes in a Stand Along Context
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 25 Jan 2005 23:22:49 -0000

XPath 1.0 doesn't define any way to escape quotes in a string literal.

XPath 2.0 allows you to escape the delimiting quotes by doubling them, for
example

"He said: ""I don't"""

You can achieve this escaping using the XPath 2.0 replace() function.

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



> -----Original Message-----
> From: Alan [mailto:alan-xsl-list@xxxxxxxxx] 
> Sent: 25 January 2005 15:47
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Quoting Quotes in a Stand Along Context
> 
>     I'm writing a utility that matches nodes in a document. For
>     testing I'd like to simply print out a XPath statement that maps
>     to the node in the document. I'd like to compare that against
>     what I expect the output to be.
> 
>     I've got an XPath tracker in my SAX ContentHandler. It will
>     print something like this:
> 
>         /node()[1]/node()[4]/node()[2]
> 
>     Which ought to work, but it's hard to read.
> 
>     I'd rather emit something like this:
> 
>     /element[position() = 1
>              and local-name() = 'foo'
>              and namespace-uri = 'http://agtrz.com/foo-doc']/text()[3]
> 
>     Easier to specify.
> 
>     But with no context to set a placeholder, I don't know how to
>     escape single quotes in the unlikely event that one occurs in
>     the namespace URI.
> 
>     How do you escape single quotes in pure XPath?
> 
> --
> Alan Gutierrez - alan@xxxxxxxxx


Current Thread
Keywords