|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Getting a predicate right
Matt, > My XML Sheet looks like this: > <test> > <colors> > <desc id="0" name="blue"/> > <desc id="1" name="red"/> > <desc id="2" name="white"/> > </colors> > <mesg grp="1">Hi how are you?</mesg> > <mesg grp="0">I am fine.</mesg> > <mesg grp="2">That is good.</mesg> > </test> > In my XSL I am going through the messages and trying > to match the attribute grp from mesg with the > attribute id from desc. > something like this: > //test/colors/desc[@grp]/@name > or > //test/colors/desc[@id = @grp]/@name You're close, but since your XPath grabs a reference to a new element as the context node, you need to save off your search string before attempting to match. If the <mesg> element is the context node you can do something like this: <xsl:template match="mesg"> <xsl:variable name="grpToMatch" select="@grp" /> <xsl:value-of select="/test/colors/desc[@id=$grpToMatch]/@name" /> </xsl:template> Or you can do it the other way around (match on the desc). Hope that helps. -Peter [Two colo(u)r questions in one afternoon, at least this one was spelled correctly.] 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








