[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

accessing multiple xml documents from within one templ

Subject: accessing multiple xml documents from within one template
From: Stefan Hunziker <stefan@xxxxxxxxxxxxx>
Date: Fri, 16 Jan 2009 00:08:51 +0100
 accessing multiple xml documents from within one templ
hi

In my main books.xml document being processed I have a number of
books, as follows:

<books>
	<book>
		<title>Hamlet</title>
		<author>Shakespeare</author>
		<publisher>Peares</publisher>
		<pagecount>120</pagecount>
		<weight>500g</weight>
	</book>
	<book>
		<title>The Perfume</title>
		<author>Sueskind</author>
		<publisher>ABC</publisher>
		<pagecount>230</pagecount>
		<weight>256g</weight>
	</book>
</books>

in a second reportDef.xml I want to define a report list, as follows:

<reportDef>
	<col title="Book title" field="title" type="text"/>
	<col title="# pages" field="pagecount" type="number"/>		
</reportDef>


Now, with xsl I like to generate a report. Until now it looks like:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output  method="text" indent="no" encoding="ISO-8859-1"/>
	<xsl:variable name="reportDef" select="document('reportDef.xml')"/>
	
	<xsl:template match="books">
		<xsl:apply-templates select="$reportDef" mode="header"/>&#xA;
		<xsl:apply-templates select="book"/>
	</xsl:template>
	
	<xsl:template match="book">
		<xsl:apply-templates select="$reportDef" mode="data"/>&#xA;
	</xsl:template>
	
	<xsl:template match="col" mode="header">
		<xsl:value-of select="@title"/>; <!-- this one is no problem-->
	</xsl:template>
	
	<xsl:template match="col" mode="data">
		<xsl:variable name="fieldname" select="@field"/>;
		<!-- here I want to print the book property $fieldname, but I can't
access the main xml books -->
	</xsl:template>
</xsl:stylesheet>


The problem is, that I don't see the books.xml from within the
reportDef templates (<xsl:template match="col" mode="data">). Also
when I pass the book node by param to the template there is no content
in this node!

I would be very happy if anybody could give me a hint

Thanks very much
Stefan

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.