> The following XSLT stylesheet, also seems to work,
Yes, but doing N-squared deep-equal comparisons doesn't scale very well.
Michael Kay
Saxonica
>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform
<http://www.w3.org/1999/XSL/Transform>"
> xmlns:xs="http://www.w3.org/2001/XMLSchema
<http://www.w3.org/2001/XMLSchema>"
> xmlns:fn1="http://fn1 <http://fn1/>"
> exclude-result-prefixes="xs fn1" version="2.0">
>
> <xsl:output method="xml" indent="yes"/>
>
> <xsl:template match="Document">
> <Document>
> <xsl:apply-templates
select="row[not(fn1:hasRowOccuredEarlier(.))]"/>
> </Document>
> </xsl:template>
>
> <xsl:template match="row">
> <xsl:copy-of select="."/>
> </xsl:template>
>
> <xsl:function name="fn1:hasRowOccuredEarlier" as="xs:boolean">
> <xsl:param name="row" as="element(row)"/>
> <xsl:sequence select="some $r in $row/preceding-sibling::row satisfies
deep-equal($r/*, $row/*)"/>
> </xsl:function>
>
> </xsl:stylesheet>
>
>
> --
> Regards,
> Mukul Gandhi
> XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
> EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/293509> (by
email <>)
|