xsl-list
[Top] [All Lists]

RE: [xsl] Identical entries in different input documents should appear in the output document only once

2007-09-07 09:02:44
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(_dot_)1(_dot_)meyer(_at_)nsn(_dot_)com] 
Sent: 07 September 2007 16:54
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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 




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--