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

Subject: Re: [xsl] XPath expression for checking that an xs:duration value is not negative?
From: Brandon Ibach <brandon.ibach@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 23 Apr 2011 10:49:25 -0400
On Sat, Apr 23, 2011 at 10:39 AM, David Carlisle <davidc@xxxxxxxxx> 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 :)

Current Thread