|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Unique node and delimiter concatenation
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






