【发布时间】:2016-08-05 08:27:57
【问题描述】:
Saxon 配置允许调用 setAllowExternalFunctions() 来启用或禁用从样式表调用外部函数。
有没有办法对此进行更细粒度的控制?我的具体需求是希望将一些功能列入白名单,同时阻止所有其他功能。
目前有什么办法吗?
【问题讨论】:
Saxon 配置允许调用 setAllowExternalFunctions() 来启用或禁用从样式表调用外部函数。
有没有办法对此进行更细粒度的控制?我的具体需求是希望将一些功能列入白名单,同时阻止所有其他功能。
目前有什么办法吗?
【问题讨论】:
假设我们在讨论自反扩展函数,你可以调用
((ProfessionalConfiguration) config).setExtensionBinder("java", javaLib);
其中 javaLib 是一个扩展 com.saxonica.config.JavaExtensionLibrary 的类,它会覆盖 bind() 和 getFunctionItem() 等方法以检查函数名是否正常,如果是,则调用 super()。
或者,阻止对反射函数的所有调用,并提供集成的扩展函数来实现白名单上的内容。
【讨论】: