我正在使用这个 POM 片段运行 XML Maven 插件:
<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>
样式表包含一个特性,<xsl:evaluate>
它是 XSLT 3.0 的一部分,据我了解,Saxon-HE 9.7.0 支持该特性。样式表正确声明了 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">
但是处理这个片段:
<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>
我明白了
[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
我错过了什么?谢谢。