Je suis en cours d'exécution du plug-in XML Maven avec ce fragment POM:ne pouvez pas utiliser <xsl: évaluer> à Saxon 9.7
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<version>1.0.1</version>
<executions>
<execution>
<goals>
<goal>transform</goal>
</goals>
</execution>
</executions>
<configuration>
<transformationSets>
<transformationSet>
<dir>${basedir}/target/xml</dir>
<stylesheet>${basedir}/target/typesetting/fop/xslt/PhotoBook-fo.xslt</stylesheet>
</transformationSet>
</transformationSets>
</configuration>
<dependencies>
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
<version>9.7.0-15</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
La feuille de style contient une fonction, <xsl:evaluate>
, qui fait partie de XSLT 3.0, ce que je comprends est pris en charge dans Saxon-HE 9.7.0. La feuille de style déclare correctement la version XSLT:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="3.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
Mais le traitement de ce fragment:
<xsl:for-each select="xhtml:tr[1]/xhtml:td">
<xsl:element name="table-column" namespace="http://www.w3.org/1999/XSL/Format">
<xsl:attribute name="column-width">
<xsl:evaluate select="@width"/>
</xsl:attribute>
</xsl:element>
</xsl:for-each>
Je reçois
[INFO] --- xml-maven-plugin:1.0.1:transform (default) @ birds-portfolio-1 ---
Static error at xsl:evaluate on line 132 column 56 of xhtml5-fo.xslt:
XTSE0010: Unknown XSLT element: evaluate
Qu'est-ce que je manque? Merci.
Merci, je me suis perdu dans les différentes éditions. Oui, j'ai besoin d'une évaluation, parce que je pourrais passer une expression en utilisant certaines variables impliquant des mesures de page (le truc est lié à FOP pour la composition des livres). J'ai aussi besoin de beaucoup de refactorings pour mon code XSLT, mais pour le moment je suis coincé avec le besoin d'évaluer, et je dois travailler dessus avant d'améliorer le reste du code. –