北京中医医院治疗白癜风用什么方法 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处理器),可以使用名称空间