[xsl] How to select for ' in XPATH?

Subject: [xsl] How to select for ' in XPATH?
From: Hermann Stamm-Wilbrandt <STAMMW@xxxxxxxxxx>
Date: Wed, 5 Aug 2009 19:04:14 +0200

I tried to select for special characters with XPATH below.
While I succeeded for some I am unable to select for the
&apos; character (') and got an error message.

Any hint how this can be done?

$ xmlsh
$ cat tst.html
<p>lt and gt: &lt; &gt; </p>
<p>apos and quot: &apos; &quot; </p>
$ tidy -q -xml tst.html;
    <p>lt and gt: &lt; &gt;</p>
    <p>apos and quot: ' "</p>

$ xpath "/*/*/*[contains(normalize-space(.),'<')]" <tst.html
<p>lt and gt: &lt; &gt; </p>
$ xpath "/*/*/*[contains(normalize-space(.),'>')]" <tst.html
<p>lt and gt: &lt; &gt; </p>
$ xpath "/*/*/*[contains(normalize-space(.),'\"')]" <tst.html
<p>apos and quot: ' " </p>
$ xpath "/*/*/*[contains(normalize-space(.),'\'')]" <tst.html
Exception running: xpath
net.sf.saxon.s9api.SaxonApiException: XPath syntax error at char 34 in
    Unmatched quote in expression

Mit besten Gruessen / Best wishes,

Hermann Stamm-Wilbrandt
Developer, XML Compiler
WebSphere DataPower SOA Appliances
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschaeftsfuehrung: Erich Baier
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294

Current Thread