Re: [xsl] Testing for special characters

Subject: Re: [xsl] Testing for special characters
From: "Graeme Kidd" <coolkidd3@xxxxxxxxxxx>
Date: Fri, 2 Jan 2009 16:36:31 -0000
Woops silly me, I shouldn't try and learn new things when I am tired.
Anyway thanks again you have been a great help.

Graeme

--------------------------------------------------
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Sent: Friday, January 02, 2009 4:27 PM
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject: RE: [xsl] Testing for special characters

It picks up the bullet points no problem. I am still having difficulty selecting the previous node. So far I have thisL <xsl:value-of select="preceding-sibling::Child[1]" /> But it doesn't work.

The preceding sibling in your example was called P, not Child.


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


-------------------------------------------------- From: "Michael Kay" <mike@xxxxxxxxxxxx> Sent: Friday, January 02, 2009 3:03 PM To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Subject: RE: [xsl] Testing for special characters

> 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
> http://www.saxonica.com/
>
>> -----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