1

EXSLT の math:random() 関数を使いたいのですが、うまくいきません。これは私のテスト、ファイルxsltです:

<xsl:stylesheet xmlns:math="http://exslt.org/math" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" extension-element-prefixes="math">
<xsl:import href="math.xsl"/>
<xsl:template match="/">
    <xsl:value-of select="(floor(math:random()*10) mod 10) + 1"/>
</xsl:template>
</xsl:stylesheet>

これは単純なファイル xml です。

<?xml-stylesheet type="text/xsl" href="stile.xslt"?>
<radice>
   ciao!
</radice>

この例では、「ciao!」と表示されるべきではありません。1から10までの乱数?助けてくれてありがとう。

4

1 に答える 1

0

EXSLT - math:random()のドキュメントによると、関数は次の XSLT プロセッサでサポートされています: 4XSLT、libxslt、msxsl。どの XSLT プロセッサを使用していますか?

このページによると、ExistDB のデフォルトは Xalan であり、リストされているプロセッサの 1 つではありません。(ただし、Xalan のドキュメントによると、それは提供しますmath:random()。)

別のプロセッサを構成していない場合は、試してみるとよいでしょう。個人的なおすすめはサクソンです。ドキュメントによると、EXSLT をサポートしていますmath:random()

ただし、XSLT プロセッサがまったく呼び出されていないように思えます。ExistDB にスタイルシートを実行するように指示する方法を教えていただけますか? スタイルシートを実行できるようになりましたか?

于 2013-11-19T15:00:20.653 に答える