[xsl] forwarded message from owner-xsl-list@mulberrytech.com

Subject: [xsl] forwarded message from owner-xsl-list@mulberrytech.com
From: Tony Graham <tkg@xxxxxxxxxxxx> (by way of B. Tommie Usdin)
Date: Thu, 11 Jan 2001 14:14:49 -0500
From dbowen@xxxxxx Mon Jan 8 12:07:34 2001
Received: from news.es.com (news.es.com [])
by web3-1.ability.net (8.9.3/8.9.1/Pub) with ESMTP id MAA02532
for <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>; Mon, 8 Jan 2001 12:07:34 -0500 (EST)
From: dbowen@xxxxxx
Received: from torino.corp.es.com ([]) by news.es.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2650.21)
id ZF57LNCP; Mon, 8 Jan 2001 10:11:15 -0700
Received: by torino.corp.es.com with Internet Mail Service (5.5.2650.21)
id <CLQ6ADLJ>; Mon, 8 Jan 2001 10:11:14 -0700
Message-ID: <06623C2B1D5BD4118EB70008C7E67FB79F2889@xxxxxxxxxxxxxxxxxx>
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: variables/parameters in match of xsl:key, 'ends-with'
Date: Mon, 8 Jan 2001 10:11:09 -0700
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2650.21)
Content-Type: text/plain;

(The first post didn't seem to make it through for 3 days, so I'm reposting)

Does anyone know if future versions of XSLT will allow variables or
parameters in the "match" attribute of xsl:key?

In particular, I have a parameterized XSLT stylesheet (using xsl:param),
where the param is used to filter what is generated.  I'm using keys for
Muenchian style grouping.  I can generate keys for more than I want, and
filter later.  However, the input can be several MB., so I'd like to
restrict what keys are built for performance reasons.  When I hard code
equivalent filters on the key match (instead of using filters that reference
a variable), I do see enough of a performance difference to want to do this!

As a side note.  I sure wish there was an "ends-with" string function in
addition to the "starts-with" function.  I seem to need it much more often
than "starts-with".  I'm imitating "ends-with(source, find)" with

find = substring(source, 1 + string-length(source) - string-length(find))

But for input of several MB., it takes a bit of a hit that it wouldn't if
there was an 'ends-with' function! (yes, I timed the above with a comparable
"contains" and "starts-with" variant).  Does anyone have a faster way to
imitate "ends-with"?

Thanks! -Daniel Bowen Software Engineer

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

Current Thread