

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Schema per le definizioni dei tipi
<a name="schema-for-type-definitions"></a>

Le seguenti sezioni descrivono in dettaglio lo schema utilizzato per le definizioni dei tipi.

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

L'elemento $id identifica la definizione dello schema. Deve seguire questa struttura:
+ Inizia con il prefisso `/schema-versions/` URI
+ Includi il tipo di `definition` schema
+ Usa una barra in avanti (`/`) come separatore di percorso URI
+ Includi l'identità dello schema, con frammenti separati da punti () `.`
+ Usa il `@` carattere per separare l'ID e la versione dello schema
+ Termina con la versione semver, usando periods (`.`) per separare i frammenti di versione

L'identità dello schema deve iniziare con uno spazio dei nomi radice lungo 3-12 caratteri, seguito da uno spazio dei nomi secondario e da un nome opzionali.

La versione semver include una versione MAJOR (fino a 3 cifre), una versione MINOR (fino a 3 cifre) e una versione PATCH opzionale (fino a 4 cifre).

**Nota**  
Non è possibile utilizzare i namespace riservati o `aws` `matter`

**Example Esempio $id**  

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

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

L'``elemento $ref fa riferimento a una definizione di tipo esistente all'interno del sistema. Segue gli stessi vincoli dell'elemento. `$id`

**Nota**  
È necessario che esista una definizione o una funzionalità del tipo con il valore fornito nel `$ref` file.

**Example Esempio $ref**  

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

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

L'elemento name è una stringa che rappresenta il nome dell'entità nel documento dello schema. Spesso contiene abbreviazioni e deve seguire queste regole:
+ Contiene solo caratteri alfanumerici, punti (.), barre (/), trattini (-) e spazi
+ Inizia con una lettera
+ Massimo 192 caratteri

L'elemento name viene utilizzato nell'interfaccia utente e nella documentazione della console di Amazon Web Services.

**Example Nomi di esempio**  

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

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

L'elemento title è una stringa descrittiva per l'entità rappresentata dal documento dello schema. Può contenere qualsiasi carattere e viene utilizzato nella documentazione.

**Example Titoli di esempio**  

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

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

L'`description`elemento fornisce una spiegazione dettagliata dell'entità rappresentata dal documento dello schema. Può contenere qualsiasi carattere e viene utilizzato nella documentazione.

**Example Descrizione di esempio**  

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

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

L'`extrinsicId`elemento rappresenta un identificatore gestito all'esterno del sistema IoT di Amazon Web Services. Per le funzionalità di Matter, viene mappato a `clusterId` `attributeId``commandId`,`eventId`,, o`fieldId`, a seconda del contesto.

`extrinsicId`Può essere un numero intero decimale con stringhe (1-10 cifre) o un intero esadecimale con stringhe (prefisso 0x o 0X, seguito da 1-8 cifre esadecimali).

**Nota**  
Per, l' AWS ID fornitore (VID) è 0x1577 e per Matter è 0. Il sistema garantisce che gli schemi personalizzati non utilizzino questi VID riservati per le funzionalità.

**Example Esempio: ExtrinsICIDS**  

```
0018
0x001A
0x15771002
```

## Proprietà estrinseche
<a name="definition-schema-extrinsicproperties"></a>

L'`extrinsicProperties`elemento contiene un insieme di proprietà definite in un sistema esterno ma mantenute all'interno del modello di dati. Per quanto riguarda le funzionalità di Matter, esegue il mapping a diversi elementi non modellati o parzialmente modellati all'interno del cluster, dell'attributo, del comando o dell'evento ZCL.

Le proprietà estrinseche devono rispettare questi vincoli:
+ I nomi delle proprietà devono essere alfanumerici senza spazi o caratteri speciali
+ I valori delle proprietà possono essere qualsiasi valore dello schema JSON
+ Massimo 20 proprietà

Il sistema supporta diverse funzionalità`extrinsicProperties`, tra cui `access``apiMaturity`,`cli`,`cliFunctionName`, e altre ancora. Queste proprietà facilitano le trasformazioni tra ACL e modelli di dati AWS (e viceversa).

**Nota**  
Le proprietà estrinseche sono supportate per gli elementi `action``event`,`property`, e `struct` fields di una funzionalità, ma non per la capacità o il cluster stesso.