如果从xslt中删除对Java类的引用,它可以正常工作 的 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:for-each select="Client">
<xsl:variable name="uid" select="uuid:randomUUID()"/>
Groovy的
import java.util.UUID
TransformerFactory.newInstance()
.newTransformer( new StreamSource( new StringReader( xslt ) ) )
.transform( new StreamSource( new StringReader( xmlAsString ) ),
new StreamResult( w ) )
异常
ERROR: 'Cannot find class 'java:java.util.UUID'.'
FATAL ERROR: 'Could not compile stylesheet'
Caught: javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
答案 0 :(得分:1)
我认为应该是:
xmlns:uuid="java://java.util.UUID"
答案 1 :(得分:0)
问题是xmlns:uuid="java:java.util.UUID"
我从其中一篇博文中得到的。
将其更新为xmlns:uuid="java.util.UUID"
,它运行正常。