[xsl] Assigning multiple xml's file names into variable name using for-each possible?

Subject: [xsl] Assigning multiple xml's file names into variable name using for-each possible?
From: Karl <call14@xxxxxxxxx>
Date: Tue, 18 Jul 2006 10:24:25 +0100 (BST)
I have a scenario where I have loads of xml which are all similar in
structure, but variy in content. I want to render all this xml's
using the same xsl file to get a html output for each xml file using
saxon parser.

So, what I was trying to do is to make a seperate xml file listing
all the xml file to be processed. e.g: xmlFileList.xml 

	<ContentGroup name="Arts">
		<ContentFile>S207.xml</ContentFile>
		<ContentFile>S103_2.xml</ContentFile>
		<ContentFile>DD03.xml</ContentFile>
		.... etc etc
	</ContentGroup>

the individual xml's e.g: S207.xml will look like 

<Item xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
	<Unit>
		<UnitID>Chapter 1</UnitID>
		<UnitTitle>Motion along a line</UnitTitle>
		<Session id="SES001">
			<Section id="SEC001">
				.....


And in the xsl file, trying to loop thro to get each file name and
process it like:

<xsl:template match="/"> <!-- of xmlFileList.xml -->
	<xsl:for-each select="//ContentFile">
		<xsl:variable name="fileName" select="node()"/>
		<xsl:variable name="currentFile" select="document('{$fileName}')"/>

		<!--?? VALID?? TRYING TO ACHIEVE  select="document('s207.XML') AND
SO ON -->
		<xsl:variable name="CourseId" select="substring-before($fileName,
'.xml')"/>

		<xsl:for-each select="$currentFile//Unit/Session/Section"> <!--
THIS SHOWS ERR -->
		<xsl:variable name="filename"
select="concat($CourseId,'_',@id,'.html')"/>
		<xsl:result-document href="{$filename}" format="html">
			<xsl:call-template name="Main">
			   ...
			</xsl:call-template>
		</xsl:result-document>
	</xsl:for-each>


I read somewhere I cannot load more than 1 xml doc using
document(''). Is that the reason for my err? Would be great if
someone explains me the mistake and how i con fix it. If no fix, then
alternate method to get the result which i want.

Thanks
karl



		
___________________________________________________________ 
Try the all-new Yahoo! Mail. "The New Version is radically easier to use"  The Wall Street Journal 
http://uk.docs.yahoo.com/nowyoucan.html

Current Thread