Espaciado de nombres en el modelo de datos de experiencia (XDM)
Todos los campos de los esquemas XDM (Experience Data Model) tienen un área de nombres asociada. Estas áreas de nombres le permiten ampliar los esquemas y evitar conflictos de campos a medida que se reúnen distintos componentes de esquema. Este documento proporciona información general sobre las áreas de nombres en XDM y cómo se representan en API de Registro de esquemas.
El espacio de nombres permite definir un campo en un área de nombres para que signifique algo diferente que el mismo campo en una área de nombres diferente. En la práctica, el área de nombres de un campo indica quién creó el campo (como un XDM estándar (Adobe), un proveedor o su organización).
Por ejemplo, considere un esquema XDM que utilice el Datos personales de contacto grupo de campos, que tiene un estándar mobilePhone
campo que existe en el xdm
namespace. En el mismo esquema, también es libre de crear un mobilePhone
en un área de nombres diferente (su ID de inquilino). Ambos campos pueden coexistir juntos mientras tienen diferentes significados o restricciones subyacentes.
Sintaxis de espacio de nombres
Las secciones siguientes muestran cómo se asignan los espacios de nombres en la sintaxis XDM.
XDM estándar standard
La sintaxis XDM estándar proporciona una perspectiva sobre cómo se representan los espacios de nombres en los esquemas (incluida la cómo se traducen en Adobe Experience Platform).
Usuarios de XDM estándar JSON-LD sintaxis para asignar áreas de nombres a campos. Este área de nombres se presenta en forma de URI (como https://ns.adobe.com/xdm
para el xdm
), o como un prefijo abreviado que se configura en la variable @context
atributo de un esquema.
El siguiente es un esquema de ejemplo para un producto con sintaxis XDM estándar. Con la excepción de @id
(el identificador único definido por la especificación JSON-LD), cada campo en properties
comienza con un área de nombres y termina con el nombre del campo. Si se usa un prefijo abreviado definido en @context
, el área de nombres y el nombre del campo están separados por dos puntos (:
). Si no se utiliza un prefijo, el espacio de nombres y el nombre del campo se separan mediante una barra diagonal (/
).
{
"$id": "https://ns.adobe.com/xdm/schemas/mySchema",
"title": "Product",
"description": "Represents the definition of a Project",
"@context": {
"xdm": "https://ns.adobe.com/xdm",
"repo": "http://ns.adobe.com/adobecloud/core/1.0/",
"schema": "http://schema.org",
"tenantId": "https://ns.adobe.com/tenantId"
},
"properties": {
"@id": {
"type": "string"
},
"xdm:sku": {
"type": "string"
},
"xdm:name": {
"type": "string"
},
"repo:createdDate": {
"type": "string",
"format": "datetime"
},
"https://ns.adobe.com/xdm/channels/application": {
"type": "string"
},
"schema:latitude": {
"type": "number"
},
"https://ns.adobe.com/vendorA/product/stockNumber": {
"type": "string"
},
"tenantId:internalSku": {
"type": "number"
}
}
}
@context
properties
.@id
xdm:sku
xdm
es el área de nombres (https://ns.adobe.com/xdm
), y sku
es el nombre del campo.https://ns.adobe.com/xdm/channels/application
https://ns.adobe.com/xdm/channels
es el área de nombres y application
es el nombre del campo.https://ns.adobe.com/vendorA/product/stockNumber
https://ns.adobe.com/vendorA/product
es el área de nombres del proveedor y stockNumber
es el nombre del campo.tenantId:internalSku
tenantId
es el área de nombres del inquilino (https://ns.adobe.com/tenantId
), y internalSku
es el nombre del campo.Modo de compatibilidad compatibility
En Adobe Experience Platform, los esquemas XDM se representan en Modo de compatibilidad , que no utiliza la sintaxis JSON-LD para representar áreas de nombres. En su lugar, Platform convierte el área de nombres en un campo principal (que comienza con un guion bajo) y anida los campos en él.
Por ejemplo, el XDM estándar repo:createdDate
se convierte en _repo.createdDate
y aparecerán en la siguiente estructura en el modo de compatibilidad:
"_repo": {
"type": "object",
"properties": {
"createdDate": {
"type": "string",
"format": "datetime"
}
}
}
Campos que utilizan la variable xdm
El área de nombres aparece como campos raíz en properties
y suelte el xdm:
prefijo que aparecería en sintaxis XDM estándar. Por ejemplo, xdm:sku
se muestra simplemente como sku
en su lugar.
El siguiente JSON representa cómo se traduce el ejemplo de sintaxis XDM estándar que se muestra arriba al modo de compatibilidad.
{
"$id": "https://ns.adobe.com/xdm/schemas/mySchema",
"title": "Product",
"description": "Represents the definition of a Project",
"properties": {
"_id": {
"type": "string"
},
"sku": {
"type": "string"
},
"name": {
"type": "string"
},
"_repo": {
"type": "object",
"properties": {
"createdDate": {
"type": "string",
"format": "datetime"
}
}
},
"_channels": {
"type": "object",
"properties": {
"application": {
"type": "string"
}
}
},
"_schema": {
"type": "object",
"properties": {
"application": {
"type": "string"
}
}
},
"_vendorA": {
"type": "object",
"properties": {
"product": {
"type": "object",
"properties": {
"stockNumber": {
"type": "string"
}
}
}
}
},
"_tenantId": {
"type": "object",
"properties": {
"internalSku": {
"type": "number"
}
}
}
}
}
Pasos siguientes
Esta guía proporciona información general sobre las áreas de nombres XDM y cómo se representan en JSON. Para obtener más información sobre cómo configurar esquemas XDM mediante la API, consulte la Guía de API de Registro de esquemas.