arc:import

Version 23.4.8843


arc:import

Version 23.4.8843


arc:import 关键字允许在有多个库可用时,选择正确的版本。除此之外,还允许将特定版本绑定到命名空间前缀上。

可以使用 arc:import 从全局程序集缓存(GAC)或 classpath 之外导入库。

端口版本

arc:import 关键字允许加载多个版本,然后显式地选择使用哪个版本。

对于 .NET 版本,可以将端口和格式化器集放到 GAC 中并使用 arc:import 在脚本中加载要使用的版本。

对于 Java 版本,可以将端口和格式化器 JAR 文件放到常规的 classpath 外(例如,WEB-INF/lib 文件夹下的一个子目录),从而提供了一种方法来保留同一 JAR 的多个并发版本。然后可以使用 arc:import 关键字来选择要加载的 JAR 文件。

名称简化

arc:import 关键字也可以帮助简化运算器或格式化器的名称。例如,当自定义的格式化器需要完整的类名称时,可以使用 arc:import 在完整的类名称前加上一个较短的名称作为前缀。

参数

  • lib:要导入库的名称。在 .NET 版本中,这指定了程序集名称(最好是完全限定的名称)。在 Java 版本中,它指定了 JAR 文件的路径。
  • ns:运算器或格式化将被绑定到的命名空间。在查找过程中,指定的命名空间将被赋予优先级。如果没有指定,将会使用常规规则去查找实现类。
  • prefix:使用相同名称但在不同库,不同命名空间或两者中实现的运算器或格式化程序时,用于避免名称冲突的前缀。除此参数外,还必须指定 ns 属性。

控制属性

示例

加载 2.0 版本的库:

<arc:import lib="myops, Version=2.0.0.0" ns="MyCompany.MyOps" prefix="my2"/>
<arc:call op="my2.Operation" ...>

应用在 CustomFormatters.jar 中定义的一个自定义“count”格式化器:

<arc:import lib="CustomFormatters.jar" ns="com.mycompany.Formatters" prefix="cust"/>
<arc:set attr="size" value="[elem.number | cust.count]"/>