|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Nesting <xsl:value-of> tags
Hello Thomas,
Is it possible to nest <xsl: value-of> tags like this? No. If not, is there another way to look up the value of <ntname> from the other document? This is how I would do it: Outside your template, bind the other document to a variable: <xsl:variable name="lookupdoc" select="document('ShareWebUsers.xml')"/> Set up a key to retrieve persons by id element child: <xsl:key name="personsbyID" match="person" use="id"/> (In your code, you have "person[id=..." so I've said use="id"; change to @id if you're actually wanting an attribute not an element) Then inside your template: <xsl:for-each select="//*[./@filename != '']">
<xsl:variable name="ownedby" select="../@ownedby"/>
<!-- binds the ownedby to a variable so we can get it after
we change context -->
<xsl:for-each select="$lookupdoc">
<!-- change context to lookup doc -->
<xsl:value-of select="key('personsbyID',$ownedby)/ntname"/>
</xsl:for-each>
</xsl:for-each>If you wanted to skip the whole key thing you could simply do <xsl:value-of select="document('ShareWebUsers.xml')//person[id=$ownedby]"/>]/ntname"/> but that's relatively more expensive (since ShareWebUsers.xml will have to be traversed again and again, and maybe even parsed repeatedly depending on your processor). <xsl:value-of select="$lookupdoc//person[id=$ownedby]"/>]/ntname"/> may be somewhat better but is still costly compared to using the key. HTH-- Wendell
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








