[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: key using a number of siblings

Subject: Re: key using a number of siblings
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 13 Nov 2002 17:58:59 -0500
xml number
Franklin,

At 05:13 PM 11/13/2002, you wrote:
I have data that looks like

...
<w>a</w>
<w><f type="completion">b</f></w>
<w><f type="completion">c</f></w>
...

I am doing processing for each "word", and am attempting to do this
using a key.  The key

<xsl:key name="words" match="w[not(f/@type='completion')]" use="normalize-space(text())"/>

manages to match what I want, I believe, but instead of

text(), I really want to concatenate text() with all following
siblings that are completions, such that for the example above, I get
the string

"a+b+c"

Oo.


Is there an elegant way to do this?

The cleanest approach to this I can think of is to pass twice, first to process your <w> combinations into their full "words", the second to key them and do whatever you're doing. This could be done in a way that wouldn't mess too much with the data if the first pass worked to introduce a wrapper, so


<w>a</w>
<w><f type="completion">b</f></w>
<w><f type="completion">c</f></w>

would appear as

<word key="a+b+c">
  <w>a</w>
  <w><f type="completion">b</f></w>
  <w><f type="completion">c</f></w>
</word>

This would require a "levitation" algorithm (i.e. a grouping to unflatten the hierarchy) to collect the <w> elements properly.

Your problem as stated must be the Puzzler of the Week; I wonder if someone can come up with something (but methinks it can't be done).

I hope this helps,
Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================


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



Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.