Subject: [xsl] document() merge DISTINCT From: "Alex Schuetz" <asc@xxxxxx> Date: Wed, 19 Dec 2001 10:30:56 +0100 |
Hallo; I have some input files with the /person/@id attribute being unique in each file (and /project). input.xml -------------------------------------------------------------- <project name="some-name"> <person id="1" name="name1"/> <person id="5" name="other-name"/> <preson id="20" name ="another-name"/> </project> ------------------------------------------------ I want to merge these files so that I get a list of all <person> that are in any <project> but the preson/@id should be unique, that is, no <person> element should be listed twice. In the book 'XSLT' from Dough Tidwell (chapter 7) there is an example that works but is using a lot of disk reads and deep recursion. It goes like this: 1: build a variable var1 as a white-space separated sorted list of all @id . (using <xsl:for-each select="document(...)"..../> ) 2: build a variable var2 of unique @id from var1 (by recursion); 3: with var2 call a template that calls <xsl:for-each select= "document(....)"../> for each id in var2 and produces the output. Is there a better way to do this? -Alex asc@xxxxxx XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Converting attributes to , Jarno . Elovirta | Thread | RE: [xsl] document() merge DISTINCT, Chris Bayes |
RE: [xsl] General Searching query, Andrew Welch | Date | Re: [xsl] Converting attributes to , Steve Muench |
Month |