Re: [xsl] XSLT Grouping/Filtering issue with preceding/following axes

Subject: Re: [xsl] XSLT Grouping/Filtering issue with preceding/following axes
From: "Joris Gillis" <roac@xxxxxxxxxx>
Date: Sat, 06 Aug 2005 22:43:18 +0200
Hi agian,

Tempore 21:54:07, die 08/06/2005 AD, hinc in xsl-list@xxxxxxxxxxxxxxxxxxxxxx scripsit Jacquo Johnson <genxgeek@xxxxxxxxx>:

I guess I'm still scratching my head as to why the  the
second predicate (CodeId) is needed:

<xsl:copy-of select="$uh2[not(AttributeName=preceding::*[CodeId='30DAYPM']/AttributeName)]"/>

since $uh2 already contains all '30DAYPM' CodeId Records current
context should be at the new Record elements that contain the filtered
node set for '30DAYPM' CodeId elements only, no?  That is where I am a
little confused.

I can understand your confusion. Although I'm probably not using the right technical terms, I'll do my best to make it clear. When a variable is set to be a node-set, the nodes stay in contact with the document; they don't become independant. Any Xpath operation on a node from the variable is performed on the node in it's context of the document.

Suppose a variable $foo contains just the 'bar' element of this input XML document:
<root>
	<test/>
	<foo/>
	<bar/>
</root>

<xsl:value-of select="boolean($foo/preceding::test)"/> will return true , though the $foo variable didn't contain any 'test' elements. Hence the required predicate in my previously posted solution.

Also, I wanted to fit another question in here since you have been so
helpful if I could please.  I have a perl application that calls two
stored procs, each returning multiple result sets.  Current I
concatenate the multiple result sets from each stored proc into one
xml document.  Worst case the xml document can get up to 300k in size.
Currently, I'm using Xalan to run a stylesheet on that document but
I'm wondering if 300k is too big of an xml document for Xalan to
transform.  So, my question is should I break it up into two parts
(two xml documents one from each stored proc call) or are there any
limitations with xslt and the size of anxml source document in
relation to performance?

I have no experience with optimization of the XSLT transformation process , I'll leave this matter to a guru. What I can say is that the Muenchian grouping gives best performance.

regards,
--
Joris Gillis (http://users.telenet.be/root-jg/me.html)
B+N&N9N;N.N:N?N?N= N5N9N=N1N9 N<N1N;N;N?N= N7 ON9N;ON;N1N;N?N=B;  - NN;N5ON2N?ON;N?O

Current Thread