xsl-list
[Top] [All Lists]

RE: [xsl] Testing for special characters

2009-01-02 11:27:49
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(_at_)saxonica(_dot_)com>
Sent: Friday, January 02, 2009 3:03 PM
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
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(_at_)hotmail(_dot_)com]
Sent: 02 January 2009 14:36
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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



--~------------------------------------------------------------------
XSL-List info and archive:  
http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--