如何否定 XPath 中的持续时间

How to negate duration in XPath

如果 $d$e 是持续时间,表达式 $d lt -$e 不起作用,因为在 XPath3 中只定义了 op:numeric-unary-minus 并且没有一元负号对于其他类型。换句话说,一元减号(否定)不适用于持续时间,而仅适用于数字。

如何解决这个问题并得到持续时间的否定?

在 XPath3 中为持续时间定义了乘以数字,因此我们可以乘以 -1 来更改持续时间的符号:

$d lt ( -1 * $e )

注意:一元减号可以用在 lexical representation 个持续时间 i.g 中。

xs:dayTimeDuration("-PT50S")