Subject: [xsl] Unique node and delimiter concatenation From: "Senthilkumaravelan K" <skumaravelan@xxxxxxxxxxxxxx> Date: Thu, 29 Mar 2007 14:20:29 -0700 |
Hi , I getting struck with border condition in the below xslt when i am trying to concatenate with "," "and " while finding unique node based on the condition. Can any one suggest me how I could over come this ?
My xml looks like <LINE_ITEMS> <LINE_ITEM> <PRODUCT_NUMBER>1</PRODUCT_NUMBER> <CUST_MSG>Y</CUST_MSG> </LINE_ITEM> <LINE_ITEM> <PRODUCT_NUMBER>1</PRODUCT_NUMBER> <CUST_MSG>Y</CUST_MSG> </LINE_ITEM> <LINE_ITEM> <PRODUCT_NUMBER>1</PRODUCT_NUMBER> <CUST_MSG>Y</CUST_MSG> </LINE_ITEM> <LINE_ITEM> <PRODUCT_NUMBER>2</PRODUCT_NUMBER> <CUST_MSG>N</CUST_MSG> </LINE_ITEM> </LINE_ITEMS> and my XSLT the same <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" /> <xsl:key name="getUniqueData" match="PRODUCT_NUMBER" use="."/> <xsl:template match="/"> <xsl:variable name="itemsOfthisProduct" select="//LINE_ITEM"/> <products> <xsl:for-each select="$itemsOfthisProduct/PRODUCT_NUMBER[generate-id() = generate-id(key('getUniqueData',.))]"> <xsl:variable name="warn" select="following-sibling::*[contains(name(), 'CUST_MSG')]" /> <xsl:if test="$warn='Y'"> <xsl:value-of select="."/> </xsl:if> <xsl:if test="position() < last()-1 and test=$warn='Y'"> <xsl:message>less than</xsl:message> <xsl:text>, </xsl:text></xsl:if> <xsl:if test="position()=last()-1 and test=$warn='Y'"><xsl:text>and </xsl:text></xsl:if> <xsl:if test="position()=last() and test=$warn='Y'"><xsl:text>.</xsl:text> </xsl:if> </xsl:for-each> </products> </xsl:template> </xsl:stylesheet>
My expected out is <products>1 and 2. depends on the CUST_MSG value I need to concatenate "," and respective locations.
Am facing some border condition it is failing to produce the desired output. Please help. Regards, Senthil
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] concatenate multiple attr, Michael Kay | Thread | RE: [xsl] Unique node and delimiter, Sreeni Yetchina -X \ |
Re: [xsl] concatenate multiple attr, Abel Braaksma | Date | RE: [xsl] concatenate multiple attr, Shaikh, Parvez |
Month |