RE: [xsl] Testing for special characters

Subject: RE: [xsl] Testing for special characters
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 2 Jan 2009 15:03:45 -0000
Your test:

<xsl:if test="P='. '">

tests whether any child::P of the context node is equal to ". ". This isn't
very useful if you are positioned on the <Sect> element, and it isn't at all
useful if you are positioned on the "P" element. The most likely explanation
is that you are using this test "in the wrong place".

The problem has nothing to do with special characters (At least I assume so:
it's possible that the character in question is not really "." at all, but
some other character that has not made it through to the email).

It's hard to propose a solution without seeing a wider selection of the
possible inputs that need to be processed.

Michael Kay 

> -----Original Message-----
> From: Graeme Kidd [mailto:coolkidd3@xxxxxxxxxxx] 
> Sent: 02 January 2009 14:36
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Testing for special characters
> Hi,
> I have used  Adobe Acrobat to export a PDF as XML and I am 
> wanting to convert it.
> Sometime it displays an unordered list like this:
> <Sect>
>     <P>List: </P>
>     <P>Item 1; </P>
>     <P>. </P>
>     <P>Item 2; </P>
>     <P>. </P>
>     <P>Item 3; </P>
>     <P>. </P>
> </Sect>
> Which I am trying to convert to this:
> <Sect>
>     <P>List:</P>
>     <UL>
>         <LI>Item 1; </LI>
>         <LI>Item 2; </LI>
>         <LI>Item 3; </LI>
>     </UL>
> </Sect>
> The best I can think of is to check if there is a bullet 
> point then use the previous <P> node.  At the moment I am 
> having trouble just checking if there is a bullet point as 
> this doesn't seem to work:
> <xsl:if test="P='. '">
> I am thinking it might be because it is a special character. 
> I have tried specifying the output as UTF-8 <xsl:output 
> method="xml" indent="yes" encoding="UTF-8" />
> But that didn't seem to help, so does anyone else have any ideas?
> Thanks 

Current Thread