Förstå schemastrukturen schema-structure

Grundstrukturen för ett schema beskrivs nedan.

Datascheman data-schema

För <srcschema>är strukturen följande:

<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-dokumentet i ett dataschema måste innehålla <srcschema> rotelementet med name och namespace attribut för att fylla i schemanamnet och dess namnutrymme.

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

Låt oss använda följande XML-innehåll för att illustrera strukturen i ett dataschema:

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

Med motsvarande dataschema:

<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>

Beskrivning description

Startpunkten för schemat är dess huvudelement. Det är enkelt att identifiera eftersom det har samma namn som schemat och bör vara underordnat rotelementet. Beskrivningen av innehållet börjar med det här elementet.

I det här exemplet representeras huvudelementet av följande rad:

<element name="recipient">

The <attribute> och <element> -element som följer efter huvudelementet används för att definiera placeringen och namnen på dataobjekten i XML-strukturen.

I vårt exempelschema är följande:

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

Följande regler gäller:

  • Varje <element> och <attribute> måste identifieras med namn via name -attribut.

    note important
    IMPORTANT
    Elementets namn ska vara kortfattat, helst på engelska, och endast innehålla tecken som tillåts i XML-namnregler.
  • Endast <element> -element kan innehålla <attribute> element och <element> -element i XML-strukturen.

  • An <attribute> -elementet måste ha ett unikt namn inom ett <element>.

  • Användning av <elements> i flerradiga datasträngar rekommenderas.

Datatyper data-types

Datatypen anges via type i <attribute> och <element> -element.

En detaljerad lista finns i beskrivningen av <attribute> element och <element> element.

När attributet inte är ifyllt, string är standarddatatypen såvida inte elementet innehåller underordnade element. Om den gör det används den bara för att strukturera elementen hierarkiskt (<location> -element i vårt exempel).

Följande datatyper stöds i scheman:

  • string: teckensträng. Exempel: förnamn, stad osv.

    Storleken kan anges via length attribute (optional, default value "255").

  • boolesk: Booleskt fält. Exempel på möjliga värden: true/false, 0/1, yes/no, osv.

  • byte, kort, long: heltal (1 byte, 2 byte, 4 byte). Exempel: ålder, kontonummer, antal poäng osv.

  • double: flyttal med dubbel precision. Exempel: ett pris, en kurs, osv.

  • datum, datetime: datum och datum + tider. Exempel: födelsedatum, inköpsdatum osv.

  • datetimenotz: datum + tid utan tidszonsdata.

  • tidsintervall: varaktighet. Exempel: tjänsteålder.

  • PM: långa textfält (flera rader). Exempel: en beskrivning, en kommentar, osv.

  • uuid: "uniqueidentifier"-fält som stöder ett GUID (stöds endast i Microsoft SQL Server).

    note note
    NOTE
    Innehåller uuid fält i andra RDBMS än Microsoft SQL Server, the newuuid() -funktionen måste läggas till och slutföras med standardvärdet.

Här är vårt exempelschema med de angivna typerna:

<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>

Mappa typer av Adobe Campaign-/DBMS-data mapping-the-types-of-adobe-campaign-dbms-data

Tabellen nedan visar mappningarna för de typer av data som genereras av Adobe Campaign för de olika databashanteringssystemen.

Adobe Campaign
PosgreSQL
Oracle
Sträng
VARCHAR(255)
VARCHAR2 (NVARCHAR2 om unicode används)
Boolean
SMALLINT
NUMBER(3)
Byte
SMALLINT
NUMBER(3)
Kort
SMALLINT
NUMBER(5)
Dubbel
DUBBEL PRECISION
FLOAT
Lång
INTEGER
NUMBER(10)
Int64
BIGINT
NUMBER(20)
Datum
DATUM
DATUM
Tid
TID
FLOAT
Datetime
TIMESTAMPZ
DATUM
Datetimenotz
TIMESTAMPZ
DATUM
Tidsintervall
DUBBEL PRECISION
FLOAT
PM
TEXT
CLOB (NCLOB if Unicode)
Blob
BLOB
BLOB

Egenskaper properties

The <elements> och <attributes> element i dataschemat kan berikas med olika egenskaper. Du kan fylla i en etikett för att beskriva det aktuella elementet.

Etiketter och beskrivningar labels-and-descriptions

  • The label kan du ange en kort beskrivning.

    note note
    NOTE
    Etiketten är associerad med instansens aktuella språk.

    Exempel:

    code language-sql
    <attribute name="email" type="string" length="80" label="Email"/>
    

    Etiketten visas i indataformuläret för Adobe Campaign klientkonsol:

  • The desc kan du ange en lång beskrivning.

    Beskrivningen visas i indataformuläret i statusfältet i huvudfönstret i Adobe Campaign klientkonsol.

    note note
    NOTE
    Beskrivningen är associerad med instansens aktuella språk.

    Exempel:

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

Standardvärden default-values

Använd standard för att definiera ett uttryck som returnerar ett standardvärde när innehåll skapas.

Värdet måste vara ett uttryck som är kompatibelt med XPath-språket. Mer information finns i Referera med XPath.

Exempel:

  • Aktuellt datum: default="GetDate()"

  • Räknare: default="'FRM'+CounterValue('myCounter')"

    I det här exemplet konstrueras standardvärdet med sammanfogningen av en sträng och anropet till CounterValue med ett kostnadsfritt räknarnamn. Det returnerade talet ökas med ett steg vid varje infogning.

    note note
    NOTE
    Gå till Adobe Campaign klientkonsol Administration > Counters mapp i Utforskaren för att hantera räknare.

Om du vill länka ett standardvärde till ett fält använder du <default> eller <sqldefault> fält.

<default> : låter dig fylla i fältet i förväg med ett standardvärde när entiteter skapas. Värdet kommer inte att vara ett standard-SQL-värde.

<sqldefault> : ger dig ett mervärde när du skapar ett fält. Värdet visas som ett SQL-resultat. Under en schemauppdatering påverkas bara de nya posterna av det här värdet.

Uppräkningar enumerations

Öppna uppräkning free-enumeration

The userEnum kan du definiera en öppen uppräkning för att lagra och visa de värden som anges i det här fältet.

Syntaxen är följande:

userEnum="name of enumeration"

Dessa värden visas i en nedrullningsbar lista från indataformuläret:

NOTE
Gå till Adobe Campaign klientkonsol Administration > Enumerations mappen i Utforskaren för att hantera uppräkningar.

Ange uppräkning set-enumeration

The enum Med -egenskapen kan du definiera en fast uppräkning som används när listan med möjliga värden är känd i förväg.

The enum -attribut refererar till definitionen för en uppräkningsklass som är ifylld i schemat utanför huvudelementet.

Uppräkningar gör att användaren kan välja ett värde i en nedrullningsbar lista i stället för att ange värdet i ett vanligt inmatningsfält:

Exempel på en uppräkningsdeklaration i dataschemat:

<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>

En uppräkning deklareras utanför huvudelementet via <enumeration> -element.

Uppräkningsegenskaperna är följande:

  • baseType: typ av data som är associerade med värdena
  • label: beskrivning av uppräkningen
  • name: uppräkningens namn
  • standard: standardvärde för uppräkningen

Uppräkningsvärdena deklareras i <value> element med följande attribut:

  • name: namnet på värdet som lagras internt
  • label: etikett som visas i det grafiska gränssnittet

dbenum-uppräkning dbenum-enumeration

*De dbenum kan du definiera en uppräkning vars egenskaper liknar de i enum -egenskap.

Men name -attributet lagrar inte värdet internt, utan lagrar en kod som gör att du kan utöka de berörda tabellerna utan att ändra deras schema.

Den här uppräkningen används till exempel för att ange kampanjens karaktär.

Exempel example

Här är vårt exempelschema med egenskaperna ifyllda:

<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>

Samlingar collections

En samling är en lista med element med samma namn och samma hierarkiska nivå.

The obunden -attribut med värdet "true" kan du fylla i ett samlingselement.

Exempel: definition av <group> samlingselement i schemat.

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

Med projektion av XML-innehållet:

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

Referera med XPath referencing-with-xpath

XPath-språket används i Adobe Campaign för att referera till ett element eller attribut som tillhör ett dataschema.

XPath är en syntax som gör att du kan hitta en nod i trädet i ett XML-dokument.

Elementen anges med sitt namn och attributen anges med namnet före tecknet"@".

Exempel:

  • @email: markerar e-postmeddelandet,
  • location/@city: väljer attributet"city" under <location> element
  • …/@email: väljer e-postadressen från det överordnade elementet i det aktuella elementet
  • grupp[1]/@label: markerar attributet "label" som är underordnat det första <group> samlingselement
  • grupp[@label='test1']: markerar attributet "label" som är underordnat <group> och innehåller värdet "test1"
NOTE
En ytterligare begränsning läggs till när banan korsar ett underelement. I det här fallet måste följande uttryck placeras inom hakparenteser:
  • location/@city är inte giltigt. Använd [location/@city]
  • [@email] och @email är likvärdiga

Det går också att definiera komplexa uttryck, till exempel följande aritmetiska operationer:

  • @kön+1: lägger till 1 i innehållet i kön attribut,
  • @email + '('+@created+')': skapar en sträng genom att ta värdet för den e-postadress som lagts till i skapandedatumet mellan parenteser (för strängtypen, ange konstanten inom citattecken).

Funktioner på hög nivå har lagts till i uttrycken för att berika detta språks potential.

Du kommer åt listan över tillgängliga funktioner via en uttrycksredigerare i Adobe Campaign klientkonsol:

Exempel:

  • GetDate(): returnerar aktuellt datum
  • År(@skapad): returnerar året för det datum som finns i attributet "created"
  • GetEmailDomain(@email): returnerar e-postadressens domän

Skapa en sträng via beräkningssträngen building-a-string-via-the-compute-string

A Beräkningssträng är ett XPath-uttryck som används för att konstruera en sträng som representerar en post i en tabell som är associerad med schemat. Beräkningssträng används främst i det grafiska gränssnittet för att visa etiketten för en markerad post.

The Beräkningssträng definieras via <compute-string> -elementet under dataschemats huvudelement. An expr -attributet innehåller ett XPath-uttryck för att beräkna visningen.

Exempel: beräkningssträng för mottagartabellen.

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

Resultat av den beräknade strängen för en mottagare: Doe John (john.doe@aol.com)

NOTE
Om schemat inte innehåller någon beräkningssträng fylls en beräkningssträng i som standard med värdena för schemats primärnyckel.

Läs mer

Klicka på följande länkar om du vill veta mer:

recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1