2012-08-23 30 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)。 –