XDM(Experience Data Model)에서의 네임스페이스

XDM(Experience Data Model) 스키마의 모든 필드에 연관된 네임스페이스가 있습니다. 이러한 네임스페이스를 사용하면 여러 스키마 구성 요소를 함께 가져올 때 스키마를 확장하고 필드 충돌을 방지할 수 있습니다. 이 문서에서는 XDM의 네임스페이스와 이 네임스페이스가 스키마 레지스트리 API.

네임스페이스를 사용하면 한 네임스페이스의 필드를 다른 네임스페이스의 동일한 필드와 다른 의미로 정의할 수 있습니다. 실제로 필드의 네임스페이스는 필드를 만든 사용자(예: 표준 XDM(Adobe), 공급업체 또는 조직)를 나타냅니다.

예를 들어 를 사용하는 XDM 스키마를 고려하십시오 개인 연락처 세부 정보 필드 그룹인 경우 mobilePhone 에 있는 필드 xdm 네임스페이스. 동일한 스키마에서 별도의 를 만들 수도 있습니다 mobilePhone 다른 네임스페이스 아래의 필드(사용자 임차인 ID). 이 두 필드 모두 기본 의미나 제약 조건이 서로 다른 동시에 공존할 수 있습니다.

네임스페이스 구문

다음 섹션에서는 XDM 구문에서 네임스페이스가 어떻게 지정되는지 보여 줍니다.

표준 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 안내서.

이 페이지에서는