

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Esquema para definiciones de tipos
<a name="schema-for-type-definitions"></a>

En las siguientes secciones se detalla el esquema utilizado para las definiciones de tipos.

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

El elemento $id identifica la definición del esquema. Debe seguir esta estructura:
+ Comience con el prefijo `/schema-versions/` URI
+ Incluya el tipo de `definition` esquema
+ Utilice una barra inclinada (`/`) como separador de rutas de URI
+ Incluya la identidad del esquema, con los fragmentos separados por puntos () `.`
+ Utilice el `@` carácter para separar el identificador del esquema y la versión
+ Termine con la versión de semver, usando puntos (`.`) para separar los fragmentos de la versión

La identidad del esquema debe comenzar con un espacio de nombres raíz de entre 3 y 12 caracteres, seguido de un subespacio de nombres y un nombre opcionales.

La versión semver incluye una versión principal (hasta 3 dígitos), una versión SECUNDARIA (hasta 3 dígitos) y una versión PATCH opcional (hasta 4 dígitos).

**nota**  
No puedes usar los espacios de nombres `aws` reservados o `matter`

**Example Ejemplo: $id**  

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

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

El `` elemento $ref hace referencia a una definición de tipo existente en el sistema. Sigue las mismas restricciones que el `$id` elemento.

**nota**  
Debe existir una definición de tipo o una capacidad con el valor proporcionado en el `$ref` archivo.

**Example Ejemplo: $ref**  

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

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

El elemento name es una cadena que representa el nombre de la entidad en el documento de esquema. A menudo contiene abreviaturas y debe seguir estas reglas:
+ Contiene únicamente caracteres alfanuméricos, puntos (.), barras diagonales (/), guiones (-) y espacios
+ Comience con una letra
+ Máximo 192 caracteres

El elemento name se utiliza en la documentación y la interfaz de usuario de la consola de Amazon Web Services.

**Example Ejemplos de nombres**  

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

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

El elemento de título es una cadena descriptiva de la entidad representada en el documento de esquema. Puede contener cualquier carácter y se utiliza en la documentación.

**Example Ejemplos de títulos**  

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

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

El `description` elemento proporciona una explicación detallada de la entidad representada en el documento de esquema. Puede contener cualquier carácter y se utiliza en la documentación.

**Example Ejemplo de descripción**  

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

El `extrinsicId` elemento representa un identificador gestionado fuera del sistema Amazon Web Services IoT. En el caso de las capacidades de Matter `clusterId` `attributeId``commandId`, se asigna a`eventId`,`fieldId`, o, según el contexto.

`extrinsicId`Puede ser un entero decimal en cadena (de 1 a 10 dígitos) o un entero hexadecimal en cadena (prefijo 0x o 0X, seguido de 1 a 8 dígitos hexadecimales).

**nota**  
En el caso de AWS Matter, el identificador de proveedor (VID) es 0x1577 y, en el de Matter, es 0. El sistema garantiza que los esquemas personalizados no utilicen estos VID reservados como funciones.

**Example Ejemplos de Extrinsicids**  

```
0018
0x001A
0x15771002
```

## Propiedades extrínsecas
<a name="definition-schema-extrinsicproperties"></a>

El `extrinsicProperties` elemento contiene un conjunto de propiedades definidas en un sistema externo pero mantenidas dentro del modelo de datos. En el caso de las capacidades de Matter, se asigna a diferentes elementos no modelados o parcialmente modelados dentro del clúster, atributo, comando o evento de ZCL.

Las propiedades extrínsecas deben seguir estas restricciones:
+ Los nombres de las propiedades deben ser alfanuméricos sin espacios ni caracteres especiales
+ Los valores de las propiedades pueden ser cualquier valor del esquema JSON
+ Máximo de 20 propiedades

El sistema admite varias `extrinsicProperties``access`,`apiMaturity`, `cli``cliFunctionName`, y otras. Estas propiedades facilitan las transformaciones de la ACL a los modelos de datos AWS (y viceversa).

**nota**  
Las propiedades extrínsecas son compatibles con los elementos `action``event`,`property`, y `struct` campos de una capacidad, pero no con la capacidad o el clúster en sí.