Schema-structuur begrijpen schema-structure

De basisstructuur van een schema wordt hieronder beschreven.

Gegevensschema’s data-schema

Voor een <srcschema>De structuur is als volgt:

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

Het XML-document van een gegevensschema moet het <srcschema> hoofdelement met de name en namespace attributen om de schemanaam en zijn namespace te bevolken.

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

Laten we de volgende XML-inhoud gebruiken om de structuur van een gegevensschema te illustreren:

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

Met het bijbehorende gegevensschema:

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

Beschrijving description

Het ingangspunt van het schema is zijn belangrijkste element. Het is gemakkelijk te identificeren omdat het de zelfde naam zoals het schema heeft, en het zou het kind van het wortelelement moeten zijn. De beschrijving van de inhoud begint met dit element.

In ons voorbeeld wordt het hoofdelement vertegenwoordigd door de volgende regel:

<element name="recipient">

De <attribute> en <element> elementen die volgen op het hoofdelement worden gebruikt om de locaties en namen van de gegevensitems in de XML-structuur te definiëren.

In ons voorbeeldschema zijn de volgende:

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

De volgende regels zijn van toepassing:

  • Elk <element> en <attribute> moet met naam worden geïdentificeerd via de name kenmerk.

    note important
    IMPORTANT
    De naam van het element moet beknopt zijn, bij voorkeur in het Engels, en alleen tekens bevatten die zijn toegestaan in XML-naamgevingsregels.
  • Alleen <element> elementen kunnen bevatten <attribute> elementen en <element> elementen in de XML-structuur.

  • An <attribute> element moet een unieke naam binnen een <element>.

  • Het gebruik van <elements> in gegevensreeksen met meerdere regels wordt aanbevolen.

Datatypen data-types

Het gegevenstype is ingevoerd via het dialoogvenster type in het dialoogvenster <attribute> en <element> elementen.

Een gedetailleerde lijst is beschikbaar in de beschrijving van <attribute> element en de <element> element.

Wanneer dit kenmerk niet is gevuld, string is het standaardgegevenstype, tenzij het element onderliggende elementen bevat. Als dit het geval is, wordt het alleen gebruikt om de elementen hiërarchisch te structureren (<location> -element in ons voorbeeld).

De volgende gegevenstypen worden ondersteund in schema's:

  • string: tekenreeks. Voorbeelden: een voornaam, een stad, enz.

    De grootte kan worden opgegeven via de length kenmerk (optioneel, standaardwaarde "255").

  • boolean: Booleaans veld. Voorbeeld van mogelijke waarden: true/false, 0/1, ja/nee enz.

  • byte, kort, lang: gehele getallen (1 byte, 2 bytes, 4 bytes). Voorbeelden: leeftijd, rekeningnummer, aantal punten, enz.

  • double: drijvende-kommagetal met dubbele precisie. Voorbeelden: een prijs, een tarief enz.

  • date, datetime: datums en datums + tijden. Voorbeelden: geboortedatum, aankoopdatum enz.

  • datetimenotz: datum + tijd zonder tijdzonegegevens.

  • timespan: duur. Voorbeeld: anciënniteit.

  • memo: lange tekstvelden (meerdere regels). Voorbeelden: een beschrijving, een opmerking enz.

  • uuid: "uniqueidentifier"gebieden om een GUID (die in de Server van Microsoft SQL slechts wordt gesteund) te steunen.

    note note
    NOTE
    Een uuid veld in andere RDBMS dan Microsoft SQL Server, the newuuid() functie moet worden toegevoegd en aangevuld met de standaardwaarde ervan.

Hier is ons voorbeeldschema met de ingevoerde types:

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

Toewijzing van de typen Adobe Campaign/DBMS-gegevens mapping-the-types-of-adobe-campaign-dbms-data

In de onderstaande tabel staan de toewijzingen voor de typen gegevens die door Adobe Campaign worden gegenereerd voor de verschillende databasebeheersystemen.

Adobe Campaign
PosgreSQL
Oracle
String
VARCHAR(255)
VARCHAR2 (NVARCHAR2 als unicode)
Boolean
SMALLINT
NUMBER(3)
Byte
SMALLINT
NUMBER(3)
Kort
SMALLINT
NUMBER(5)
Dubbel
DUBBELE PRECISIE
FLOAT
Lang
INTEGER
NUMBER(10)
Int64
BIGINT
NUMBER(20)
Datum
DATE
DATE
Tijd
TIJD
FLOAT
Datumtijd
TIMESTAMPZ
DATE
Datetimenotz
TIMESTAMPZ
DATE
Timespan
DUBBELE PRECISIE
FLOAT
Memo
TEXT
CLOB (NCLOB als Unicode)
Klodder
BLOB
BLOB

Properties properties

De <elements> en <attributes> elementen van het gegevensschema kunnen met diverse eigenschappen worden verrijkt. U kunt een label vullen om het huidige element te beschrijven.

Labels en beschrijvingen labels-and-descriptions

  • De label kunt u een korte beschrijving invoeren.

    note note
    NOTE
    Het label is gekoppeld aan de huidige taal van de instantie.

    Voorbeeld:

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

    Het label wordt weergegeven in het invoerformulier voor de Adobe Campaign-clientconsole:

  • De desc kunt u een lange beschrijving invoeren.

    De beschrijving wordt weergegeven in het invoerformulier in de statusbalk van het hoofdvenster van de Adobe Campaign-clientconsole.

    note note
    NOTE
    De beschrijving is gekoppeld aan de huidige taal van de instantie.

    Voorbeeld:

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

Standaardwaarden default-values

Gebruik de default eigenschap om een expressie te definiëren die een standaardwaarde retourneert bij het maken van inhoud.

De waarde moet een expressie zijn die compatibel is met XPath-taal. Raadpleeg voor meer informatie hierover Verwijzen naar XPath.

Voorbeeld:

  • Huidige datum: default="GetDate()"

  • Teller: default="'FRM'+CounterValue('myCounter')"

    In dit voorbeeld wordt de standaardwaarde geconstrueerd door de aaneenschakeling van een tekenreeks en het aanroepen van de CounterValue functie met een vrije tellernaam. Het geretourneerde getal wordt bij elke invoeging met één verhoogd.

    note note
    NOTE
    Blader in de Adobe Campaign-clientconsole naar de Administration > Counters map van de Verkenner om tellers te beheren.

Als u een standaardwaarde aan een veld wilt koppelen, kunt u de opdracht <default> of <sqldefault> veld.

<default> : hiermee kunt u het veld vooraf invullen met een standaardwaarde wanneer u entiteiten maakt. De waarde wordt geen standaard SQL-waarde.

<sqldefault> : hiermee kunt u een toegevoegde waarde krijgen wanneer u een veld maakt. Deze waarde wordt weergegeven als een SQL-resultaat. Tijdens een schema-update worden alleen de nieuwe records beïnvloed door deze waarde.

Opsommingen enumerations

Opsomming openen free-enumeration

De userEnum Met deze eigenschap kunt u een open opsomming definiëren voor het opslaan en weergeven van de waarden die via dit veld worden ingevoerd.

De syntaxis is als volgt:

userEnum="name of enumeration"

Deze waarden worden weergegeven in een vervolgkeuzelijst van het invoerformulier:

NOTE
Blader in de Adobe Campaign-clientconsole naar de Administration > Enumerations map van de Verkenner voor het beheren van opsommingen.

Opsomming instellen set-enumeration

De enum Met eigenschap kunt u een vaste opsomming definiëren die wordt gebruikt wanneer de lijst met mogelijke waarden vooraf bekend is.

De enum kenmerk verwijst naar de definitie van een opsommingsklasse die buiten het hoofdelement in het schema is geplaatst.

Met opsommingen kan de gebruiker een waarde in een vervolgkeuzelijst selecteren in plaats van de waarde in te voeren in een gewoon invoerveld:

Voorbeeld van een opsommingsdeclaratie in het gegevensschema:

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

Een opsomming wordt buiten het hoofdelement gedeclareerd via de <enumeration> element.

De opsommingseigenschappen zijn als volgt:

  • baseType: type gegevens dat is gekoppeld aan de waarden
  • label: beschrijving van de opsomming
  • name: naam van de opsomming
  • default: standaardwaarde van de opsomming

De opsommingswaarden worden gedeclareerd in de <value> element met de volgende kenmerken:

  • name: naam van de waarde die intern is opgeslagen
  • label: label weergegeven in de grafische interface

dbenum-opsomming dbenum-enumeration

*The dbenum Met eigenschap kunt u een opsomming definiëren waarvan de eigenschappen overeenkomen met die van de enum eigenschap.

De name het attribuut slaat intern niet de waarde op, het slaat een code op die u de betrokken lijsten laat uitbreiden zonder hun schema te wijzigen.

Deze opsomming wordt bijvoorbeeld gebruikt om de aard van campagnes op te geven.

Voorbeeld example

Hier volgt ons voorbeeldschema met de eigenschappen die zijn ingevuld:

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

Verzamelingen collections

Een verzameling is een lijst met elementen met dezelfde naam en hetzelfde hiërarchische niveau.

De ongebonden Met kenmerk met de waarde "true" kunt u een verzamelingselement vullen.

Voorbeeld: definitie van de <group> verzamelingselement in het schema.

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

Met projectie van de XML-inhoud:

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

Verwijzen naar XPath referencing-with-xpath

De XPath-taal wordt in Adobe Campaign gebruikt om naar een element of kenmerk te verwijzen dat of dat tot een gegevensschema behoort.

XPath is een syntaxis waarmee u een knooppunt in de boomstructuur van een XML-document kunt zoeken.

Elementen worden aangeduid met hun naam en kenmerken worden aangeduid met de naam voorafgegaan door het teken "@".

Voorbeeld:

  • @email: hiermee selecteert u het e-mailbericht.
  • location/@city: selecteert het kenmerk "city" onder het selectievakje <location> element
  • …/@email: selecteert het e-mailadres in het bovenliggende element van het huidige element
  • groep[1]/@label: selecteert het kenmerk "label" dat het onderliggende element van het eerste object is <group> verzamelingselement
  • groep[@label='test1']: selecteert het kenmerk "label" dat het onderliggende element is van het dialoogvenster <group> -element en bevat de waarde "test1"
NOTE
Er wordt een extra beperking toegevoegd wanneer het pad een subelement kruist. In dit geval moet de volgende expressie tussen haakjes worden geplaatst:
  • location/@city is ongeldig; gebruik [location/@city]
  • [@email] en @email gelijkwaardig

Het is ook mogelijk complexe expressies te definiëren, zoals de volgende rekenkundige bewerkingen:

  • @gender+1: voegt 1 toe aan de inhoud van de sekse kenmerk,
  • @email + '('+@created+')': maakt een tekenreeks door de waarde te nemen van het e-mailadres dat tussen haakjes aan de aanmaakdatum is toegevoegd (voor het type tekenreeks plaatst u de constante tussen aanhalingstekens).

Er zijn functies op hoog niveau toegevoegd aan de expressies om het potentieel van deze taal te verrijken.

U hebt toegang tot de lijst met beschikbare functies via een expressie-editor in de Adobe Campaign-clientconsole:

Voorbeeld:

  • GetDate(): retourneert de huidige datum
  • Jaar (@gemaakt): retourneert het jaar van de datum in het kenmerk "created"
  • GetEmailDomain(@email): retourneert het domein van het e-mailadres

Een tekenreeks samenstellen via de compute string building-a-string-via-the-compute-string

A Rekenreeks is een XPath-expressie die wordt gebruikt om een tekenreeks samen te stellen die een record vertegenwoordigt in een tabel die aan het schema is gekoppeld. Rekenreeks wordt voornamelijk gebruikt in de grafische interface om het label van een geselecteerde record weer te geven.

De Rekenreeks wordt gedefinieerd via de <compute-string> element onder het belangrijkste element van het gegevensschema. An expr -kenmerk bevat een XPath-expressie waarmee de weergave wordt berekend.

Voorbeeld: compute string van de ontvangende tabel.

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

Resultaat van de berekende tekenreeks voor een ontvanger: Doe John (john.doe@aol.com)

NOTE
Als het schema geen Compute koord bevat, wordt een Compute koord bevolkt door gebrek met de waarden van de primaire sleutel van het schema.

Meer informatie

Klik op de volgende koppelingen voor meer informatie:

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