Syntaxis naamruimte
In de volgende secties ziet u hoe naamruimten worden toegewezen in XDM-syntaxis.
Standaard XDM
De standaard syntaxis XDM verstrekt insight in hoe namespaces in schema's (met inbegrip van worden vertegenwoordigd hoe zij in Adobe Experience Platformworden vertaald).
Standaard XDM gebruikt JSON-LDsyntaxis om namespaces aan gebieden toe te wijzen. Deze naamruimte wordt geleverd in de vorm van een URI (bijvoorbeeld https://ns.adobe.com/xdm
voor de xdm
naamruimte) of als een voorvoegsel dat wordt geconfigureerd in het @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 JSON-LD-specificatie), begint elk veld onder properties
met een naamruimte en eindigt het met de veldnaam. Als u een voorvoegsel gebruikt dat is gedefinieerd onder @context
, worden de naamruimte en de veldnaam 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"
}
}
}
Eigenschap | Beschrijving |
---|---|
@context | Een object dat de steno-voorvoegsels definieert die kunnen worden gebruikt in plaats van een volledige naamruimte-URI onder properties . |
@id | Een uniek herkenningsteken voor het verslag zoals die door wordt bepaald JSON-LD spec. |
xdm:sku | Een voorbeeld van een veld dat een voorvoegsel uit de steno gebruikt om een naamruimte aan te duiden. In dit geval is xdm de naamruimte (https://ns.adobe.com/xdm ) en is sku de veldnaam. |
https://ns.adobe.com/xdm/channels/application | Een voorbeeld van een veld dat de volledige naamruimte-URI gebruikt. In dit geval is https://ns.adobe.com/xdm/channels de naamruimte en is application de veldnaam. |
https://ns.adobe.com/vendorA/product/stockNumber | Velden die worden geleverd door bronnen van leveranciers, gebruiken hun eigen unieke naamruimten. In dit voorbeeld is https://ns.adobe.com/vendorA/product de naamruimte van de leverancier en is stockNumber de veldnaam. |
tenantId:internalSku | De gebieden die door uw organisatie worden bepaald gebruiken uw unieke huurdersidentiteitskaart als hun namespace. In dit voorbeeld is tenantId de naamruimte voor huurders ( https://ns.adobe.com/tenantId ) en is internalSku de veldnaam. |
Compatibiliteitsmodus
In Adobe Experience Platform, worden de schema's XDM vertegenwoordigd in syntaxis van de Wijze van de Verenigbaarheid, die niet de JSON-LD syntaxis gebruikt om namespaces te vertegenwoordigen. In plaats daarvan converteert Experience Platform de naamruimte naar een bovenliggend veld (te beginnen met een onderstrepingsteken) en worden de onderliggende velden genest.
De standaard-XDM repo:createdDate
wordt bijvoorbeeld omgezet in _repo.createdDate
en wordt weergegeven onder de volgende structuur in de compatibiliteitsmodus:
"_repo": {
"type": "object",
"properties": {
"createdDate": {
"type": "string",
"format": "datetime"
}
}
}
De gebieden die xdm
gebruiken namespace verschijnen als wortelgebieden onder properties
en laten vallen xdm:
prefix die in standaardXDM syntaxiszou verschijnen. xdm:sku
wordt bijvoorbeeld gewoon weergegeven als sku
.
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"
}
}
}
}
}