[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: how to select nodes based on attribute values
It depends to some extent on whether your element_id is defined as type ID in the DTD and pick_id is defined as type IDREF in the DTD. If they are, this template should work: <xsl:template match="b"> <!-- whatever you need to do first --> <xsl:apply-templates select="id(@pick_id)"/> <!-- whatever you need to do later --> </xsl:template> The id() function looks for the single element with an attribute of type ID that has a value equal to what's inside the parens -- thus it's looking for an element with an attribute that matches the value of pick_id. If you're DTD is not set up this way, you can do it slightly differently. <xsl:template match="b"> <xsl:variable name="matchto" select="@pick_id"/> <xsl:apply-templates select="//*[@element_id=$matchto]"/> </xsl:template> This one uses '//*' to search the entire document tree for any element (the name is not important) that has an element_id attribute with a value matching pick_id. This method is not so efficient :-) And someone else may come up with a better way (using keys perhaps?). But this should work. Sara > -----Original Message----- > From: Archie Russell [mailto:archier@xxxxxxxxxxxxxxx] > Sent: Thursday, October 05, 2000 3:50 PM > To: 'XSL-List@xxxxxxxxxxxxxxxx' > Subject: how to select nodes based on attribute values > > > > is there a way to select a node based on attribute value > matching attribute > value in another node? > > example > > <?xml version="1.0" encoding="UTF-8"?> > <xxx> > <a element_id="1" name="xxx"/> > <a element_id="2" name="yyy"/> > <b pick_id="1"/> > </xxx> > > i want to select all 'a' elements that have element_id > matching the value of > 'b's pick_id (my context is being "in" b) > i've tried [] but i can't see how to refer to the attributes > of "a" and "b" > simultaneously. > > thanks for any help, > archie > > archie russell > doubletwist.com > 510-587-5766 > > > 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
|