Я новичок в xslt и springboot.Я разработал микросервис с использованием пружинной загрузки.У меня есть файл xslt, как показано ниже.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:java="http://xml.apache.org/xslt/java">
<xsl:template match="//ProcessInput">
<xsl:variable name="dateTimeFmt" select="java:format(java:java.text.SimpleDateFormat.new ('yyyy-MM-ddHH:mm:ss'), java:java.util.Date.new())"/>
<xsl:variable name="date" select="concat(substring($dateTimeFmt,1,10),'T',substring($dateTimeFmt,11))"/>
<RMessage>
<header>
<RMessageId>
<xsl:value-of select="IMD/@id"/>
</RMessageId>
<RMessageSchemaVersion/>
<RSource>ABC</RSource>
<RDestination>XYZ</RDestination>
<RDateTimeSent>
<xsl:value-of select="$date"/>
</RDateTimeSent>
</header>
<body>
<xsl:copy-of select="IMD/node()"/>
</body>
</RMessage>
</xsl:template>
</xsl:stylesheet>
Я получаю сообщение об ошибке ниже:
Error at char 98 in xsl:variable/@select on line 4 column 145
XTDE1425: Cannot find a 2-argument function named
Q{http://xml.apache.org/xslt/java}format(). Reflexive calls to Java methods are not
available under Saxon-HE
in built-in template rule for /ProcessInput in the unnamed mode
И я использовал следующие зависимости в моем pom.xml
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
<version>9.9.0-2</version>
</dependency>