<equivalent>
<omittable>last</omittable>
<text> </text>
<either>Sunday</either>
<or>Monday</or>
<or>Tuesday</or>
<text> </text>
<either>evening</either>
<or>night</or>
<text> I was at home</text>
<x/>
</equivalent>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="equivalent">
<xsl:apply-templates select="*[1]"/>
</xsl:template>
<xsl:template match="equivalent/*">
<xsl:param name="done" as="node()*"/>
<xsl:apply-templates select="following-sibling::*[1]">
<xsl:with-param name="done" select="$done,."/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="equivalent/omittable" priority="2">
<xsl:param name="done" as="node()*"/>
<xsl:apply-templates select="following-sibling::*[1]">
<xsl:with-param name="done" select="$done"/>
</xsl:apply-templates>
<xsl:apply-templates select="following-sibling::*[1]">
<xsl:with-param name="done" select="$done,."/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="equivalent/either|equivalent/or" priority="2">
<xsl:param name="done" as="node()*"/>
<xsl:apply-templates select="following-sibling::*[not(self::or)][1]">
<xsl:with-param name="done" select="$done,."/>
</xsl:apply-templates>
<xsl:apply-templates select="following-sibling::*[1][self::or]">
<xsl:with-param name="done" select="$done"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="equivalent/x" priority="2">
<xsl:param name="done" as="node()*"/>
:<equivalent><xsl:value-of select="$done" separator=""/></equivalent>
</xsl:template>
</xsl:stylesheet>
$ saxon9 equiv.xml equiv.xsl
<?xml version="1.0" encoding="UTF-8"?>
:<equivalent> Sunday evening I was at home</equivalent>
:<equivalent> Sunday night I was at home</equivalent>
:<equivalent> Monday evening I was at home</equivalent>
:<equivalent> Monday night I was at home</equivalent>
:<equivalent> Tuesday evening I was at home</equivalent>
:<equivalent> Tuesday night I was at home</equivalent>
:<equivalent>last Sunday evening I was at home</equivalent>
:<equivalent>last Sunday night I was at home</equivalent>
:<equivalent>last Monday evening I was at home</equivalent>
:<equivalent>last Monday night I was at home</equivalent>
:<equivalent>last Tuesday evening I was at home</equivalent>
:<equivalent>last Tuesday night I was at home</equivalent>
David
________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________
--~------------------------------------------------------------------
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>
--~--