XSLT:找不到Java类异常

时间:2013-09-25 13:20:27

标签: java xslt groovy

如果从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

2 个答案:

答案 0 :(得分:1)

我认为应该是:

xmlns:uuid="java://java.util.UUID"

答案 1 :(得分:0)

问题是xmlns:uuid="java:java.util.UUID"我从其中一篇博文中得到的。
将其更新为xmlns:uuid="java.util.UUID",它运行正常。