[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: retrieving a piece of data from a different xml file
Eric, Chris Bayes wrote: ><xsl:variable name="locs" select="document('pagelocations.xml')"> ></xsl:variable> > >later > ><xsl:template match="link"> > <a> > <xsl:atribute name="href"><xsl:value-of >select="$locs/pagelocations/item[@name = @page]/location" /></xsl:attribute> > </a> ></xsl:template> Just to correct a couple of typos in Chris' solution: <xsl:template match="link"> <a> <xsl:attribute name="href"> <xsl:value-of select="$locs/pagelocations/item[@name = current()/@page]/@location" /> </xsl:attribute> <xsl:value-of select="@page" /> </a> </xsl:template> If you don't use current()/@page, then the XSLT processor will try to look for the 'page' attribute on the context node, which is the 'item' in pagelocations.xml. You could alternatively define a variable to hold information about what the current page is: <xsl:template match="link"> <xsl:variable name="page" select="@page" /> <a> <xsl:attribute name="href"> <xsl:value-of select="$locs/pagelocations/item[@name = $page]/@location" /> </xsl:attribute> <xsl:value-of select="@page" /> </a> </xsl:template> The '/location' step selects the 'location' element children of the item rather than the attributes of the item: you need '/@location' instead. Without some content (I've used the name of the page), the link won't show on an HTML page. You can use: <xsl:template match="link"> <a href="$locs/pagelocations/item[@name = current()/@page]/@location"> <xsl:value-of select="@page" /> </a> </xsl:template> to give the same effect. I hope that helps, Jeni Dr Jeni Tennison Epistemics Ltd * Strelley Hall * Nottingham * NG8 6PE tel: 0115 906 1301 * fax: 0115 906 1304 * email: jeni.tennison@xxxxxxxxxxxxxxxx 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
|