xsl-list
[Top] [All Lists]

Re: [xsl] Grouping adjacent elements by value - within a range

2010-08-13 06:21:06
You might get someone to do this for you - but to me its less of a
question and more of a high level requirement for some quotable
work...

cheers
andrew

On 13 August 2010 10:35, Kevin Bird 
<kevin(_dot_)bird(_at_)matrixdigitaldata(_dot_)co(_dot_)uk> wrote:
Hello

I typeset price tables for Tour Operators brochures. Due to design changes, 
the space left to display price information has been reduced. I need to group 
adjacent <price> elements that are within a certain range (the range would be 
passed as a parameter). Once the price groupings are worked out, I then need 
to modify the corresponding <period> elements.

The example below shows adjacent price elements grouped that are within a 
range of £20 (with the lowest price returned). Using the same groupings, the 
<period> elements are modified by taking the first <startdate> and last 
<enddate>.

I can use XSLT 2.0.


=========================
SOURCE XML
=========================

<?xml version="1.0" encoding="UTF-8"?>
<grid>
       <row id="periods">
               <period>
                       <startdate>01-Sep-2010</startdate>
                       <enddate>19-Sep-2010</enddate>
               </period>
               <period>
                       <startdate>20-Sep-2010</startdate>
                       <enddate>25-Sep-2010</enddate>
               </period>
               <period>
                       <startdate>26-Sep-2010</startdate>
                       <enddate>30-Sep-2010</enddate>
               </period>
               <period>
                       <startdate>01-Oct-2010</startdate>
                       <enddate>11-Oct-2010</enddate>
               </period>
               <period>
                       <startdate>12-Oct-2010</startdate>
                       <enddate>31-Oct-2010</enddate>
               </period>
       </row>
       <row id="prices">
               <price>1209</price>
               <price>1109</price>
               <price>1129</price>
               <price>1359</price>
               <price>1369</price>
       </row>
</grid>


=========================
RESULT XML
=========================

<?xml version="1.0" encoding="UTF-8"?>
<grid>
       <row id="periods">
               <period>
                       <startdate>01-Sep-2010</startdate>
                       <enddate>19-Sep-2010</enddate>
               </period>
               <period>
                       <startdate>20-Sep-2010</startdate>
                       <enddate>30-Sep-2010</enddate>
               </period>
               <period>
                       <startdate>01-Oct-2010</startdate>
                       <enddate>31-Oct-2010</enddate>
               </period>
       </row>
       <row id="prices">
               <price>1209</price>
               <price>1109</price>
               <price>1359</price>
       </row>
</grid>


Any help greatly appreciated.

--
Kevin



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--