> ## 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:if

> アイテム、アトリビュート、値を含むエクスプレッションを評価し、true と評価された場合にボディブロックを実行します。

export const siteNameShort = "Arc";

`arc:if` キーワードを使用して、アイテム、アトリビュート、値を含むエクスプレッションを評価します。キーワードのスコープは、特定のエクスプレッションが`true` と評価された場合に実行されます。

## パラメータ

* **exp**：評価するエクスプレッション。文字列、日付、および数値の比較をすることができます。
* **attr**：値を比較するアトリビュートの名前。アトリビュートの値は、一致する値かどうか、または`null` や`notnull` かどうかをチェックできます。
* **value**：**attr** で指定されたアトリビュートの値と比較する値。
* **item**：比較されるアトリビュートを含むアイテム。
* **operator**：**attr** と**value** で指定されたオペランドを比較する演算子の名前。有効な値は`null`、`notnull`、`hasvalue`、`equals`、`equalsignorecase`、`notequals`、`lessthan`、および`greaterthan` です。デフォルトは`notnull` です。
* **action**：エクスプレッションが`true` と判断された場合に実行されるアクション。使用できる値は、`break` または`continue` です。

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

None

## 例

2つの値の単純な比較を評価します：

```xml theme={null}
<arc:if exp="[attr] == 10">
```

与えられた値と、与えられたアトリビュートの値が同じ値かどうかを評価します：

```xml theme={null}
<arc:set attr="attr1" value="value1"/>
<arc:set attr="attr2" value="value2"/>
<arc:if attr="attr1" value="[attr2]" operator="notequals"> <!-- Evaluates to true -->
<arc:else>
False
</arc:else>
True
</arc:if>
```

アトリビュートが存在するかどうかを評価します：

```xml theme={null}
<arc:set attr="exists" value="true"/>
<arc:if attr="exists"> <!-- Evaluates to true -->
[exists]
</arc:if>
```

## 関連項目

* [arc:exists](./op-arc-exists)：指定したアイテムにアトリビュートの値があることをチェックする。
* [arc:equals](./op-arc-equals)：同じ値である場合に実行されるブロックを作成する。
