2012-08-23 29 views
4

我必须使用XQuery生成一系列随机数字。我找到了一组库,但这些库都是付费的。如果任何人都可以给我一个方向,那么我将非常感激(最好是代码)。有没有可能使用XQuery生成随机数字?

+0

请阅读[常见问题] (http://stackoverflow.com/faq)..您的问题可以通过[google](http://www.google.com)回答.. –

+0

如果您可以使用XSLT,FXSL库(用纯XSLT )提供了几个用于生成给定长度的随机序列的模板/函数。更多关于这里:http://fxsl.sourceforge.net/articles/Random/Casting%20the%20Dice%20with%20FXSL-htm.htm –

+0

这个问题应该重新打开。它询问如何实现使用XQuery语言生成伪随机数的算法,无需额外的库。例如,如何实现线性同余算法,用XQUERY语言生成随机数 –

回答

7

标准的XQuery语言不提供随机功能,但许多实现。为开源实现的一些示例:

作为替代方案,XQuery的大多数Java实现(如BaseX,Saxon或Qizx)都提供了所谓的Java绑定以评估Java代码:

declare namespace math = 'java:java.lang.Math'; 
math:random() 

如果实现支持最​​新的XQuery 3.0规范,这也可以写成一个班轮:

Q{java:java.lang.Math}random() 
+0

添加到列表中:MarkLogic - xdmp:random() –

+0

它的工作原理非常感谢! – Carolik

+0

稍作更新:在XQuery 3的函数和操作符规范中,引入了函数fn:随机数生成器(请参阅https://www.w3.org/TR/xpath-functions-31/#func-随机数生成器或http://docs.basex.org/wiki/XQuery_3.1#fn:random-number-generator)。 –