Subject: Re: [xsl] A polynomial time XSLT program that generates a list of compatible roommates? From: David Carlisle <davidc@xxxxxxxxx> Date: Mon, 23 Sep 2013 13:58:16 +0100 |
$ saxon9 rm.xml rm.xsl [Sally,Betsy] [Joan,Linda] [Sue,Carol] [Francine,Doris] [Sally,Carol] [Joan,Linda] [Betsy,Sue] [Francine,Doris]
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:f="data:,f">
<xsl:template match="RoommateFinder"> <xsl:sequence select="string-join(f:rm(Freshmen/Name),' ')"/> </xsl:template>
<xsl:function name="f:rm"> <xsl:param name="l"/> <xsl:sequence select=" if(empty($l)) then ('') else if (empty(key('p',$l[1],root($l[1]))[.=$l])) then () else for $p in key('p',$l[1],root($l[1]))[.=$l] return for $s in f:rm($l[position()!=1][not(.=$p)]) return concat('[',$l[1],',',$p,'] ',$s)"/> </xsl:function>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] A polynomial time XSLT pr, sean | Thread | [xsl] backmatter and force-page-cou, Anneke von den Hoff |
Re: [xsl] A polynomial time XSLT pr, sean | Date | [xsl] backmatter and force-page-cou, Anneke von den Hoff |
Month |