Re: [xsl] concatenated key

Subject: Re: [xsl] concatenated key
From: "I-Lin Kuo" <ikuoikuo@xxxxxxxxxxx>
Date: Wed, 23 Apr 2003 01:39:35 +0000
I don't think this can be solved with XSLT 1.0 and arbitrary numbers
of children. If you can assert a fixed and preferably low maximum
number of children, you can try
  use="concat(name(*[1]),'#',name(*[2]),name(*[3]))"
etc. The # characters prevent spurious matches.

I thought it over some more and realized I can do this with two passes, where the first pass creates an attribute whose value is the concatenation of the child @name. I'd still like to do it in one pass, though.


I-Lin Kuo, Ann Arbor, MI
Macromedia Certified ColdFusion 5.0 Advanced Developer
Sun Certified Java 2 Programmer
Ann Arbor Java Users Group (http://www.aajug.org)





----Original Message Follows----
From: "J.Pietschmann" <j3322ptm@xxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] concatenated key
Date: Wed, 23 Apr 2003 00:43:15 +0200

I-Lin Kuo wrote:
Given a node, I'm trying to identify/pull out those nodes in the document having the same set of identically named child nodes
....
The way I'm thinking about doing this is to construct an xsl:key where the value of the key consists of a concatenation of all the @name of its children and then do a select on the key. However, I can't figure out what expression I should have for the use="" attribute of xsl:key, and

I don't think this can be solved with XSLT 1.0 and arbitrary numbers of children. If you can assert a fixed and preferably low maximum number of children, you can try use="concat(name(*[1]),'#',name(*[2]),name(*[3]))" etc. The # characters prevent spurious matches.

J.Pietschmann


_________________________________________________________________
Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail



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



Current Thread