RE: [xsl] Using key to group large documents

Subject: RE: [xsl] Using key to group large documents
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Wed, 17 Mar 2004 10:01:11 -0000
You've only shown us one line of your code. It's almost certainly possible
to improve it, but you will have to publish it first.

Michael Kay 

# -----Original Message-----
# From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
# [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
# Heinz Seldte
# Sent: 17 March 2004 05:04
# To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'
# Subject: [xsl] Using key to group large documents
# 
# Hi there,
# 
# I have to group information in the hypothetic format:
# 
# <item>
#    <prop1>x</prop1>
#    <prop2>y</prop2>
#    <prop3>z</prop3>
#    <lots-of-other-info-for-display/>
# </item>
# 
# I need to group info in the items as follows:
# 
# prop1
#   prop2
#      prop3
# 
# (Thus - first by prop1, then prop2, then prop3)
# 
# To do this, I am using keys, but I am encountering very bad 
# performance when using Xalan.  To improve the performance I 
# have now produced only one key using a concatenation of all 
# properties to group the items:
# 
#     <xsl:key name="per" match="//item" 
# use="concat(prop1,concat(prop2, prop3))"/>
# 
# After grouping I have to produce a fairly complex matrix 
# (output as an html
# table) for each item (since the grouped items are then 
# combined and displayed in a single row based on other item 
# info). This also takes quite a while, so I have resorted to 
# taking a multi-pass approach by using the Xalan nodeset 
# function to first apply-imports to produce an xml document 
# with the grouped items and then apply templates to this 
# nodeset to produce the html.
# 
# My question is this - is there some "rule-of-thumb" max size 
# where the input documents should rather be grouped or split 
# by the processes producing them rather than the stylesheet?  
# I do not want to do this, since the grouping is based purely 
# on a presentation requirement and I do not want the 
# application or business layer to worry about these issues. 
# With the above scenario, using Xalan 2.3.1 on linux I seem to 
# start having problems around the 2Meg mark with 1500 items.
# 
# Any suggestions on alternative methods etc would be much appreciated. 
# 
# 
#  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
# 
# 


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


Current Thread