---
title: MARKLESS_ELEMENT_HANDLE_IDREF_COMPOSITE
description: "One element() handle per IDREF attribute: a Markless compiler error."
sidebar: { hidden: true }
search: { keywords: ["ELEMENT_HANDLE_IDREF_COMPOSITE","element handle idref composite","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_COMPOSITE: One element() handle per IDREF attribute
The compiler resolves the relationship and the emitter mints the id. Combining handles would require the compiler to spell and order ids it cannot see, and id spelling is not something this record owns.
Reference one element() handle directly, as <attributeName>={handle}.
https://markless.dev/errors/MARKLESS_ELEMENT_HANDLE_IDREF_COMPOSITE
```

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).
