0

I have the following .XML:

<tables>
    <table tableshort="WR">
        <field fieldno="108" fid="108" value="0">0</field>
        <field fieldno="7026" fid="7026">961234</field>
        <field fieldno="7020" fid="7020">Type 002</field>
        <field fieldno="13" fid="13">01.01.2021</field>
        <field fieldno="14" fid="14">02.01.2021</field>
        <field fieldno="7046" fid="7046">Freq 002</field>
        <field fieldno="7055" fid="7055">EUR</field>
        <field fieldno="7061" fid="7061">7000</field>
        <field fieldno="7033" fid="7033">1200</field>
        <field fieldno="7034" fid="7034">1300</field>
        <field fieldno="7036" fid="7036">1001</field>
        <field fieldno="7039" fid="7039">1002</field>
    </table>
    <table tableshort="WR">
        <field fieldno="108" fid="108" value="0">0</field>
        <field fieldno="7026" fid="7026">961234</field>
        <field fieldno="7020" fid="7020">Type 002</field>
        <field fieldno="13" fid="13">01.01.2021</field>
        <field fieldno="14" fid="14">02.01.2021</field>
        <field fieldno="7046" fid="7046">Freq 002</field>
        <field fieldno="7055" fid="7055">EUR</field>
        <field fieldno="7061" fid="7061">7000</field>
        <field fieldno="7033" fid="7033">1200</field>
        <field fieldno="7034" fid="7034">1300</field>
        <field fieldno="7036" fid="7036">1001</field>
        <field fieldno="7039" fid="7039">1002</field>
    </table>
    <table tableshort="WR">
        <field fieldno="108" fid="108" value="0">0</field>
        <field fieldno="7026" fid="7026">961234</field>
        <field fieldno="7020" fid="7020">Type 003</field>
        <field fieldno="13" fid="13">02.01.2021</field>
        <field fieldno="14" fid="14">03.01.2021</field>
        <field fieldno="7046" fid="7046">Freq 001</field>
        <field fieldno="7055" fid="7055">EUR</field>
        <field fieldno="7061" fid="7061">7001</field>
        <field fieldno="7033" fid="7033">1201</field>
        <field fieldno="7034" fid="7034">1301</field>
        <field fieldno="7036" fid="7036">1002</field>
        <field fieldno="7039" fid="7039">1000</field>
    </table>
    <table tableshort="WR">
        <field fieldno="108" fid="108" value="0">0</field>
        <field fieldno="7026" fid="7026">732441</field>
        <field fieldno="7020" fid="7020">Type 001</field>
        <field fieldno="13" fid="13">01.01.2021</field>
        <field fieldno="14" fid="14">02.01.2021</field>
        <field fieldno="7046" fid="7046">Freq 002</field>
        <field fieldno="7055" fid="7055">EUR</field>
        <field fieldno="7061" fid="7061">5000</field>
        <field fieldno="7033" fid="7033">2200</field>
        <field fieldno="7034" fid="7034">3300</field>
        <field fieldno="7036" fid="7036">5001</field>
        <field fieldno="7039" fid="7039">4000</field>
    </table>
</tables>

Then I have a .XSLT with the following code:

<xsl:variable name="wr_root" select="/tables/table[@tableshort='WR']"/>

...

<xsl:for-each select="$wr_root">
    <row>
        ...
    </row>                  

As you can see in the .XML, there are duplicated entries. I would like to list only unique IDs (fieldno="7026"), so the .XSLT should only list one occurrence of 961234 and 732441.

I tried using the following select(), but it did not work:

<xsl:for-each select="//wr_root[not(field[@fieldno=7026]=preceding::wr_root/field[@fieldno=7026])]">

I read this article as a reference: https://www.oreilly.com/library/view/xslt-cookbook/0596003722/ch04s03.html

Any ideas on how I could solve this? Thanks,

acuencadev
  • 27
  • 7
  • I strongly recommend you study [Muenchian grouping](http://www.jenitennison.com/xslt/grouping/muenchian.html) instead of the inefficient method suggested in the article you linked to. – michael.hor257k Jun 23 '21 at 14:15
  • Does this answer your question? [How to use XSLT to create distinct values](https://stackoverflow.com/questions/2291567/how-to-use-xslt-to-create-distinct-values) – ceving Jun 23 '21 at 14:19

0 Answers0