0
Tentative de génération d'un nombre aléatoire à l'aide de la classe Java UUID.Appel de méthodes Java dans XSLT
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs" xmlns:uuid="java:java.util.UUID">
<xsl:template match="/">
<xsl:variable name="uid" select="uuid:randomUUID()"/>
<ClientPK><xsl:value-of select="$uid"/></ClientPK>
Erreur
Cannot find a matching 0-argument function named {java:java.util.UUID}randomUUID().
Note that direct calls to Java methods are not available under Saxon-HE
Alors, n'y a-t-il pas d'autre moyen d'appeler les fonctions Java lors d'une transformation XSLT que de payer les droits de licence (élevés) de Saxon? – Black
Cela dépend du processeur XSLT que vous voulez utiliser, il y a le XSLT 1.0 Xalan processeur qui je pense a des mécanismes similaires pour appeler en Java, il y a Saxon 6.5, également un processeur XSLT 1.0, puis il existe différentes versions de Saxon 9, Saxon 9.1 B était la dernière version du produit open source pour permettre d'appeler directement en Java. Depuis 9.2 si vous voulez ce que la matrice de fonctionnalités http://saxonica.com/documentation/index.html#!extensibility appelle "fonctions d'extension réflexives" alors vous avez besoin de PE ou EE, mais l'open source HE prend en charge une nouvelle fonctionnalité appelée " fonctions d'extension intégrées ". –
merci pour la grande info. J'utilisais Saxon 6.5, mais j'ai trouvé que lorsque vous mettez à jour Java vers la version 8, il y a des bugs avec le vieux Saxon qui ne peuvent être corrigés qu'en mettant à jour :(Je vais vérifier ce que cette nouvelle fonctionnalité de HE – Black