---
title: MARKLESS_ELEMENT_HANDLE_IDREF_ROW_OWNED
description: "A repeated element() handle cannot be named by an IDREF: a Markless compiler error."
sidebar: { hidden: true }
search: { keywords: ["ELEMENT_HANDLE_IDREF_ROW_OWNED","element handle idref row owned","markless error"] }
pagination: false
---

**Error** from the compiler, while it builds your `.tsrx` files.

## What happened

Markless prints the message, the reason, and a suggestion:

```text
MARKLESS_ELEMENT_HANDLE_IDREF_ROW_OWNED: Cannot resolve <attributeName>={<source>} because "<handleName>" is bound inside a keyed repeat, so it names one element per row rather than one element.
Every row owns its own element and would need its own id. One authored handle cannot name one of them, and picking a row silently would make the relationship point at whichever row happened to render first.
Bind a separate element() handle outside the repeat for the element this attribute names, or move the relationship inside the row so each row names its own element.
https://markless.dev/errors/MARKLESS_ELEMENT_HANDLE_IDREF_ROW_OWNED
```

Words in angle brackets change from case to case.

## How to fix it

Start with the suggestion in the message above.

This page has no guide yet. [Help write it](/contributing/improve-these-docs).

## Where it comes from

`@markless/compiler` raises this code. Source:

- [packages/compiler/src/passes/semantic-graph/diagnostics.ts](https://github.com/compiled-run/markless/blob/main/packages/compiler/src/passes/semantic-graph/diagnostics.ts)

Read [how to read a Markless error](/tooling/diagnostics), or go back to [all error codes](/errors).
