Re: Keys across multilple input files

Subject: Re: Keys across multilple input files
From: Ann Marie Rubin - Sun PC Networking Engineering <Annmarie.Rubin@xxxxxxxxxxxx>
Date: Wed, 7 Jun 2000 15:14:32 -0400 (EDT)
Jeni,

You are 100% correct - as always:-)  Fixing the $documents variable definition 
worked!

Thank you.

Here are some interesting performance statistics using the XALAN processor. 
Processing time for one big XML document containing all CLASS elements is almost 
4 times faster than processing each XML Class file separately.

The best option would be to generate the keys for all CLASS elements in one big 
XML file in one XSL process and save them in a way that they could be accessed 
by another XSL process. I haven't figured out how to do this yet.

Ann Marie

------------------------------------
Performance


1.  All classes in a single XML file.  Stylesheet uses keys to search
class elements in the same file.

Processing time:  8,873 milliseconds

2.  Each class in a separate XML file.  Stylesheet uses document() function
to search the keys for CLASS elements in each XML class file.

Processing time:  27,709 milliseconds

3.  Each class in a separate XML file.  Style sheet uses document() function
to search the CLASS elements ine each XML class file.

Processing time:  34,818 milliseconds



	X-Unix-From: Jeni.Tennison@xxxxxxxxxxxxxxxx  Wed Jun  7 04:34:20 2000
	X-Sender: JTennison@NTServer
	To: Ann Marie Rubin - Sun PC Networking Engineering 
<Annmarie.Rubin@xxxxxxxxxxxx>
	From: Jeni Tennison <Jeni.Tennison@xxxxxxxxxxxxxxxx>
	Subject: Re: Keys across multilple input files
	Cc: xsl-list@xxxxxxxxxxxxxxxx
	Mime-Version: 1.0
	Content-Transfer-Encoding: 8bit
	X-MDaemon-Deliver-To: Annmarie.Rubin@xxxxxxxxxxxx
	
	Ann Marie,
	
	>I tried your solution without much success.  The stylesheet runs 
without
	error but does not generate 
	>ancestor or descendant classes. I formatted the filelist.xml as you did 
in
	your example. and defined 
	>the documents variable:
	>
	><xsl:variable name="documents"
	select="document('filelist.xml')/documents/doc/@href" />. 
	>
	>I'm not sure what I'm missing.
	
	I think what you're missing is that this isn't equivalent to the select
	expression that I used in my example.  I used:
	
	<xsl:variable name="documents" select="document(/documents/doc/@href)" 
/>
	
	In this, $documents is assigned to *the result of the document() 
function
	being called on* the node list that holds the 'href' attributes of all 
the
	'doc' elements that are children of the 'documents' document element in 
the
	input XML.
	
	In yours, $documents is assigned to the node list that holds the 'href'
	attributes of all the 'doc' elements that are children of the 
'documents'
	document element in 'filelist.xml'.  You need to apply the document()
	function to that list, i.e.:
	
	<xsl:variable name="documents" 
	  select="document(document('filelist.xml')/documents/doc/@href)" />
	
	Try that and see if it works.  I'm sorry that I didn't explain this in
	detail first time round.
	
	Cheers,
	
	Jeni
	
	Dr Jeni Tennison
	Epistemics Ltd, Strelley Hall, Nottingham, NG8 6PE
	Telephone 0115 9061301 ? Fax 0115 9061304 ? Email
	jeni.tennison@xxxxxxxxxxxxxxxx
	
	




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread