包虫病

注册

 

发新话题 回复该主题

第二十五章添加和使用XSLT扩展函数 [复制链接]

1#
北京中医医院治疗白癜风用什么方法 http://m.39.net/pf/a_4619541.html
第二十五章添加和使用XSLT扩展函数自定义错误处理

当出现错误时,XSLT处理器(Xalan或Saxon)执行当前错误处理程序的error()方法,将消息作为参数发送到该方法。类似地,当发生致命错误或警告时,XSLT处理器会根据需要执行datalError()或Warning()方法。

对于所有这三种方法,默认行为是将消息写入当前设备。

要自定义错误处理,请执行以下操作:

对于Xalan或Saxon处理器,在创建%XML.XSLT.ErrorHandler的子类。在这个子类中,根据需要实现Error()、FatealError()和Warning()方法。

这些方法中的每一个都接受单个参数,即包含由XSLT处理器发送的消息的字符串。

这些方法不返回值。

要在编译样式表时使用此错误处理程序,请创建子类的实例,并在编译样式表时在参数列表中使用它。

若要在执行XSLT转换时使用此错误处理程序,请创建子类的实例,并在使用的Transform方法的参数列表中使用它。

指定样式表使用的参数

要指定样式表使用的参数,请执行以下操作:

创建%ArrayOfDataTypes的实例在。

调用此实例的SetAt()方法将参数及其值添加到此实例。对于SetAt(),将第一个参数指定为参数值,将第二个参数指定为参数名称。

根据需要添加任意多个参数。

SettParameters=##class(%ArrayOfDataTypes).%New()SettSC=tParameters.SetAt(1,"myparameter")SettSC=tParameters.SetAt(2,"anotherparameter")

将此实例用作Transform方法的pParms参数。

可以不使用%ArrayOfDataType,而是使用IRIS多维数组,该数组可以具有任意数量的具有以下结构和值的节点:

NodeValuearrayname("parameter_name")Valueoftheparameternamedbyparameter_name添加和使用XSLT扩展函数

可以在InterSystemsIRIS中创建XSLT扩展函数,然后在样式表中使用它们,如下所示:

对于XSLT2.0(Saxon处理器),可以使用名称空间

分享 转发
TOP
发新话题 回复该主题