> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DocumentDefinition

> L’objet DocumentDefinition dans la sortie JSON de Vantage décrit la structure des données extraites et répertorie les champs qu’une Compétence de document peut extraire.

**DocumentDefinition** contient un objet de type **RootConcept**.

<div id="documentdefinition">
  ## DocumentDefinition
</div>

| Propriété     | Type      | Description                                   |
| :------------ | :-------- | :-------------------------------------------- |
| `RootConcept` | `Concept` | Le concept racine des informations extraites. |

Les éléments extraits sont représentés par des concepts. Chaque concept correspond à un type d'objet et possède un nom, un ID et une description de champs qui lui sont propres.

<div id="concept">
  ## Concept
</div>

| Propriété | Type              | Description                                          |
| :-------- | :---------------- | :--------------------------------------------------- |
| `Id`      | `String`          | L'ID du concept.                                     |
| `Name`    | `String`          | Le nom du concept.                                   |
| `Fields`  | `ConceptField []` | Une description de la structure des champs extraits. |

**ConceptField** décrit la structure des champs extraits. Un champ peut contenir des valeurs de types différents, soit simples (par exemple string, date, number, bool ou image), soit combinées (c'est-à-dire un objet enfant).

<div id="conceptfield">
  ## ConceptField
</div>

| Property          | Type                                                                   | Description                                                                                                                                                                                                                                                                                                                                                                              |
| :---------------- | :--------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Id`              | `String`                                                               | L'ID du champ.                                                                                                                                                                                                                                                                                                                                                                           |
| `Name`            | `String`                                                               | Le nom du champ.                                                                                                                                                                                                                                                                                                                                                                         |
| `Type`            | `Enum {Concept / String / Image / ISOdate / Boolean / Decimal / Enum}` | Le type de données du champ.                                                                                                                                                                                                                                                                                                                                                             |
| `EnumValues`      | `EnumValue []`                                                         | L'énumération des valeurs possibles du champ. **Remarque :** cette propriété n'est pas implémentée.                                                                                                                                                                                                                                                                                      |
| `Cardinality`     | `Cardinality`                                                          | Indique si le champ se répète plusieurs fois dans le document.                                                                                                                                                                                                                                                                                                                           |
| `ValueConcepts`   | `Concept []`                                                           | Une description des concepts enfants.                                                                                                                                                                                                                                                                                                                                                    |
| `ValueConceptIds` | `String []`                                                            | Un tableau contenant les ID des concepts enfants. Cette propriété devient disponible uniquement lorsqu'un concept est enfant de plusieurs concepts parents. Le concept enfant sera renseigné dans son intégralité dans la propriété **ValueConcepts** de l'un de ses concepts parents. Les autres concepts parents n'auront que son identifiant dans leur propriété **ValueConceptIds**. |

**EnumValue** décrit l'élément Enum de l'objet **ConceptField**.

<div id="enumvalue">
  ## EnumValue
</div>

| Propriété | Type     | Description          |
| :-------- | :------- | :------------------- |
| `Id`      | `String` | L'ID de l'élément.   |
| `Name`    | `String` | Le nom de l'élément. |

<Info>
  La propriété **EnumValues** n'est pas implémentée.
</Info>

**Cardinality** indique si le champ est présent plusieurs fois dans le document.

<div id="cardinality">
  ## Cardinalité
</div>

| Property | Type      | Description                    |
| :------- | :-------- | :----------------------------- |
| `Min`    | `Integer` | Le nombre minimal d'instances. |
| `Max`    | `Integer` | Le nombre maximal d'instances. |

Si Min = 0 et Max = 1, le champ ne doit pas apparaître plusieurs fois dans le document. Si Min = 0 et Max = -1, le champ peut apparaître plusieurs fois dans le document.
