Naamruimte in XDM (Experience Data Model)
Aan alle velden in XDM-schema's (Experience Data Model) is een naamruimte gekoppeld. Deze namespaces staan u toe om uw schema's uit te breiden en gebiedsbotsingen te verhinderen aangezien de verschillende schemacomponenten samen worden gebracht. Dit document biedt een overzicht van naamruimten in XDM en hoe deze worden weergegeven in het dialoogvenster Schema-register-API.
Met naamruimte kunt u een veld in één naamruimte definiëren als iets anders dan hetzelfde veld in een andere naamruimte. In de praktijk geeft de naamruimte van een veld aan wie het veld heeft gemaakt (bijvoorbeeld standaard-XDM (Adobe), een leverancier of uw organisatie).
Neem bijvoorbeeld een XDM-schema dat het Personal Contact Details veldgroep, die een standaard heeft mobilePhone
bestaat in het veld xdm
naamruimte. In hetzelfde schema kunt u ook een aparte mobilePhone
veld onder een andere naamruimte (uw huurder-id). Beide velden kunnen naast elkaar bestaan terwijl ze verschillende onderliggende betekenissen of beperkingen hebben.
Syntaxis naamruimte
In de volgende secties ziet u hoe naamruimten worden toegewezen in XDM-syntaxis.
Standaard XDM standard
De standaard XDM syntaxis verstrekt inzicht in hoe namespaces in schema's (met inbegrip van hoe ze in Adobe Experience Platform worden vertaald).
Standaard XDM-gebruik JSON-LD syntaxis om naamruimten toe te wijzen aan velden. Deze naamruimte heeft de vorm van een URI (bijvoorbeeld https://ns.adobe.com/xdm
voor de xdm
namespace), of als steno prefix die in wordt gevormd @context
kenmerk van een schema.
Hier volgt een voorbeeldschema voor een product in de standaard XDM-syntaxis. Met uitzondering van @id
(de unieke id zoals gedefinieerd door de specificatie JSON-LD), elk veld onder properties
begint met een naamruimte en eindigt met de veldnaam. Als u een korte prefix gebruikt die onder @context
, de naamruimte en de veldnaam worden gescheiden door een dubbele punt (:
). Als u geen voorvoegsel gebruikt, worden de naamruimte en de veldnaam gescheiden door een schuine streep (/
).
{
"$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
is de naamruimte (https://ns.adobe.com/xdm
), en sku
is de veldnaam.https://ns.adobe.com/xdm/channels/application
https://ns.adobe.com/xdm/channels
de naamruimte is, en application
is de veldnaam.https://ns.adobe.com/vendorA/product/stockNumber
https://ns.adobe.com/vendorA/product
de naamruimte van de leverancier is, en stockNumber
is de veldnaam.tenantId:internalSku
tenantId
is de huurdersnaamruimte (https://ns.adobe.com/tenantId
), en internalSku
is de veldnaam.Compatibiliteitsmodus compatibility
In Adobe Experience Platform worden XDM-schema's weergegeven in Compatibiliteitsmodus syntaxis, waarbij de JSON-LD-syntaxis niet wordt gebruikt om naamruimten te vertegenwoordigen. In plaats daarvan converteert Platform de naamruimte naar een bovenliggend veld (te beginnen met een onderstrepingsteken) en nest het de onderliggende velden.
De standaard-XDM repo:createdDate
wordt omgezet in _repo.createdDate
en wordt weergegeven in de volgende structuur in de compatibiliteitsmodus:
"_repo": {
"type": "object",
"properties": {
"createdDate": {
"type": "string",
"format": "datetime"
}
}
}
Velden die de xdm
naamruimte wordt weergegeven als hoofdvelden onder properties
en zet de xdm:
voorvoegsel dat wordt weergegeven in standaard XDM-syntaxis. Bijvoorbeeld: xdm:sku
is gewoon aangeboden als sku
in plaats daarvan.
De volgende JSON vertegenwoordigt hoe het standaard XDM syntaxisvoorbeeld hierboven wordt getoond vertaald naar de Wijze van de Verenigbaarheid.
{
"$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"
}
}
}
}
}
Volgende stappen
Deze handleiding biedt een overzicht van XDM-naamruimten en hoe deze worden weergegeven in JSON. Voor meer informatie over hoe te om schema's XDM te vormen gebruikend API, zie Handleiding Schema Registry API.