

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Schéma pour les définitions de type
<a name="schema-for-type-definitions"></a>

Les sections suivantes détaillent le schéma utilisé pour les définitions de type.

## $id
<a name="definition-schema-id"></a>

L'élément $id identifie la définition du schéma. Il doit suivre cette structure :
+ Commencez par le préfixe `/schema-versions/` URI
+ Inclure le type de `definition` schéma
+ Utiliser une barre oblique (`/`) comme séparateur de chemin d'URI
+ Incluez l'identité du schéma, avec des fragments séparés par des points (`.`)
+ Utilisez le `@` caractère pour séparer l'ID et la version du schéma
+ Terminez par la version semver, en utilisant des points (`.`) pour séparer les fragments de version

L'identité du schéma doit commencer par un espace de noms racine de 3 à 12 caractères, suivi d'un sous-espace et d'un nom facultatifs.

La version semver inclut une version MAJEURE (jusqu'à 3 chiffres), une version MINEURE (jusqu'à 3 chiffres) et une version PATCH optionnelle (jusqu'à 4 chiffres).

**Note**  
Vous ne pouvez pas utiliser les espaces de noms `aws` réservés ou `matter`

**Example Exemple $id**  

```
/schema-version/capability/aws.Recording@1.0
```

## $ref
<a name="definition-schema-ref"></a>

L'``élément $ref fait référence à une définition de type existante dans le système. Il suit les mêmes contraintes que l'`$id`élément.

**Note**  
Une définition de type ou une capacité doit exister avec la valeur fournie dans le `$ref` fichier.

**Example Exemple $ref**  

```
/schema-version/definition/aws.capability@1.0
```

## name
<a name="definition-schema-name"></a>

L'élément name est une chaîne représentant le nom de l'entité dans le document de schéma. Il contient souvent des abréviations et doit respecter les règles suivantes :
+ Ne contiennent que des caractères alphanumériques, des points (.), des barres obliques (/), des tirets (-) et des espaces
+ Commencez par une lettre
+ 192 caractères maximum

L'élément name est utilisé dans l'interface utilisateur et la documentation de la console Amazon Web Services.

**Example Exemples de noms**  

```
Door Lock
On/Off
Wi-Fi Network Management
PM2.5 Concentration Measurement
RTCSessionController
Energy EVSE
```

## title
<a name="definition-schema-title"></a>

L'élément de titre est une chaîne descriptive de l'entité représentée par le document de schéma. Il peut contenir n'importe quel caractère et est utilisé dans la documentation.

**Example Exemples de titres**  

```
Real-time Communication (RTC) Session Controller
Energy EVSE Capability
```

## description
<a name="definition-schema-description"></a>

L'`description`élément fournit une explication détaillée de l'entité représentée par le document de schéma. Il peut contenir n'importe quel caractère et est utilisé dans la documentation.

**Example Description de l'exemple**  

```
Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric Vehicle (EV) or Plug-In Hybrid Electric Vehicle. 
            This capability provides an interface to the functionality of Electric Vehicle Supply Equipment (EVSE) management.
```

## Extrinsicide
<a name="definition-schema-extrinsicid"></a>

L'`extrinsicId`élément représente un identifiant géré en dehors du système IoT d'Amazon Web Services. Pour les fonctionnalités de Matter`clusterId`, elles `attributeId` correspondent à`commandId`,`eventId`,`fieldId`, ou, selon le contexte.

Il `extrinsicId` peut s'agir d'un entier décimal à chaînes (1 à 10 chiffres) ou d'un entier hexadécimal à chaînes (préfixe 0x ou 0X, suivi de 1 à 8 chiffres hexadécimaux).

**Note**  
Pour AWS, l'ID du fournisseur (VID) est 0x1577, et pour Matter, il est égal à 0. Le système garantit que les schémas personnalisés n'utilisent pas ces VID réservés à des fins de fonctionnalités.

**Example Exemples d'identifiants extrinsiciques**  

```
0018
0x001A
0x15771002
```

## Propriétés extrinsèques
<a name="definition-schema-extrinsicproperties"></a>

L'`extrinsicProperties`élément contient un ensemble de propriétés définies dans un système externe mais conservées dans le modèle de données. En ce qui concerne les fonctionnalités de Matter, il correspond à différents éléments non modélisés ou partiellement modélisés au sein d'un cluster, d'un attribut, d'une commande ou d'un événement ZCL.

Les propriétés extrinsèques doivent respecter les contraintes suivantes :
+ Les noms de propriété doivent être alphanumériques, sans espaces ni caractères spéciaux.
+ Les valeurs de propriété peuvent être n'importe quelle valeur de schéma JSON
+ Maximum de 20 propriétés

Le système prend en charge divers `extrinsicProperties``access`, notamment`apiMaturity`,`cli`,`cliFunctionName`, et autres. Ces propriétés facilitent l'ACL pour les transformations de modèles de données AWS (et vice versa).

**Note**  
Les propriétés extrinsèques sont prises en charge pour les éléments `action` `event``property`,, et `struct` les champs d'une capacité, mais pas pour la capacité ou le cluster lui-même.