Re: [xsl] Filtering XML to improve performance

Subject: Re: [xsl] Filtering XML to improve performance
From: Erik Bruchez <erik@xxxxxxxxxxx>
Date: Mon, 22 Mar 2004 11:01:20 -0800
Instead of using SAX to preprocess the data, you could use STX:

http://joost.sourceforge.net/

You would have to create a pipeline that does the following:

XML parser -> STX -> XSLT

This way, the XSLT transformer would work on a potentially much smaller document. You can create such pipelines "by hand" using the SAX API, or use higher-level tools (look for "XPL pipelines" in Google).

-Erik

Kenny Akridge wrote:

Sorry if this is a FAQ- please point me in the right direction if so.

Let's say my xml is this:

<root>
	<items>
		<onlyImportantItem>THIS</onlyImportantItem>
		<junkItem>foo</junkItem>
		<moreJunk>foo</moreJunk>
		<stillMoreJunk>foo</stillMoreJunk>
	</items>
	<items>
		<onlyImportantItem>THAT</onlyImportantItem>
		<junkItem>foo</junkItem>
		<moreJunk>foo</moreJunk>
		<stillMoreJunk>foo</stillMoreJunk>
	</items>
	...
	...
	...
</root>


If I only mainly want to work with <onlyImportantItems>, is there a way that I can filter out all the other data I don't need when I do the transform?

So for instance, I don't want the XML parser searching through all the
garbage, I want it cut down to just the data I need.  Can I do something
like this at the beginning of all my xsl sheets?

Thanks.

Current Thread