xsl-list
[Top] [All Lists]

RE: To eliminate duplicate entries

2005-06-08 04:42:06
If you have to filter out employees with duplicate empId:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  <xsl:output method="xml" indent="yes" encoding="utf-8"/>

  <xsl:key name="employee" use="empId" match="/*/employee"/>

  <xsl:template match="/">
    <result>
      <xsl:copy-of select="*/employee[count(.|key('employee', empId)[1]
)=1]"/>
    </result>
  </xsl:template>
</xsl:stylesheet>

tomi 

-----Original Message-----
From: X.P.Pratibha :-) [mailto:xp_pratibha(_at_)HotPOP(_dot_)com] 
Sent: Wednesday, June 08, 2005 12:39 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] To eliminate duplicate entries

Hi Mukul,
  Thanks ...
By the by..If my XML data is of the following foramt...

<example>
        <employee name="ppp">
            <empId>111</empId>
         </employee>
        <employee name="xxx"/>
              <empId>222</empId>
         </employee>
        <employee name="yyy"/>
              <empId>111</empId>
         </employee>
</example>

Now what I have to use in the place @name (I guess this for attribute)
If my empID is of this type ...

Thanks,
Pratibha


Mukul Gandhi wrote:
Or please try this XSL ..

<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
 
 <xsl:output method="text" />

 <xsl:template match="/example">
   <xsl:for-each select="employee[not(@name = 
preceding-sibling::employee/@name)]">
     <xsl:value-of select="@name"
/><xsl:text>&#xa;</xsl:text>
   </xsl:for-each>
 </xsl:template>
 
</xsl:stylesheet>

Regards,
Mukul


--- "X.P.Pratibha :-)" <xp_pratibha(_at_)HotPOP(_dot_)com> wrote:


Hi all.,
   I am novoice to XSL .

My XML has multiple Duplicate entries and while displaying it through 
XSL I have to eliminate the multiple duplicate entries and display 
only one entry .

Is there is any way to check the uniqueness of the data to be 
displayed in XSL.

In my xml data say if "employee id" is unqui ,Is there anyway to check

the replication of employee id in xsl.

Any links or sample code will be of great help.


Thanks,
Pratibha



--~------------------------------------------------------------------

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>
--~--





__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.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>
--~--



--~------------------------------------------------------------------
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>
--~--



This message is for the designated recipient only and may contain privileged, 
proprietary, or otherwise private information.  If you have received it in 
error, please notify the sender immediately and delete the original.  Any other 
use of the email by you is prohibited.

--~------------------------------------------------------------------
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>
--~--