Subject: Re: [xsl] unfolding compressed equivalents From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 23 Jan 2008 22:29:37 GMT |
<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. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] unfolding compressed equi, Robert Koberg | Thread | Re: [xsl] unfolding compressed equi, Tony Graham |
[xsl] enclosing siblings in an elem, Terry Ofner | Date | [xsl] Adding Missing Element, Plana, Richard |
Month |