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.
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:
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"
- 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)
Meer informatie
Klik op de volgende koppelingen voor meer informatie: