0

如果从 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()"/>

时髦的

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
4

2 回答 2

1

我认为应该是:

xmlns:uuid="java://java.util.UUID"
于 2013-09-25T13:31:25.137 回答
0

问题出在xmlns:uuid="java:java.util.UUID"我从一篇博文中得到的。
将其更新为xmlns:uuid="java.util.UUID"并且运行良好。

于 2013-09-25T13:29:52.693 回答