|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Re[2]: finding position() of an element in a diffe
Here is possible correction, I am not sure this is what you want. xml: <?xml version="1.0"?> <top> <visits> <visit id="visit1Name"/> <visit id="visit2Name"/> </visits> <formtypes> <formtype id="formtype1Name"/> <formtype id="formtype2Name"/> </formtypes> <forms> <form visitID="visit1Name" formtypeID="formtype1Name">form1</form> <form visitID="visit1Name" formtypeID="formtype2Name">form2</form> <form visitID="visit2Name" formtypeID="formtype3Name">form3</form> </forms> </top> xsl: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:variable name="formtypeID">formtype2Name</xsl:variable> <xsl:variable name="visitID">visit1Name</xsl:variable> <xsl:template match="/"> <html> <body> <xsl:variable name="matchingForm" select="//forms/form[(@formtypeID = $formtypeID) and (@visitID = $visitID)]"/> <xsl:value-of select="$matchingForm"/> </body> </html> </xsl:template> </xsl:stylesheet> This xsl will pick up one entry which is "form2" -John -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Kevin Burges Sent: Wednesday, April 25, 2001 2:56 PM To: Oliver Becker Subject: Re[2]: finding position() of an element in a different context Hi Oliver, OB> Just count the preceding siblings: OB> count($matchingForm/preceding-sibling::*)+1 they might not always be siblings, but I could probably just use preceding:: to do the job. I've remembered another part of the problem. Look at the structure again: <top> <visits> <visit id="visit1Name"/> <visit id="visit2Name"/> </visits> <formtypes> <formtype id="formtype1Name"/> <formtype id="formtype2Name"/> </visits> <forms> <form visit="visit1Name" formtype="formtype1Name"/> <form visit="visit1Name" formtype="formtype2Name"/> <form visit="visit2Name" formtype="formtype2Name"/> </forms> </top> Am I not right in saying that if I am in the context of a <visit> element, doing: <xsl:variable name="matchingForm" select="//forms/form[(@formtypeID = $formtypeID) and (@visitID = $visitID)]"/> will not work, because "//forms" is taken relative to the context node? Certainly this seems to be happening, as no matches are occurring. Is there a way to make this work? -- groovy baby, Kevin mailto:xmldude@xxxxxxxxxxxxxxxx ++++++++++++ Cool music - http://mp3.com/marshan ++++++ Attitude Webzine - http://burieddreams.com/attitude XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list 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
|

Cart








