[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] Re: Indexing in XSLT
Subject: [xsl] Re: Indexing in XSLT From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Sun, 11 Aug 2002 12:06:24 -0700 (PDT) |
--- Maulik Modi <MModi at qcorps dot com> wrote: > I need some help to solve this problem. Any help is appreciated. > > I have an instance document that gives me a list of available dates > to > choose from. I get passed another date which I have to compare > against > this > list and return the matched date. > > If no match is found in the list, and the date passed is lower, I > need > to > return the next higher date from the list. For example, if the date > passed > is Aug 10, 2002 and it is not in the available list, I need to return > the > next available date which could be Aug 12, 2002. Also I need to check > for > month end and year end. So if Aug 30 is passed, I will need to pass > back Sep > 2 (if available in the list). > > The last requirement is if no match is found, and the date passed is > higher, > I need to pass a null. For example, the date passed is Sep 30 and the > last > date in the list is Aug 15, I need to pass back a null (or empty > string). > > I have used keys and the sample code I am pasting here is in working > mode > and does not include everything I have tried. Any help is > appreciated. > > Instance XML: > <acquisitions> > <delivery zip="06850"> > <date>07/31/2002</date> > <date>08/01/2002</date> > <date>08/02/2002</date> > <date>08/05/2002</date> > <date>08/31/2002</date> > <date>09/01/2002</date> > </delivery> > </acquisitions> > [code snipped] You need first to convert your dates in a better format, e.g. yyyy/mm/dd In this format two dates can be compared simply like this: translate($date1, '/', '') > translate($date2, '/', '') The XSelerator XSLT editor and debugger comes with very nice datetime.xsl library. For example how to use this library see my calendar application at: http://www.topxml.com/code/default.asp?p=3&id=v20020711152545&ms=20&l=&sw=All In case the dates are sorted, you can perform binary search to find your date -- for examples look at: http://www.topxml.com/code/default.asp?p=3&id=v20010309084536 or http://www.topxml.com/code/default.asp?p=3&id=v20011001235959 ===== Cheers, Dimitre Novatchev. http://fxsl.sourceforge.net/ -- the home of FXSL __________________________________________________ Do You Yahoo!? HotJobs - Search Thousands of New Jobs http://www.hotjobs.com XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Indexing in XSLT, Jeff Kenton | Thread | [xsl] how to merge tags/nodes via t, rbondi |
[xsl] Indexing in XSLT, Maulik Modi | Date | Re: [xsl] Indexing in XSLT, Jeff Kenton |
Month |