Subject: RE: Testing for special characters
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 2 Jan 2009 16:27:19 -0000
|
> 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: 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: 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
|