导航

msxsl:node-set与Map中使用外部类

Posted on 2008-09-02 16:42  鸡尾虾的壳  阅读(298)  评论(0编辑  收藏  举报

msxsl:node-set:把XML片段转化为节点集。参数支持硬编码的变量,不支持参数,动态变量。

 

对于Map中的复杂需求,可以通过Template Script来实现。把复杂逻辑放入外部类中实现,然后在脚本中调用外部类。有2点需要注意:如果同一时间有多个Map事务在运行,那么外部类是被这些事务共享的。因此,外部类的属性非线程安全,属性可以使用Hashtable类存储,用guid作为key。脚本中的类方法调用包含guid参数,用来分隔可能出现的多个事务调用的外部类状态。

 

如果msxsl:node-set支持动态变量,那么只需要在外部类中提供少量的方法,把计算后的复杂结果通过XML片段的形式返回给脚本处理,那么就不会有外部类访问冲突的问题了。