0

我想通过 XQuery 转换函数将 int 转换为字符串。

我有如下 XQuery 转换:

<ns8:postCode>{ fn:string(data($customer/ns9:postCode)) }</ns8:postCode>

我正在尝试将 int 转换为字符串,但上面的行仍然给出它与目标模式不匹配的错误。源是 int,目标是字符串。

我也试过:

<ns8:postCode>{ xs:string(xs:integer(data($customer/ns9:postCode))) }</ns8:postCode>

但我遇到了同样的错误

4

1 回答 1

0

fn:data()untypedAtomic将返回为 .定义的任何原子类型(或) ns9:postCode。如果您想要一个字符串,则没有理由首先获取原子类型 - 或进行任何其他类型转换:

<ns8:postCode>{ fn:string($customer/ns9:postCode) }</ns8:postCode>

您的问题没有提供有问题的错误,但有可能<ns8:postCode>被定义为xs:string. 如果该元素包含一个xs:string,并且架构定义该元素,因为xs:integer它将引发类型不匹配错误。

于 2013-08-14T15:32:57.167 回答