XQuery中使用Java的UUID随机数

时间:2018-07-13 09:02:28

标签: xquery

我不知道为什么,但是当我尝试使用时,我得到了()

declare namespace uuid='java.util.UUID';

uuid:randomUUID

在XQuery中

为什么会这样?

1 个答案:

答案 0 :(得分:2)

您的问题没有一个答案,因为确切的行为取决于XQuery处理器。


使用 BaseX ,如果将uuid:randomUUID作为函数调用,应该会得到预期的结果:

declare namespace uuid = 'java.util.UUID';
uuid:randomUUID()

但是,建议您改拨random:uuid()。无需导入名称空间,并且评估将比Java函数调用更快。


使用 Saxon 和(据我所知) eXist-db ,您将需要在名称空间URI字符串前面加上java:。这也适用于BaseX:

declare namespace uuid = 'java:java.util.UUID';
uuid:randomUUID()

使用 MarkLogic ,您可以使用sem:uuid-string()函数。