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"
    }
  }
}
EigenschapBeschrijving
@contextEen object dat de steno-voorvoegsels definieert die kunnen worden gebruikt in plaats van een volledige naamruimte-URI onder properties .
@idEen uniek herkenningsteken voor het verslag zoals die door wordt bepaald JSON-LD spec.
xdm:skuEen 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/applicationEen 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/stockNumberVelden 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:internalSkuDe 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"
        }
      }
    }
  }
}