在Delphi7中向XSL添加自定义函数

在Delphi7中向XSL添加自定义函数,delphi,xslt,msxml,extension-objects,Delphi,Xslt,Msxml,Extension Objects,我试图让XSL在扩展对象上使用函数,但我所做的一切都告诉我函数不存在 在我的lib_TLB.pas文件中,我有 函数Get_ReadOnly:WordBool;安全呼叫 在实现IDispatch的接口上定义,我使用proc.AddObject(obj,'foo')将其传递给我的IXSLProcessor 我在xsl:stylesheet元素中声明xmlns:foo=“foo”,但当我尝试使用时,它只是说函数不存在 我是在什么地方漏了一步,还是说错了 编辑:仔细观察,它确实有效,只是不适用于任何作

我试图让XSL在扩展对象上使用函数,但我所做的一切都告诉我函数不存在

在我的lib_TLB.pas文件中,我有

函数Get_ReadOnly:WordBool;安全呼叫

在实现
IDispatch
的接口上定义,我使用
proc.AddObject(obj,'foo')将其传递给我的
IXSLProcessor

我在
xsl:stylesheet
元素中声明
xmlns:foo=“foo”
,但当我尝试使用
时,它只是说函数不存在

我是在什么地方漏了一步,还是说错了

编辑:仔细观察,它确实有效,只是不适用于任何作为属性获取者的函数。该函数有一个关联的属性,
foo:get-ReadOnly()。或者是因为在该接口的实现上定义的函数是“受保护的”,而不是“公共的”


不管是哪种方式,如果有人能解释一下这项工作的规则是什么,而不是我反复尝试错误,我将不胜感激。

您是否也指定
foo
作为扩展元素前缀?