<?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
_________________________________________________________________
Don?t just search. Find. Check out the new MSN Search!
http://search.msn.click-url.com/go/onm00200636ave/direct/01/
--~------------------------------------------------------------------
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>
--~--