xsl-list
[Top] [All Lists]

Re: concatenated key

2003-04-22 18:39:35
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(_at_)yahoo(_dot_)de>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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



<Prev in Thread] Current Thread [Next in Thread>