Syntaxis naamruimte
In de volgende secties ziet u hoe naamruimten worden toegewezen in XDM-syntaxis.
Standaard XDM
De standaard syntaxis XDM verstrekt inzicht 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 Platform de naamruimte naar een bovenliggend veld (te beginnen met een onderstrepingsteken) en nest het de onderliggende velden.
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"
}
}
}
}
}