quoting of special characters within XPath string

Subject: quoting of special characters within XPath string
From: "Julian Reschke" <reschke@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 5 Apr 2000 18:20:32 +0200

I encountered an interesting question regarding quoting in XPath

Lets say that my XPath looks like

	"/element[@attr ='" + variableString + "']"

I am using XPath programatically with MSXML3 from Java, but similar things
moght be possible with other XPath processors.

I can not guarantee that variableString does not contain single or double
quotes. It might even contain both kinds of quotes. How do I have to escape
(?) those quotes to get a well-formed XPath string?

Yes, I checked the XPath rec, but it seems to talk only about how to escape
XPath strings for inclusion into XML attributes (== XSLT stylesheets), which
is not applicable here...

Related to this: I was going to write a utility function which would replace
a placeholder with the variable contents before calling selectNodes. What
would be a good string that cannot appear in a legal XPath string (outside
XSLT)? I was thinkin about something like

	selectNodesParametrized (node, "/element[@attr ='$$']", variableString);


Regards, Julian

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Current Thread