XDM(Experience Data Model) 스키마의 모든 필드에는 연결된 네임스페이스가 있습니다. 이러한 네임스페이스를 사용하면 서로 다른 스키마 구성 요소를 함께 가져올 때 스키마를 확장하고 필드 충돌을 방지할 수 있습니다. 이 문서에서는 XDM의 네임스페이스에 대한 개요와 네임스페이스가 스키마 레지스트리 API.
이름 간격을 사용하면 한 네임스페이스의 필드를 다른 네임스페이스의 동일한 필드와 다른 의미로 정의할 수 있습니다. 실제로 필드의 네임스페이스는 필드를 만든 사람(예: 표준 XDM(Adobe), 공급업체 또는 조직)을 나타냅니다.
예를 들어 를 사용하는 XDM 스키마를 고려해 보겠습니다. 개인 연락처 세부 정보 필드 그룹, 표준 포함 mobilePhone
에 있는 필드 xdm
네임스페이스입니다. 동일한 스키마에서 별도의 를 만들 수도 있습니다 mobilePhone
다른 네임스페이스 아래에 있는 필드 (사용자: 임차인 ID). 이 두 장은 서로 다른 밑바탕의 의미나 제약조건을 가지면서 함께 공존할 수 있다.
다음 섹션에서는 XDM 구문에서 네임스페이스가 지정되는 방법을 보여줍니다.
표준 XDM 구문은 스키마에서 네임스페이스가 표현되는 방식에 대한 통찰력을 제공합니다(다음을 포함) Adobe Experience Platform에서 번역되는 방법).
표준 XDM 사용 JSON-LD 네임스페이스를 필드에 할당하는 구문 이 네임스페이스는 URI(예: https://ns.adobe.com/xdm
대상: xdm
namespace) 형식으로나, 또는 @context
스키마 속성.
다음은 표준 XDM 구문의 제품에 대한 예제 스키마입니다. 를 제외하고 @id
(JSON-LD 사양으로 정의된 고유 식별자), 각 필드 properties
네임스페이스로 시작하고 필드 이름으로 끝납니다. 아래에 정의된 축약 접두사를 사용하는 경우 @context
, 네임스페이스와 필드 이름은 콜론(:
). 접두사를 사용하지 않는 경우에는 네임스페이스와 필드 이름이 슬래시(/
).
{
"$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 |
아래에서 전체 네임스페이스 URI 대신 사용할 수 있는 줄임 접두사를 정의하는 개체입니다. properties . |
@id |
로 정의된 레코드의 고유 식별자 JSON-LD 사양. |
xdm:sku |
축약 접두사를 사용하여 네임스페이스를 나타내는 필드의 예 이 경우, xdm 은(는) 네임스페이스입니다(https://ns.adobe.com/xdm ), 및 sku 는 필드 이름입니다. |
https://ns.adobe.com/xdm/channels/application |
전체 네임스페이스 URI를 사용하는 필드의 예입니다. 이 경우, https://ns.adobe.com/xdm/channels 는 네임스페이스이며, application 는 필드 이름입니다. |
https://ns.adobe.com/vendorA/product/stockNumber |
공급업체 리소스에서 제공한 필드는 고유한 네임스페이스를 사용합니다. 이 예에서는 https://ns.adobe.com/vendorA/product 는 공급업체 네임스페이스이며, stockNumber 는 필드 이름입니다. |
tenantId:internalSku |
조직에서 정의한 필드는 고유한 테넌트 ID를 네임스페이스로 사용합니다. 이 예에서는 tenantId 은 임차인 네임스페이스(https://ns.adobe.com/tenantId ), 및 internalSku 는 필드 이름입니다. |
Adobe Experience Platform에서 XDM 스키마는에 표시됩니다 호환성 모드 구문 - 네임스페이스를 나타내는 데 JSON-LD 구문을 사용하지 않습니다. 대신 Platform은 네임스페이스를 상위 필드(밑줄로 시작)로 변환하고 그 아래에 필드를 중첩합니다.
예: 표준 XDM repo:createdDate
이(가) (으)로 변환되었습니다. _repo.createdDate
및 는 호환성 모드에서 다음 구조에 나타납니다.
"_repo": {
"type": "object",
"properties": {
"createdDate": {
"type": "string",
"format": "datetime"
}
}
}
를 사용하는 필드 xdm
네임스페이스는 아래의 루트 필드로 표시됩니다. properties
및 드롭하기 xdm:
다음에 나타날 접두사 표준 XDM 구문. 예를 들어, xdm:sku
간단히 다음과 같이 나열됩니다. sku
대신,
다음 JSON은 위에 표시된 표준 XDM 구문 예가 호환성 모드로 변환되는 방식을 나타냅니다.
{
"$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"
}
}
}
}
}
이 안내서에서는 XDM 네임스페이스와 네임스페이스가 JSON에서 표현되는 방법에 대한 개요를 제공합니다. API를 사용하여 XDM 스키마를 구성하는 방법에 대한 자세한 내용은 스키마 레지스트리 API 안내서.