我可以控制对Saxon中某些扩展功能的访问吗?

时间:2016-08-05 08:27:57

标签: java xml xslt saxon

Saxon配置允许调用setAllowExternalFunctions()来启用或禁用从样式表调用外部函数。

有没有办法对此进行更细粒度的控制?我的具体需求是希望列出一些功能,同时阻止所有其他功能。

目前有什么办法吗?

1 个答案:

答案 0 :(得分:0)

假设我们正在讨论反身扩展函数,您可以调用

((ProfessionalConfiguration) config).setExtensionBinder("java", javaLib);

其中javaLib是一个扩展com.saxonica.config.JavaExtensionLibrary并覆盖bind()getFunctionItem()等方法的类来检查函数名称是否正常,然后调用super() if如此。

或者,阻止所有对自反功能的调用,并提供集成的扩展功能来实现白名单中的内容。