Show Menu
ARGOMENTI×

Schemi di dati

Di seguito sono riportati alcuni principi generali relativi all’utilizzo degli schemi di dati in Adobe Campaign.
Per ulteriori informazioni sulla creazione e la configurazione di schemi di dati in Adobe Campaign, consultare questa sezione .

Struttura dello schema

Il documento XML di uno schema dati deve contenere l'elemento <srcschema> principale con gli attributi name e namespace per compilare il nome dello schema e il relativo spazio nomi.
<srcSchema name="schema_name" namespace="namespace">
...
</srcSchema>

Il punto di ingresso dello schema è il suo elemento principale. È facile da identificare perché ha lo stesso nome dello schema e dovrebbe essere l'elemento secondario dell'elemento principale. La descrizione del contenuto inizia con questo elemento.
In uno schema di gestione del contenuto, l'elemento principale è rappresentato dalla seguente riga:
<element name="book" template="ncm:content" xmlChildren="true">

L'attributo modello immesso nell'elemento principale consente di estendere lo schema con proprietà generiche a tutte le definizioni di contenuto quali nome, data di creazione, autore, stringa associata, ecc.
Tali proprietà sono descritte nello schema ncm:content .
La presenza dell'attributo xmlChildren indica che la struttura dati immessa tramite l'elemento principale è memorizzata in un documento XML dell'istanza di contenuto.
Durante la creazione di un nuovo schema o durante un'estensione dello schema, è necessario mantenere lo stesso valore di sequenza della chiave primaria (@pkSequence) per l'intero schema.

Tipi di dati

Esempio di uno schema di gestione del contenuto con i tipi compilati:
<srcSchema name="book" namespace="cus">
  <element name="book" template="ncm:content" xmlChildren="true">
    <attribute name="title" type="string"/>
    <attribute name="date" type="date"/>
    <attribute name="language" type="string"/>
    <element name="chapter">
      <attribute name="name" type="string"/>
      <element name="page" type="string>
        <attribute name="number" type="short"/>
      </element>
    </element>
  </element>
</element>

Properties

Varie proprietà possono essere utilizzate per arricchire gli <element> elementi e <attribute> gli elementi dello schema di dati.
Le proprietà principali utilizzate nella gestione dei contenuti sono le seguenti:
  • label : breve descrizione,
  • desc : descrizione lunga,
  • predefinito : espressione che restituisce un valore predefinito per la creazione di contenuto,
  • userEnum : enumerazione gratuita per memorizzare e visualizzare i valori immessi in questo campo,
  • enum : enumerazione fissa utilizzata quando l'elenco dei valori possibili è noto in anticipo.
Di seguito è riportato lo schema di esempio con le proprietà compilate:
<srcSchema name="book" namespace="cus">
  <enumeration name="language" basetype="string" default="eng">    
    <value name="fra" label="French"/>    
    <value name="eng" label="English"/>   
  </enumeration>

  <element name="book" label="Book" desc="Example book" template="ncm:content" xmlChildren="true">
    <attribute name="title" type="string" label="Title" default="'New book'"/>
    <attribute name="date" type="date" default="GetDate()"/>
    <attribute name="language" type="string" label="Language" enum="language"/>
    <element name="chapter" label="Chapter">
      <attribute name="name" type="string" label="Name" desc="Name of chapter"/>
      <element name="page" type="string" label="Page" desc="Page content">
        <attribute name="number" type="short" label="Number" default="CounterValue('numPage')"/>
      </element>
    </element>
  </element>
</srcSchema>

Elementi della raccolta

Una raccolta è un elenco di elementi con lo stesso nome e lo stesso livello gerarchico.
Nel nostro esempio, gli <chapter> elementi e <page> sono elementi di raccolta. L’attributo unbound deve pertanto essere aggiunto alla definizione di questi elementi:
<element name="chapter" label="Chapter" unbound="true" ordered="true">

<element name="page" type="string" label="Page" desc="Content of page" unbound="true">

La presenza dell'attributo ordered="true" consente di ordinare gli elementi della raccolta inseriti.

Riferimento elemento

Il riferimento agli elementi viene utilizzato molto negli schemi di contenuto. Consente di fattorizzare la definizione di un <element> elemento in modo che possa essere utilizzato come riferimento su altri elementi con la stessa struttura.
L'attributo ref sull'elemento a cui fare riferimento deve essere completato con il percorso (XPath) dell'elemento di riferimento.
Esempio : aggiunta di una sezione Appendice con la stessa struttura dell' <chapter> elemento dello schema di esempio.
<srcSchema name="book" namespace="cus">
  <element name="section">
    <attribute name="name" type="string" label="Name" desc="Name"/>
    <element name="page" type="string" label="Page" desc="Content of page">
      <attribute name="number" type="short" label="Number" default="CounterValue('numPage')"/>
    </element>

  <element name="book" label="Book" desc="Example book" template="ncm:content" xmlChildren="true">
    <attribute name="title" type="string" label="Title" default="'New book'"/>
    <attribute name="date" type="date" default="GetDate()"/>
    <attribute name="language" type="string" label="Language" enum="language"/>
    <element name="chapter" label="Chapter" ref="section"/>
    <element name="appendix" label="Appendix" ref="section"/>
  </element>
</srcSchema>

La struttura del capitolo viene spostata nell'elemento con il nome "sezione" al di fuori dell'elemento principale. Il capitolo e la sezione fanno riferimento all'elemento "sezione".

Stringa di calcolo

Una stringa ​Calcola è un'espressione XPath utilizzata per creare una stringa che rappresenta un'istanza di contenuto.
Di seguito è riportato lo schema di esempio con la stringa ​Calcola:
<srcSchema name="book" namespace="cus">
  <element name="book" label="Book" desc="Example book" template="ncm:content" xmlChildren="true">
    <compute-string expr="@name"/>
    ...
  </element>
</srcSchema>

Modifica degli schemi

Il campo di modifica consente di inserire il contenuto XML dello schema di origine:
Quando lo schema di origine viene salvato, la generazione dello schema esteso viene avviata automaticamente.
Il controllo di modifica Nome consente di immettere la chiave dello schema, costituita dal nome e dallo spazio dei nomi. Gli attributi name e namespace dell'elemento principale dello schema vengono aggiornati automaticamente nel campo di modifica XML dello schema.