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

Re: Creating new, distinct groups of ranges from an a

Subject: Re: Creating new, distinct groups of ranges from an aggregation of individual ranges
From: "Wolfgang Laun wolfgang.laun@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 18 Nov 2014 08:23:56 -0000
Re:  Creating new
An example is rarely a good way of defining an algorithm, and I do have
problems understanding the transformation of the ranges. There is, for
instance the issue of the triple overlap 101-102 (ranges 1, 2 and 3) - it
hasn't been mentioned explicitly.

It seems that a list of ranges (as in the 5th range element) is merely an
alternative to having two or more tange elements.

This is how I would formulate it:

The set of input ranges numbered 1,2,...n defines n lower bounds and n
upper bounds. Output ranges are identified by non-empty, different sets of
input range numbers.

This suggests an abstract algorithm which creates a map where keys are
numbers in ranges and values are range number sets. In this map, find entry
sets with identical values and output a range given by its minimum and
maximum key values for each of them.

Not sure how to code this in XSLT 2.0, though. :-\

-W



On 18 November 2014 06:07, Michael Friedman sumarimike@xxxxxxxxxxx <
xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:

> Greetings,
>
> I'm trying to use XSLT 2.0 to create a new set of grouped ranges based on
> the overlap of an aggregation of a set of non-contiguous individual ranges.
> Example:
>
> Given a range of numbers as an individual set:
> 1. <range>150-202</range>
> 2. <range>201-225</range>
> 3. <range>201-204</range>
> 4. <range>205-234</range>
> 5. <range>226-234, 250-260</range>
>
> I'm trying to produce a new grouping based on the way the groups overlap:
> 150-200 (this is where <range> 1 starts and overlaps to 2 & 3)
> 201-202 (this is where 1 & 2 overlap, and group 1 ends)
> 203-204 (this is where 2 & 3 overlap and 3 ends)
> 205-225 (this is where 4 starts and begins to overlap with 5)
> 226-234 (this is where 4 & 5 overlap and end for the first part of 5)
> 250-260 (this is where the second range in 5 exists)
>
> The start and end point of the individual source ranges form the
> boundaries.
>
> I expect to end up with a string or variable structure like:
> <finalrange>
> <range>150-200</range>
> <range>201-202</range>
> etc
> </finalrange>
> or:
> <range start="150" end="200"/>
> <range start="201" end="202"/>
> etc
>
> Ultimately I have to format some content in XSLFO based on the XML's
> participation in the "new" given range grouping. If you know aircraft
> effectivity, this is what I am trying to group.
>
> I've been using <xsl:sequence> to find all the numbers of a single range,
> so I can do compares against individual numbers in the entire range, if
> necessary. But, it seems like it may be easier to just work with the
> boundaries: the start and end points and see if a value falls within it,
> somehow, rather than iterating repetitively through enumerations of
> sequences.
>
> I've been searching the archives for a while and have found some evocative
> possibilities from Dimitre Novatchev and Michael Kay, but I can't quite
> find a way to work with the overlapping. I'm continuing to study their
> ranging/grouping examples, but help would be appreciated!
>
> Thanks,
> Michael Friedman
>   XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
> EasyUnsubscribe <-list/528976> (by
> email <>)

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.