This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Checking the text nodes just preceding the context
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] Checking the text nodes just preceding the context
- From: Adam Van Den Hoven <Adam dot Hoven at bluezone dot net>
- Date: Wed, 26 Sep 2001 21:53:38 -0700
- Reply-To: xsl-list at lists dot mulberrytech dot com
Well that seems to have worked exactly as I'd hoped (once I took out the
debug code that was REALLY messing with my mind.).
Thanks.
> -----Original Message-----
> From: Jarno.Elovirta@nokia.com [mailto:Jarno.Elovirta@nokia.com]
> Sent: Wednesday, September 26, 2001 9:00 PM
> To: xsl-list@lists.mulberrytech.com
> Subject: RE: [xsl] Checking the text nodes just preceding the context
>
>
> Hip hei!
>
> [...]
> > Now I can guarantee that <foo> will be child of <p> but
> nothing else.
> >
> > Any ideas how to do this?
>
> I don't undestand that quarentee part of your question, but this
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <xsl:template match="@*|node()">
> <xsl:copy>
> <xsl:apply-templates select="@*|node()"/>
> </xsl:copy>
> </xsl:template>
>
> <xsl:template match="foo">
> <xsl:variable name="text"
> select="normalize-space(preceding::text()[normalize-space()
> != ''][1])" />
> <xsl:choose>
> <xsl:when test="substring($text, string-length($text)) =
> '.'">Foo</xsl:when>
> <xsl:otherwise>foo</xsl:otherwise>
> </xsl:choose>
> </xsl:template>
>
> </xsl:stylesheet>
>
> will do the capitalization - just retrive the first preceding
> text node that
> is not whitespace, normalize that, and then test if the last
> character is a
> period. Hope this helps,
>
> Jarno
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list