Subject: RE: New twist: eliminating nodes with duplicate content, case-ins ensi tive From: Kay Michael <Michael.Kay@xxxxxxx> Date: Mon, 6 Dec 1999 18:08:57 -0000 |
> My question is really how to eliminate duplicates, counting > <handle>FOO</handle> > and > <handle>foo</handle> > as duplicates. > > I still need an answer, if anyone knows one. > > <xsl:variable "unique-handles" select="//handle[not( self::node() = > following::handle )]"/> > Can't be done in a single pass. (A brave assertion!) This is because there is no general existential quantifier in XSLT and no map() function to generate a set of strings by applying a function (translate()) to another set of strings. If you apply translate to a node-set, it only translates the string value of the first node. Conceptually you need (using SQL-like syntax rather than pure predicate logic) select="//handle[not exists( select N from following::handle where translate(N, $lc, $uc) = translate(self::node(), $lc, $uc)] I suggest you do one pass to normalize case, and a second pass to do the real transformation. Mike Kay XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Looking for CALS-to-FO stylesheet, Richman, Jeremy | Thread | Re: New twist: eliminating nodes wi, Phil Lanch |
Looking for CALS-to-FO stylesheet, Richman, Jeremy | Date | Oracle Parser in Cocoon, Paul Johnson |
Month |