【问题标题】:Can I control access to certain extension functions in Saxon?我可以控制对 Saxon 中某些扩展功能的访问吗?
【发布时间】:2016-08-05 08:27:57
【问题描述】:

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

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

目前有什么办法吗?

【问题讨论】:

    标签: java xml xslt saxon


    【解决方案1】:

    假设我们在讨论自反扩展函数,你可以调用

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

    其中 javaLib 是一个扩展 com.saxonica.config.JavaExtensionLibrary 的类,它会覆盖 bind()getFunctionItem() 等方法以检查函数名是否正常,如果是,则调用 super()

    或者,阻止对反射函数的所有调用,并提供集成的扩展函数来实现白名单上的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-04
      • 2015-01-21
      • 2011-03-12
      • 2023-03-28
      • 1970-01-01
      • 2021-09-18
      • 2011-07-30
      相关资源
      最近更新 更多