Re: [xsl] Got an XSLT function that does value intersection (not identity intersection)?

Subject: Re: [xsl] Got an XSLT function that does value intersection (not identity intersection)?
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 11 Jul 2021 17:17:33 -0000
> 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 <>)

Current Thread