스키마 구조

의 기본 구조 <srcschema> 는 다음과 같습니다.

<srcSchema>
    <enumeration>
        ...          //definition of enumerations
    </enumeration>

    <element>         //definition of the root <element>    (mandatory)

        <compute-string/>  //definition of a compute-string
        <dbindex>
            ...        //definition of indexes
        </dbindex>
        <key>
            ...        //definition of keys
        </key>
        <sysFilter>
            ...           //definition of filters
        </sysFilter>
        <attribute>
            ...             //definition of fields
        </attribute>

            <element>           //definition of sub-<element>
                  <attribute>           //(collection, links or XML)
                  ...                         //and additional fields
                  </attribute>
                ...
            </element>

    </element>

        <methods>                 //definition of SOAP methods
            <method>
                ...
            </method>
            ...
    </methods>

</srcSchema>

데이터 스키마의 XML 문서에는 <srcschema> 루트 요소가 있는 요소 이름namespace 스키마 이름 및 해당 네임스페이스를 채울 속성입니다.

<srcSchema name="schema_name" namespace="namespace">
...
</srcSchema>

다음 XML 컨텐츠를 사용하여 데이터 스키마의 구조를 설명하겠습니다.

<recipient email="John.doe@aol.com" created="2009/03/12" gender="1">
  <location city="London"/>
</recipient>

해당 데이터 스키마 사용:

<srcSchema name="recipient" namespace="cus">
  <element name="recipient">
    <attribute name="email"/>
    <attribute name="created"/>
    <attribute name="gender"/>
    <element name="location">
      <attribute name="city"/>
   </element>
  </element>
</srcSchema>

설명

스키마의 시작 지점은 기본 요소입니다. 스키마와 동일한 이름을 가지며 루트 요소의 자식이어야 하므로 쉽게 식별할 수 있습니다. 컨텐츠의 설명은 이 요소로 시작됩니다.

이 예제에서 기본 요소는 다음 행으로 표시됩니다.

<element name="recipient">

요소 <attribute><element> 기본 요소 다음에 나오는 기본 요소를 사용하여 XML 구조에서 데이터 항목의 위치 및 이름을 정의할 수 있습니다.

샘플 스키마에서는 다음과 같습니다.

<attribute name="email"/>
<attribute name="created"/>
<attribute name="gender"/>
<element name="location">
  <attribute name="city"/>
</element>

다음 규칙에 부합해야 합니다.

  • <element><attribute>이름 속성을 사용합니다.

    중요

    요소의 이름은 간결해야 하며, 바람직하게는 영어로 작성되어야 하며 XML 이름 지정 규칙에 따라 인증된 문자만 포함해야 합니다.

  • 전용 <element> 요소를 포함할 수 있습니다. <attribute> 요소 및 <element> XML 구조의 요소

  • An <attribute> 요소에는 <element>.

  • 의 사용 <elements> 여러 줄 데이터 문자열에서 를 사용하는 것이 좋습니다.

데이터 유형

데이터 유형은 유형 의 속성 <attribute><element> 요소를 생성하지 않습니다.

자세한 목록은 <attribute> 요소 그리고 <element> 요소).

이 속성을 채우지 않으면, string 요소에 하위 요소가 포함되지 않은 경우 는 기본 데이터 유형입니다. 그럴 경우 계층 구조를 구성하는 데만 사용됩니다(<location> 요소를 생성하지 않습니다.

스키마에서 지원되는 데이터 유형은 다음과 같습니다.

  • string: 문자열. 예: 이름, 도시 등

    크기는 를 통해 지정할 수 있습니다 length 속성(선택 사항, 기본값 "255").

  • 부울: 부울 필드. 가능한 값의 예: true/false, 0/1, 예/아니요 등

  • byte, short, 장기간: 정수(1바이트, 2바이트, 4바이트). 예: 연령, 계좌 번호, 포인트 수 등

  • 이중: 배정밀도 부동 소수점 번호 예: 가격, 비율 등

  • 날짜, datetime: 날짜 및 날짜 + 시간. 예: 생년월일, 구매 날짜 등

  • datetimeenotz: 날짜 + 시간(시간대 데이터 없음)

  • 시간 간격: 지속 시간. 예: 연수.

  • 메모: 긴 텍스트 필드(여러 줄). 예: 설명, 설명 등

  • uuid: GUID를 지원하는 "uniqueidentifier" 필드(Microsoft SQL Server에서만 지원됨)입니다.

    노트

    를 포함하려면 다음을 수행하십시오 uuid Microsoft SQL Server 이외의 엔진의 필드에 "newuuid()" 함수를 추가하고 해당 기본값으로 완료해야 합니다.

입력한 유형을 사용하는 예제 스키마는 다음과 같습니다.

<srcSchema name="recipient" namespace="cus">
  <element name="recipient">
    <attribute name="email" type="string" length="80"/>
    <attribute name="created" type="datetime"/>
    <attribute name="gender" type="byte"/>
    <element name="location">
      <attribute name="city" type="string" length="50"/>
   </element>
  </element>
</srcSchema>

Adobe Campaign/DBMS 데이터 유형 매핑

아래 표에는 다른 데이터베이스 관리 시스템에 대해 Adobe Campaign에서 생성한 데이터 유형에 대한 매핑이 나열되어 있습니다.

PostgreSQL
Oracle
MS SQL
Adobe Campaign
문자열
VARCHAR(255)
VARCHAR2(유니코드 경우 NVARCHAR2)
VARCHAR(유니코드 경우 VARCHAR 문자 집합 유니코드)
VARCHAR
VARCHAR(유니코드 경우 NVARCHAR)
부울
SMALLINT
숫자(3)
숫자(3)
SMALLINT
TINYINT
바이트
SMALLINT
숫자(3)
숫자(3)
SMALLINT
TINYINT
Short
SMALLINT
숫자(5)
SMALLINT
SMALLINT
SMALLINT
더블
이중 정밀도
부동
부동
이중
부동
Long
정수
숫자(10)
정수
정수
INT
Int64
BIGINT
숫자(20)
숫자(20)
BIGINT
BIGINT
날짜
날짜
날짜
TIMESTAMP
날짜
DATETIME
시간
시간
부동
시간
시간
부동
Datetime
TIMESTAMPZ
날짜
TIMESTAMP
TIMESTAMP
MS SQL < 2008: DATETIME
MS SQL >= 2012: DATETIMEOFFSET
Datetimenotz
TIMESTAMPZ
날짜
TIMESTAMP
TIMESTAMP
MS SQL < 2008: DATETIME
MS SQL >= 2012: DATETIME2
타임판
이중 정밀도
부동
부동
이중
부동
메모
텍스트
CLOB(유니코드 경우 NCLOB)
CLOB(유니코드 경우 CLOB 문자 집합 유니코드)
CLOB(6M)
텍스트(유니코드 경우 NTEXT)
Blob
BLOB
BLOB
BLOB
BLOB(4M)
이미지

속성

다음 <elements><attributes> 데이터 스키마의 요소는 다양한 속성으로 보강할 수 있습니다. 현재 요소를 설명하기 위해 레이블을 채울 수 있습니다.

레이블 및 설명

  • 다음 레이블 속성을 사용하면 간단한 설명을 입력할 수 있습니다.

    노트

    레이블은 인스턴스의 현재 언어와 연결됩니다.

    예제:

    <attribute name="email" type="string" length="80" label="Email"/>
    

    레이블은 Adobe Campaign 클라이언트 콘솔 입력 양식에서 볼 수 있습니다.

  • 다음 desc 속성을 사용하면 긴 설명을 입력할 수 있습니다.

    설명은 Adobe Campaign 클라이언트 콘솔 기본 창의 상태 표시줄에 있는 입력 양식에서 볼 수 있습니다.

    노트

    설명은 인스턴스의 현재 언어와 연결됩니다.

    예제:

    <attribute name="email" type="string" length="80" label="Email" desc="Email of recipient"/>
    

기본값

다음 기본 속성을 사용하면 콘텐츠 작성 시 기본값을 반환하는 표현식을 정의할 수 있습니다.

값은 XPath 언어와 호환되는 표현식이어야 합니다. 자세한 내용은 XPath를 사용한 참조.

예제:

  • 현재 날짜: default="GetDate()"

  • 카운터: default="'FRM'+CounterValue('myCounter')"

    이 예에서 기본값은 문자열의 연결을 사용하여 생성되고 카운터 값 자유 카운터 이름을 사용하는 함수입니다. 반환된 숫자는 삽입할 때마다 1씩 증가합니다.

    노트

    Adobe Campaign 클라이언트 콘솔에서 Administration>Counters 노드를 사용하여 카운터를 관리합니다.

기본값을 필드에 연결하려면 <default> or <sqldefault> field. </sqldefault> </default>

<default> : 엔티티를 만들 때 기본값으로 필드를 미리 채울 수 있습니다. 값은 기본 SQL 값이 아닙니다.

<sqldefault> : 필드를 만들 때 값을 추가할 수 있습니다. 이 값은 SQL 결과로 나타납니다. 스키마 업데이트 중에는 새 레코드만 이 값의 영향을 받습니다.

열거형

자유 열거형

다음 userEnum 속성을 사용하면 이 필드를 통해 입력한 값을 암기하고 표시할 자유 열거형을 정의할 수 있습니다. 구문은 다음과 같습니다.

userEnum="열거형 이름"

열거에 지정된 이름을 자유롭게 선택하고 다른 필드와 공유할 수 있습니다.

이러한 값은 입력 양식의 드롭다운 목록에 표시됩니다.

노트

Adobe Campaign 클라이언트 콘솔에서 Administration > Enumerations 노드는 열거형을 관리하는 데 사용됩니다.

열거형 설정

다음 enum 속성을 사용하면 가능한 값 목록을 미리 알 때 사용되는 고정 열거형을 정의할 수 있습니다.

다음 enum 특성은 기본 요소 외부에 있는 스키마에 채워진 열거형 클래스의 정의를 나타냅니다.

열거형을 사용하면 일반 입력 필드에 값을 입력하는 대신 드롭다운 목록에서 값을 선택할 수 있습니다.

데이터 스키마의 열거형 선언의 예:

<enumeration name="gender" basetype="byte" default="0">
  <value name="unknown" label="Not specified" value="0"/>
  <value name="male" label="male" value="1"/>
  <value name="female" label="female" value="2"/>
</enumeration>

열거형은 를 통해 기본 요소 외부에 선언됩니다 <enumeration> 요소를 생성하지 않습니다.

열거형 속성은 다음과 같습니다.

  • baseType: 값과 연관된 데이터 유형,
  • 레이블: 열거형에 대한 설명,
  • 이름: 열거형의 이름,
  • 기본: 열거형의 기본값입니다.

열거형 값은 <value> 다음 속성을 갖는 요소:

  • 이름: 내부적으로 저장된 값의 이름,
  • 레이블: 그래픽 인터페이스를 통해 표시되는 레이블입니다.

dbenum 열거형

  • 다음 디베늄 속성을 사용하면 다음과 유사한 속성을 갖는 열거형을 정의할 수 있습니다 enum 속성을 사용합니다.

    하지만, 이름 속성은 값을 내부적으로 저장하지 않고 스키마를 수정하지 않고 관련 테이블을 확장할 수 있는 코드를 저장합니다.

    값은 Administration>Enumerations 노드 아래에 있어야 합니다.

    이 열거형은 캠페인의 특성을 지정하는 데 사용됩니다(예: ).

예제

다음은 속성이 채워진 예제 스키마입니다.

<srcSchema name="recipient" namespace="cus">
  <enumeration name="gender" basetype="byte">
    <value name="unknown" label="Not specified" value="0"/>
    <value name="male" label="male" value="1"/>
    <value name="female" label="female" value="2"/>
  </enumeration>

  <element name="recipient">
    <attribute name="email" type="string" length="80" label="Email" desc="Email of recipient"/>
    <attribute name="created" type="datetime" label="Date of creation" default="GetDate()"/>
    <attribute name="gender" type="byte" label="gender" enum="gender"/>
    <element name="location" label="Location">
      <attribute name="city" type="string" length="50" label="City" userEnum="city"/>
   </element>
  </element>
</srcSchema>

컬렉션

컬렉션은 동일한 이름과 동일한 계층 수준을 갖는 요소 목록입니다.

다음 언바운드 속성이 "true" 값으로 설정되어 있으면 수집 요소를 채울 수 있습니다.

: 의 정의 <group> 스키마의 컬렉션 요소.

<element name="group" unbound="true" label="List of groups">
  <attribute name="label" type="string" label="Label"/>
</element>

XML 컨텐츠의 투영 사용:

<group label="Group1"/>
<group label="Group2"/>

XPath를 사용한 참조

XPath 언어는 Adobe Campaign에서 데이터 스키마에 속하는 요소나 속성을 참조하는 데 사용됩니다.

XPath는 XML 문서의 트리에서 노드를 찾을 수 있는 구문입니다.

요소는 이름으로 지정되며, 특성은 문자 앞에 "@" 가 있는 이름으로 지정됩니다.

예제:

  • @email: 이메일을 선택하고
  • 위치/@city: 에서 "city" 속성을 선택합니다. <location> 요소
  • …/@email: 현재 요소의 상위 요소에서 전자 메일 주소를 선택합니다.
  • 그룹[1]/@label: 첫 번째 항목의 하위인 "label" 속성을 선택합니다 <group> 컬렉션 요소
  • 그룹[@label='test1']: 의 하위인 “label” 속성을 선택합니다 <group> 요소 및 “test1” 값 포함
노트

경로가 하위 요소를 교차하면 추가 제한이 추가됩니다. 이 경우 대괄호 사이에 다음 표현식을 배치해야 합니다.

  • 위치/@city 는 유효하지 않습니다. 다음 사용 [location/@city]
  • [@email]@email 동일함

다음 산술 연산과 같이 복잡한 표현식을 정의할 수도 있습니다.

  • @gender+1: 의 콘텐츠에 1을 추가합니다. 성별 attribute,
  • @email + '('+@created+')': 괄호 사이에 만든 날짜에 추가된 전자 메일 주소의 값을 가져와서 문자열을 구성합니다(문자열 유형의 경우 따옴표로 상수 입력).

이 언어의 가능성을 높이기 위해 표현식에 높은 수준의 기능이 추가되었습니다.

Adobe Campaign 클라이언트 콘솔의 모든 표현식 편집기를 통해 사용 가능한 함수 목록에 액세스할 수 있습니다.

예제:

  • GetDate(): 현재 날짜 반환
  • Year(@created): 생성된 속성에 포함된 날짜의 연도를 반환합니다.
  • GetEmailDomain(@email): 이메일 주소의 도메인을 반환합니다.

계산 문자열을 통해 문자열 작성

A 계산 문자열 는 스키마와 연결된 테이블의 레코드를 나타내는 문자열을 구성하는 데 사용되는 XPath 표현식입니다. 계산 문자열 주로 그래픽 인터페이스에서 선택한 레코드의 레이블을 표시하는 데 사용됩니다.

다음 계산 문자열<compute-string> 데이터 스키마의 기본 요소 아래에 있는 요소. An expr 특성에 XPath 식이 포함되어 있어 표시를 계산합니다.

: 수신자 테이블의 계산 문자열.

<srcSchema name="recipient" namespace="nms">
  <element name="recipient">
    <compute-string expr="@lastName + ' ' + @firstName +' (' + @email + ')' "/>
    ...
  </element>
</srcSchema>

수신자에 대한 계산된 문자열 결과: Doe John (john.doe@aol.com)

노트

스키마에 계산 문자열이 없으면 계산 문자열이 기본적으로 스키마의 기본 키 값으로 채워집니다.

이 페이지에서는