Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges
2014-11-18 12:03:38
Hi again,
I just noticed two shortcomings in the solution I posted:
1) the attribute 'data-type' in the xsl:sort element needs to be set to
'number'
2) some cases are not covered
e.g. if the input is
<ranges>
<range>100-300</range>
<range>150-190</range>
<range>200-280</range>
</ranges>
the output holds:
<ranges>
<range>100-149</range>
<range>150-190</range>
<range>200-280</range>
<range>281-300</range>
</ranges>
so there is a gap (191-199). The output rather should be:
<ranges>
<range>100-149</range>
<range>150-190</range>
<range>191-199</range> <!-- gap -->
<range>200-280</range>
<range>281-300</range>
</ranges>
Michael could you verify that this would be the expected output.
So I guess it's more tricky.
Michael, could you please provide samples of possible inputs and expected
results.
Cheers,
Heiko
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: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Michael Friedman sumarimike(_at_)hotmail(_dot_)com
- Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Graydon graydon(_at_)marost(_dot_)ca
- Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Wolfgang Laun wolfgang(_dot_)laun(_at_)gmail(_dot_)com
- Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Paul Tyson phtyson(_at_)sbcglobal(_dot_)net
- Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Imsieke, Gerrit, le-tex gerrit(_dot_)imsieke(_at_)le-tex(_dot_)de
- Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges,
Heiko Niemann kontakt(_at_)heiko-niemann(_dot_)de <=
- Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Imsieke, Gerrit, le-tex gerrit(_dot_)imsieke(_at_)le-tex(_dot_)de
- Message not available
- Message not available
- Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Imsieke, Gerrit, le-tex gerrit(_dot_)imsieke(_at_)le-tex(_dot_)de
- Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Michael Friedman sumarimike(_at_)hotmail(_dot_)com
- Message not available
- Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Imsieke, Gerrit, le-tex gerrit(_dot_)imsieke(_at_)le-tex(_dot_)de
- Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Michael Friedman sumarimike(_at_)hotmail(_dot_)com
|
Previous by Date: |
Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Imsieke, Gerrit, le-tex gerrit(_dot_)imsieke(_at_)le-tex(_dot_)de |
Next by Date: |
Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Imsieke, Gerrit, le-tex gerrit(_dot_)imsieke(_at_)le-tex(_dot_)de |
Previous by Thread: |
Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Imsieke, Gerrit, le-tex gerrit(_dot_)imsieke(_at_)le-tex(_dot_)de |
Next by Thread: |
Re: [xsl] Creating new, distinct groups of ranges from an aggregation of individual ranges, Imsieke, Gerrit, le-tex gerrit(_dot_)imsieke(_at_)le-tex(_dot_)de |
Indexes: |
[Date]
[Thread]
[Top]
[All Lists] |
|
|