从 IBM Content Navigator 插件中使用 XSLT
Using XSLT from within an IBM Content Navigator plugin
我有一个用于 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?
我相信这是因为找不到资源,通常你可以找到资源:
如果在同一个包内
InputStream is = <your class name>.class.getResourceAsStream("removeStamp.xslt");
您的搜索方式使其在类路径的根目录中查找文件。为此,您可以使用
InputStream = ClassLoader.getSystemClassLoader().getResourceAsStream("com/domain/appname/removeStamp.xslt");
核选项是在VM类路径根目录下添加文件(这样不好,但是可以)
我有一个用于 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?
我相信这是因为找不到资源,通常你可以找到资源:
如果在同一个包内
InputStream is = <your class name>.class.getResourceAsStream("removeStamp.xslt");
您的搜索方式使其在类路径的根目录中查找文件。为此,您可以使用
InputStream = ClassLoader.getSystemClassLoader().getResourceAsStream("com/domain/appname/removeStamp.xslt");
核选项是在VM类路径根目录下添加文件(这样不好,但是可以)