Re: [xsl] preceding/following character?

Subject: Re: [xsl] preceding/following character?
From: "Aron Bock" <aronbock@xxxxxxxxxxx>
Date: Fri, 17 Jun 2005 10:33:02 +0000
<?xml version="1.0" encoding="ISO-8859-1"?>
<?altova_sps C:\Documents and Settings\simonj\My
Documents\us101\xml\Messages.sps?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

<xsl:output method="html"/>
<xsl:strip-space elements="*"/>

<xsl:template match="foo">

<xsl:apply-templates/>

</xsl:template>

<xsl:template match="bar">
<xsl:variable name="follsib" select
="normalize-space(following-sibling::text()[1])"/>
<xsl:if test="starts-with($follsib, '.')">
<xsl:text>.</xsl:text>
</xsl:if>

<bar_out/>
<xsl:apply-templates/>
</xsl:template>


<xsl:template match="text()">


<xsl:choose>
<xsl:when test="preceding-sibling::bar[1]">


AFAICT, that tests whether there's at least 1 bar among preceding siblings, rather than whether the immediately preceding sibling is a bar. Likewise the following sibling test below.


<xsl:variable name="tnode" select="normalize-space(.)"/>
<xsl:choose>
<xsl:when test="starts-with($tnode, '.')">

<xsl:value-of select="substring-after($tnode, '.')"/>

</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>


<xsl:if test="following-sibling::bar[1]"> <xsl:apply-templates/> </xsl:if>




</xsl:template>


</xsl:stylesheet>


--A

_________________________________________________________________
Dont just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/


Current Thread