1

当我尝试使用 java 类从 jdeveloper 10g 中的 XML+XSLT 生成 HTML 时,出现以下错误

XML-22108: (Error) Invalid Source - URL format is incorrect.

XML-22000: (Fatal Error) Error while parsing XSL file (no protocol: headerMenu.xsl)

但是当我从命令行用另一个 jdk 编译文件时,它工作正常。

以下是我的代码片段

 TransformerFactory tFactory = TransformerFactory.newInstance();

        Transformer transformer = 
            tFactory.newTransformer(new javax.xml.transform.stream.StreamSource(xslHeaderMenu)); //takes the xsl

             System.out.println("...xsl for header navigation menu block included...");

        transformer.transform(new javax.xml.transform.stream.StreamSource(xmlDataFile), 
                              new javax.xml.transform.stream.StreamResult(new FileOutputStream(htmlHeaderMenu))); //takes the xml and generates html for header menu

请建议我如何在 jdeveloper 中生成

4

1 回答 1

3

在 StreamSource 的 javadoc 中,字符串方法说它“必须是符合 URI 语法的字符串”,而“headerMenu.xsl”不是。

我会尝试:

tFactory.newTransformer(
  new javax.xml.transform.stream.StreamSource(
    new File(xslHeaderMenu))); //takes the xsl

因为 File 可以采用抽象文件名(也适用于其他流源)

于 2012-06-25T12:58:38.497 回答