代码之家  ›  专栏  ›  技术社区  ›  Tony

使用JAX-WS和Glassfish v3的XSL样式表URI

  •  0
  • Tony  · 技术社区  · 16 年前

    我尝试使用XSL样式表来将一些生成的XML数据转换为HTML输出。我使用的体系结构如下:[客户端]Web浏览器=>[服务器端:Glassfish v3]JSP页面->网络服务。我的web服务生成一些XML数据,然后我想用XSL样式表格式化它,将结果传递给JSP页面并显示给用户。我正在使用JAXP进行XSL转换,我想创建一个 javax.xml.transform.stream.StreamSource javax.xml.transform.Transformer 对象,但我很难为XSL文件指定路径/URL。

    所以问题是:我应该把我的XSL样式表放在项目中的什么地方,我应该如何从代码中访问它们?我正在使用glassfishv3和netbeans6.8。

    谢谢。

    1 回复  |  直到 16 年前
        1
  •  1
  •   Thorbjørn Ravn Andersen    16 年前

    这里最关键的一点是,您应该在内存中执行XSLT过程,在内存中,转换是在web服务的输出上使用DOMSource完成的。

    一个典型的场景是将XSLT文件放在类路径中,然后通过类加载器(getResourceAsStream)加载它们,这可以在StreamSource中使用。更有效的方法是创建一个Templates对象(预编译的XSLT),它可以在程序开始时完成,预先捕获任何语法错误。

    推荐文章