Subject: [xsl] Predicates using current node-set From: "Nordström, Jonas" <Jonas.Nordstrom@xxxxxxxxxx> Date: Wed, 2 Oct 2002 11:26:41 +0200 |
I have a problem using predicate expressions where I compare an attribute in the node-set to an attribute in the "current node-set". I have problems explaing this, so here's an example: xml file: <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="paytest.xsl"?> <payments> <oldpayments> <oldpayment payno="1" amount="100" ref="a" /> <oldpayment payno="2" amount="200" ref="b" /> <oldpayment payno="3" amount="300" ref="c" /> </oldpayments> <newpayments> <newpayment Payno="3" amount="300" /> <newpayment Payno="4" amount="300" /> </newpayments> </payments> xsl file: <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="/"> <html> <head><title>test</title></head> <body> <xsl:apply-templates select="/payments/newpayments/newpayment" /> </body> </html> </xsl:template> <xsl:template match="/payments/newpayments/newpayment"> Payno: <xsl:value-of select="@Payno"/> Amount: <xsl:value-of select="@amount"/> <xsl:if test="/payments/oldpayments/oldpayment/@payno = @Payno"> Ref: <xsl:value-of select="/payments/oldpayments/oldpayment[@payno=@Payno]/@ref"/> </xsl:if> <br/> </xsl:template> Result in browser: Payno: 3 Amount: 300 Ref: Payno: 4 Amount: 300 I wanted the "ref" attribute to be printed, but I cant work out how to match the oldpayment payno with the newpayment Payno Vendor: Microsoft Vendor URL: http://www.microsoft.com Jonas Nordstrom Sigma Exallon AB XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] problem child (X-path), Jarno . Elovirta | Thread | RE: [xsl] Predicates using current , Michael Kay |
RE: [xsl] problem child (X-path), DEV SEN | Date | [xsl] Sorting and grouping, Martin Gundersen |
Month |