Question

Je personnalisant un appareil de recherche Google, qui utilise XSLT pour présenter les résultats à l'utilisateur. Nos appels de conception pour l'une de plusieurs images à inclure au hasard sur la page de résultats. Y at-il un moyen d'utiliser l'aléatoire dans XSLT? (Pseudo-aléatoire est très bien pour cette application.)

L'appel des modèles aléatoires serait bien, comme le ferait tout simplement être en mesure de générer un nombre aléatoire et la branche sur cette base.

Était-ce utile?

La solution

En fonction de votre plate-forme permet de XSL Injecter de code utilisateur comme C #. Je ne recommande pas. Mieux, j'aurais votre accepte un paramètre XSL et tout ce que génère votre charge XML ou XSLT et peut également générer le nombre aléatoire, définissant le paramètre. Je l'ai fait en utilisant exactement cette approche, sauf les données proviennent de Bing, pas G.

Autres conseils

Vous pouvez générer des séquences XSLT pures de nombres aléatoires et aussi des permutations aléatoires des nombres dans [1 .. N].

Il suffit d'utiliser le bibliothèque FXSL (écrit en XSLT pur) pour cela.

Cet article explique les modèles à utiliser et a des exemples complets:

" Castings les dés avec FXSL. génération de nombres aléatoires Fonctions XSLT »

Si vous utilisez un moteur XSLT basé sur Java, cela vous permettra de faire des appels à une méthode statique dans les bibliothèques Java, telles que java.lang.Math.random (). Voici la syntaxe ...

<?xml version='1.0'?>
<xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:math="java.lang.Math"
    version='1.1'>

    <xsl:template match="/">
        <xsl:variable name="myRandom" select="math:random()"/>
        <xsl:value-of select="$myRandom"/>
    </xsl:template>

</xsl:stylesheet>
scroll top