1

背景:

我正在尝试对attrname可能是 anxs:string或 an的属性值 ( ) 执行查询(使用 XQuery 3.0) xs:int,让我们调用它$a

如果$a能够解析为,xs:int那么我想将其与xs:int变量$v<<==等)进行比较。否则,如果是xs:string我想执行不同的比较。

XML 示例

<root>
  <element attrname="1">this is an xs:int</element>
  <element attrname="A">this is an xs:string</element>
</root>

伪代码

IF $a IS xs:int THEN
  DO SOMETHING
ELSE IF $a IS xs:string THEN
  DO SOMETHING ELSE

我的问题:

在执行任何操作之前,我无法找到评估 if 的正确方法$axs:int

4

1 回答 1

4

您可以使用if ($a castable as xs:int) then expression1 else expression2.

于 2014-04-14T09:45:30.280 回答