xsl-list
[Top] [All Lists]

Re: [xsl] XPath expression for checking that an xs:duration value is not negative?

2011-04-23 09:49:37
On Sat, Apr 23, 2011 at 10:39 AM, David Carlisle 
<davidc(_at_)nag(_dot_)co(_dot_)uk> wrote:
On 23/04/2011 14:22, Costello, Roger L. wrote:
What XPath expression will tell me if the xs:duration value in this
element is not negative:

    <duration>_______</duration>

XSL F&O says:
..... Note that no ordering relation is defined on xs:duration values...

so you'll need to cast to a type that does have an ordering relation
either xs:yearMonthDuration or xs:dayTimeDuration so something like

xs:yearMonthDuration(duration) ge xs:yearMonthDuration(P0Y)

Given that section 3.2.6.1 (Lexical representation - xs:duration) of
XML Schema Part 2 says "An optional preceding minus sign ('-') is
allowed, to indicate a negative duration. If the sign is omitted a
positive duration is indicated.", wouldn't it be sufficient to just
check for the leading minus sign?

duration[substring(., 1, 1) != '-']

-Brandon :)

--~------------------------------------------------------------------
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>
--~--