【问题标题】:Using XSLT from within an IBM Content Navigator plugin在 IBM Content Navigator 插件中使用 XSLT
【发布时间】:2017-11-10 20:38:38
【问题描述】:

我有一个 IBM Content Navigator 插件,用户将在其中向服务器发送请求,然后服务器将对存储在 FileNet 中的 XML 文件应用 XSLT 转换。

我还在独立的 Java 应用程序中使用相同的代码,这样管理员也可以在不使用 ICN 接口的情况下应用 XSLT。

我正在尝试将 XSLT 放在我的插件 Jar 文件中,并使用以下方式读取:

InputStream xslt = java.lang.ClassLoader.getSystemResourceAsStream("removeStamp.xslt");
Transformer transformer = factory.newTransformer(new StreamSource( xslt));

这适用于 Java 独立应用程序,但不适用于 ICN 插件。

如何在 IBM Content Navigator 插件 jar 中使用 XSLT?

【问题讨论】:

  • 我相信你的意思是它失败了,因为 xslt 总是返回 null(因为无法使用类加载器找到资源),对吧?
  • 是的,正确。我现在要试试你的答案,然后告诉你。

标签: java xslt ibm-content-navigator


【解决方案1】:

我相信这是因为找不到资源,通常你可以找到资源:

如果在同一个包中

InputStream is = <your class name>.class.getResourceAsStream("removeStamp.xslt");

您的搜索方式使其在类路径的根目录中查找文件。为此,您可以使用

InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("com/domain/appname/removeStamp.xslt");

核选项是在VM类路径根目录中添加文件(这不好,但可以)

【讨论】:

  • 完美!谢谢,您的回答帮助我真正了解了加载资源的过程。
猜你喜欢
  • 2020-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-10
相关资源
最近更新 更多