Subject: RE: [xsl] Identical entries in different input documents should appear in the output document only once From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 7 Sep 2007 17:02:11 +0100 |
In XSLT 2.0 this is a standard grouping problem that can be tackled using xsl:for-each-group or distinct-values(). (Elimination of duplicates is essentially the same problem as grouping: you group the values and then select one member from each group.) Most of the grouping techniques used in XSLT 1.0 fail when the population spans multiple documents. The one exception is Ken Holman's "variable grouping" approach, if I remember correctly. However, I don't know if this is performant enough to cope with your volumes. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Meyer, Roland 1. (NSN - DE/Germany - MiniMD) > [mailto:roland.1.meyer@xxxxxxx] > Sent: 07 September 2007 16:54 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Identical entries in different input documents > should appear in the output document only once > > Hi, > > I have the following problem. I have a couple of XML > documents to merge to one output document. > Each document has the same structure like this: > > <root> > <block> > <oneTag>some value<oneTag> > <anotherTag>another value<anotherTag> > ... > <idTag>setId-itemId<idTag> > </block> > <block> > ... > </block> > ... > </root> > > I have to interpret the value in the idTag (the setId-itemId) > as an identifier for the complete structure between the block tags. > Within one document this identifying value comes only once, > but the same identifying value can be found in different documents. > > What I now need: > My output file should list each block only ones, means > although the same identifying value is present in different > input documents, it should appear only once in the output document. > > I can think about some heavy procedures by checking every > found identifier value in the already processed files > (because then they are already written to the output), but > this will be very time consuming (I have around 15 files with > each up to 10000 blocks). > > Is there any other and simpler way to - let's say - memorize > the already written blocks resp. identifiers? > > Best Regards, > Roland
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Identical entries in differen, Meyer, Roland 1. (NS | Thread | Re: [xsl] Identical entries in diff, G. Ken Holman |
[xsl] Identical entries in differen, Meyer, Roland 1. (NS | Date | Re: [xsl] Group consecutive element, Dimitre Novatchev |
Month |