This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

How to loop over duplicate nodes to output it only once


Hi,
I have the following code and XML fragment. How can I achieve to output
only once of duplicate nodes?
Thanks.

Cihan 

XSL code
---------
<xsl:key name="course" match="course" use="LOCAL_CRSE_CD"/>

<xsl:template match="courses">
   <courses>
    	<xsl:for-each select="course[generate-id()=
generate-id(key('course',LOCAL_CRSE_CD)[1])]">
      	<xsl:element name="course" use-attribute-sets="course1">
        	 <coursetypes>
       		<xsl:for-each select="key('course',LOCAL_CRSE_CD)">
         			<xsl:for-each select="CRSE_SITE_CD">
         				<xsl:if
test="(self::CRSE_SITE_CD)">
					<coursetypeid>
						<xsl:value-of
select="."/>
					</coursetypeid>
			</xsl:for-each>
		</xsl:for-each>
	</coursetypes>
	</xsl:element>
	</xsl:for-each>
  </courses>
</xsl:template

current output:
--------------------
<courses>
     <course>	
	 <LOCAL_CRSE_CD>CTD-ECPM</LOCAL_CRSE_CD>
	<coursetypes>
		<coursetypeid>U</coursetypeid>
		<coursetypeid>U</coursetypeid>
	</coursetypes>
   <course>	

desired output:
--------------------
<courses>
     <course>	
	 <LOCAL_CRSE_CD>CTD-ECPM</LOCAL_CRSE_CD>
	<coursetypes>
		<coursetypeid>U</coursetypeid>
	</coursetypes>
   <course>
	...
	...

</courses>
		
	


XML
---------------------
<courses>
   <course num="806">
      <LOCAL_CRSE_CD>CTD-ECPM</LOCAL_CRSE_CD>
      <CRSE_SITE_CD>U</CRSE_SITE_CD>
   </course>
   <course num="2499">
      <LOCAL_CRSE_CD>CTD-ECPM</LOCAL_CRSE_CD>
      <CRSE_SITE_CD>U</CRSE_SITE_CD>
   </course>
   <course num="1145">
      <LOCAL_CRSE_CD>CTD-EQD</LOCAL_CRSE_CD>
      <CRSE_SITE_CD>U</CRSE_SITE_CD>
   </course>
   <course num="1146">
      <LOCAL_CRSE_CD>CTD-EQD</LOCAL_CRSE_CD>
      <CRSE_SITE_CD>U</CRSE_SITE_CD>
   </course>
   <course num="2405">
      <LOCAL_CRSE_CD>DFSSMS100</LOCAL_CRSE_CD>
      <CRSE_SITE_CD>U</CRSE_SITE_CD>
   </course>
   <course num="2406">
      <LOCAL_CRSE_CD>DFSSMS100</LOCAL_CRSE_CD>
      <CRSE_SITE_CD>U</CRSE_SITE_CD>
    </course>
 ....
</courses>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]