[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] matching the first following sibling
Dear All, I have trouble with matching the first following sibling which has a child's value differ from the current one's. I need my output look like this: 3000: 9 5000: 5 4000: 8 But I can only get the first line, 3000 : 9 Here is my xslt: <xsl:template match="ProductList"> <xsl:apply-templates select="Substance[position() = 1 ]" /> </xsl:template> <xsl:template match="Substance"> <xsl:value-of select = "productId"/> : <xsl:value-of select = "sum( num | following-sibling::Substance[productId = $productId ]/num)" /> <!-- now check if there is another unique product, if so, call this template recursively, but this DOES NOT work --> <xsl:apply-templates select="following-sibling::Substance[productId != ./productId and position() = 1 ]" /> </xsl:template> I have this xml data: <ProductList> <Substance> <productId>3000</productId> <num>3</num> </Substance> <Substance> <productId>4000</productId> <num>4</num> </Substance> <Substance> <productId>3000</productId> <num>3</num> </Substance> <Substance> <productId>5000</productId> <num>5</num> </Substance> <Substance> <productId>4000</productId> <num>4</num> </Substance> <Substance> <productId>3000</productId> <num>3</num> </Substance> </ProductList> Thanks in advance for your help. Biying Huang XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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
|