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

> Checks that an attribute has a value in the specified item, executing the body block only when the attribute exists and is non-null.

export const siteNameShort = "Arc";

Use the `arc:exists` keyword to check that an attribute has a value in the specified item. The [arc:notnull](./op-arc-not-null) keyword is a synonym for `arc:exists`.

## Parameters

* **item**: The item to check. If not specified, the default item is used.
* **attr**: The name of the attribute to check.
* **action**: The action to perform if the expression evaluates to true. Allowed values: `break` or `continue`.

## Control Attributes

None

## Example

Define missing title attributes for a feed of files:

```xml theme={null}
<arc:call op="fileListDir" output="out">
  <arc:exists attr="filename">
    <arc:set attr="title" value="[filename]"/>
    <arc:else>
      <arc:set attr="title" value="Unnamed File"/>
    </arc:else>
  </arc:exists>
  <arc:push title="[title]">
  [out.file:*] 
  </arc:push>
</arc:call> 
```

## See Also

* [arc:else](./op-arc-else): Create a block which is executed if the condition is not satisfied.
