我不知道为什么,但我在尝试使用时得到了()
declare namespace uuid='java.util.UUID';
uuid:randomUUID
在XQuery 中
为什么会发生这种情况?
您的问题没有单一的答案,因为具体的行为取决于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()
函数。