XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Thanuja RaoSubject: Accessing an attribute based on the value of another attribute
Author: Thanuja Rao
Date: 08 Apr 2008 07:27 AM
Hi All,

I have an XML which looks something like this.
<ROOT>
<TAG1>
<SUBTAG ID="0">blah blah</SUBTAG>
</TAG1>
<TAG2 ID="0 blah" SCORE="0">
</TAG2>
</ROOT>

In my XSL, I need to access the SCORE attribute of TAG2 based on the value of TAG2 ID attribute which in turn should be the same as SUBTAG ID attribute.
<xsl:template match="SUBTAG">
<xsl:variable name="subtagid">
<xsl:value-of select="@ID"/>
</xsl:variable>
<xsl:value-of select="../TAG2[@ID='$subtagid']/@SCORE"/>
</xsl:template>

The problem here is that i cannot directly check for TAG2[@ID='$subtagid'], instead i need to check for substring(TAG2[@ID],1,1)='$subtagid'. How can i club these 2 statements into one to get the desired output? Please help at the earliest possible.

Thanks,
Tan

Postnext
James DurningSubject: Accessing an attribute based on the value of another attribute
Author: James Durning
Date: 08 Apr 2008 12:27 PM
Originally Posted: 08 Apr 2008 12:25 PM
Specifically what you're asking for:
<xsl:value-of select="../TAG2[substring(@ID,1,1)=$subtagid]/@SCORE"/>

What you may want:
<xsl:value-of select="../TAG2[contains(@ID=$subtagid)]/@SCORE"/>
or
<xsl:value-of select="../TAG2[substring(@ID,1,string-length($subtagid))=$subtagid]/@SCORE"/>


Another possible way to do this without a variable:
<xsl:value-of select="../TAG2[substring(@ID,1,1)=current()/@ID]/@SCORE"/>

Posttop
Thanuja RaoSubject: Accessing an attribute based on the value of another attribute
Author: Thanuja Rao
Date: 09 Apr 2008 01:25 AM
Hello Mr.Durning,

Thank you so much for the quick response. It works perfectly fine.

Regards,
Tan

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.