> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# arc:import

> 在多個庫版本可用時選擇正確版本，並可選擇將指定版本繫結到命名空間字首以避免名稱衝突。

export const siteNameShort = "知行之橋";

arc:import 關鍵字允許在有多個庫可用時，選擇正確的版本。除此之外，還允許將特定版本繫結到命名空間字首上。

可以使用 arc:import 從全域程式集快取(GAC)或 classpath 之外匯入庫。

## 端口版本

arc:import 關鍵字允許載入多個版本，然後顯式地選擇使用哪個版本。

* 對於 .NET 版本，可以將端口和格式化器集放到 GAC 中並使用 arc:import 在指令碼中載入要使用的版本。

* 對於跨平臺版本，可以將端口和格式化器 JAR 檔案放到常規的 classpath 外（例如，WEB-INF/lib 資料夾下的一個子目錄），從而提供了一種方法來保留同一 JAR 的多個並行版本。然後可以使用 arc:import 關鍵字來選擇要載入的 JAR 檔案。

## 名稱簡化

arc:import 關鍵字也可以幫助簡化運算器或格式化器的名稱。例如，當自定義的格式化器需要完整的類名稱時，可以使用 arc:import 在完整的類名稱前加上一個較短的名稱作為字首。

## 參數

* **lib**：要匯入庫的名稱。在 .NET 版本中，這指定了程式集名稱（最好是完全限定的名稱）。在 Java 版本中，它指定了 JAR 檔案的路徑。
* **ns**：運算器或格式化將被繫結到的命名空間。在查詢過程中，指定的命名空間將被賦予優先順序。如果沒有指定，將會使用常規規則去查詢實現類。
* **prefix**：使用相同名稱但在不同庫，不同命名空間或兩者中實現的運算器或格式化器時，用於避免名稱衝突的字首。除此參數外，還必須指定 ns 屬性。

## 控制屬性

無

## 範例

載入 2.0 版本的庫：

```xml theme={null}
<arc:import lib="myops, Version=2.0.0.0" ns="MyCompany.MyOps" prefix="my2"/>
<arc:call op="my2.Operation" ...>
```

應用在 `CustomFormatters.jar` 中定義的一個自定義 `count` 格式化器：

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