|
|
|
date: Mon, 19 May 2008 14:29:02 -0700 (PDT),
group: microsoft.public.xml
back
Re: Limiting XSLT result elements
* MyCross wrote in microsoft.public.xml:
>I have an XSL transformation that sorts some data by date, but now my
>client wants me to limit the number of data elements to 4. That is,
>if the data contains 6 elements, they want it sorted in ascending
>order and only the last 4 records included in the output. I don't see
>any easy way to do this, but I figure I must be missing something.
A simple method would be to write a second transformation that simply
strips the unwanted elements out of the output of the first one. In
some cases you may also be able to use the msxml:node-set() extension
function to strip the unwanted elements out. You could write your own
extension function and do it in script. And you may also be able to
just do it as part of your first transformation, e.g. by using a good
predicate. This all depends on the complexity of the input.
>Also, is there any way to validate that the data within a date field
>is really a valid date and ignore elements with bad dates?
That is what schemas and application logic are for, but you can do it
in XSLT, yes, an extension function or perhaps splitting the string
using functions like substring() and translate(), depending on the
format you are using, plus some math. EXSLT may have some solutions
for this already.
--
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/
date: Mon, 19 May 2008 23:44:52 +0200
author: Bjoern Hoehrmann
|
|