docs← Back to article

Markdown for LLMs

LDC-E8207 — Template outside a relation label

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# LDC-E8207 — Template outside a relation label

## What it means

A predicate template describes how a relation reads as a sentence, so
it belongs only in a label on a relation. On any other declaration —
an entity, a rule, a constant, or anything else that takes labels — a
template has no parameters to fill and no sentence to shape, so the
compiler stops at it and asks to remove it.

Plain name forms on the same label are unaffected: only the template
line has to go, or move to a relation label.

## Example

```law
language "law.core" version "0.2";
package demo.diag version "0.1.0";
namespace "urn:law:demo:diag";

entity C { label ru-KZ official "C" { template "thing"; } }
```

## Fix

```law
language "law.core" version "0.2";
package demo.diag version "0.1.0";
namespace "urn:law:demo:diag";

entity C { label ru-KZ official "C"; }
```

## Engine message

The engine reports this in its own wording:

```text
example.law:5:39: error LDC-E8207: predicate template is allowed only in a relation label (§218.2): a rule, type, parameter, constant or case entity has no template
```

## Related

- [Vocabulary](/constructs/vocabulary/) — how names are declared and which positions take them.