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

# arc:import

> 複数のライブラリが利用可能な場合に正しいバージョンを選択し、オプションで指定したバージョンを名前空間プレフィックスにバインドして名前の衝突を回避します。

export const siteNameShort = "Arc";

`arc:import` キーワードを使用して、複数の利用可能なライブラリが存在する場合に正しいバージョンのライブラリを選択します。また、指定したバージョンを名前空間プレフィックスにバインドすることも可能です。

`arc:import` を使って、Global Assembly Cache （GAC）またはクラスパスの外からライブラリをインポートすることができます。

## コネクタのバージョン管理

`arc:import` は、複数のバージョンをロードし、明示的に利用する1つのバージョンを選択することを可能にします。

* .NET 版では、コネクタとフォーマッタアセンブリをGAC に配置し、`arc:import` を使ってスクリプトに目的のバージョンをロードすることができます。

* クロスプラットフォーム版では、コネクタ、フォーマッタJAR ファイルを通常のクラスパスの外（例えば、WEB-INF/lib フォルダのサブディレクトリ）に配置でき、同じJAR の複数のバージョンを保有する方法が提供されます。`arc:import` を使用して、ロードするJAR ファイルを選択できます。

## 名前の簡略化

`arc:import` キーワードは、オペレーションまたはフォーマッタの名前をシンプルにすることができます。例えば、カスタムフォーマッタは完全なクラス名を必要としますが、`arc:import` を使うと完全なクラス名の前に短い名前をプレフィックスできます。

## パラメータ

* **lib**：インポートするライブラリの名前。.NET エディションでは、アセンブリ名を指定します（full qualified が望ましいです）。クロスプラットフォーム版では、JAR ファイルへのパスを指定します。
* **ns**：オペレーション、またはフォーマッタ名がバインドされる名前空間。指定すると、名前空間はルックアップ時に優先されます。指定されていない場合、実装クラスを検索するための通常のルールが使われます。
* **prefix**：異なるライブラリ、異なる名前空間、またはその両方で実装されている同じ名前を持つオペレーションやフォーマッタを使う場合に、名前の衝突を避ける目的で使われる接頭辞。このパラメータを使用する場合は、**ns** パラメータも必要です。

## アトリビュートの制御

None

## 例

ライブラリのバージョン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]"/>
```
