RE: [xsl] How to select for ' in XPATH?

Subject: RE: [xsl] How to select for ' in XPATH?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 5 Aug 2009 18:20:11 +0100
I don't really know anything about the shell that you are using and any
escaping or unescaping that it is doing, so it's a bit hard to tell. The
general rule in XPath 2.0 is that if a string literal is enclosed in single
quotes, an apostrophe should be represented as a pair of adjacent
apostrophes.

Regards,

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

 

> -----Original Message-----
> From: Hermann Stamm-Wilbrandt [mailto:STAMMW@xxxxxxxxxx] 
> Sent: 05 August 2009 18:04
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] How to select for &apos; in XPATH?
> 
> 
> Hello,
> 
> 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
> <html><body>
> <p>lt and gt: &lt; &gt; </p>
> <p>apos and quot: &apos; &quot; </p>
> </body></html>
> $ tidy -q -xml tst.html;
> <html>
>   <body>
>     <p>lt and gt: &lt; &gt;</p>
>     <p>apos and quot: ' "</p>
>   </body>
> </html>
> 
> $ 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
> {...ontains(normalize-space(.),...}:
>     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