Un dizionario dati consente agli utenti aziendali di utilizzare le informazioni provenienti da origini dati back-end senza conoscere i dettagli tecnici sui modelli di dati sottostanti. Un dizionario dati è composto da elementi del dizionario dati (DDE). Questi elementi dati vengono utilizzati per integrare i dati di back-end alle lettere come input da utilizzare nella corrispondenza del cliente.
Un dizionario dati è una rappresentazione indipendente di metadati che descrive le strutture di dati sottostanti e i relativi attributi associati. Un dizionario dati viene creato utilizzando il vocabolario aziendale. Può essere mappato su uno o più modelli di dati sottostanti.
Il dizionario dati è composto da tre tipi di elementi: Elementi semplici, compositi e di raccolta. I DDE semplici sono elementi primitivi quali stringhe, numeri, date e valori booleani che contengono informazioni quali il nome di una città. Un DDE composito contiene altri DDE, che possono essere di tipo primitivo, composito o raccolta. Ad esempio, un indirizzo, che consiste in un indirizzo, una città, una provincia, un paese e un codice postale. Una raccolta è un elenco di DDE semplici o composite simili. Ad esempio, un cliente con più posizioni o diversi indirizzi di fatturazione e spedizione.
Gestione corrispondenza utilizza i dati back-end, cliente o destinatario specifici memorizzati in base alla struttura del dizionario dati per creare corrispondenza destinata a clienti diversi. Ad esempio, è possibile creare un documento con nomi descrittivi, ad esempio "Gentile {Nome}", "Sig. {Cognome}".
In genere, gli utenti aziendali non necessitano di conoscenze sulle rappresentazioni di metadati come XSD (schema XML) e le classi Java. Tuttavia, in genere richiedono l'accesso a queste strutture di dati e attributi per creare soluzioni.
Installate l'opzione Pacchetto compatibilità per visualizzare l'opzione Dizionari dati nella pagina Forms.
È possibile utilizzare l'Editor dizionario dati per creare un dizionario dati oppure caricare un file di schema XSD per creare un dizionario dati basato su di esso. È quindi possibile estendere il dizionario dati aggiungendo ulteriori informazioni, compresi i campi. Indipendentemente da come è stato creato il dizionario dati, il proprietario del processo aziendale non ha bisogno di conoscere i sistemi back-end. Il proprietario del processo aziendale ha bisogno solo di conoscere gli oggetti del dominio e le relative definizioni per il loro processo.
Per più lettere che richiedono elementi simili, è possibile creare un dizionario dati comune. Un dizionario dati di grandi dimensioni con un gran numero di elementi, tuttavia, potrebbe causare problemi di prestazioni durante l'utilizzo del dizionario dati e il caricamento degli elementi, ad esempio in lettere e frammenti di documento. Se si verificano problemi di prestazioni, provare a creare dizionari dati separati per lettere diverse.
Selezionare Forms > Dizionari dati.
Toccare Crea dizionario dati.
Nella schermata Proprietà, aggiungete quanto segue:
Titolo: (facoltativo) Immettere il titolo per il dizionario dati. Il titolo non deve essere univoco e può contenere caratteri speciali e caratteri non inglesi. Alle lettere e ad altri frammenti di documento viene fatto riferimento il relativo titolo (se disponibile), ad esempio nelle miniature e nelle proprietà delle risorse. I dizionari dati sono citati con i relativi nomi e non con i titoli.
Nome: nome univoco per il dizionario dati. Nel campo Nome, è possibile immettere solo caratteri, numeri e trattini della lingua inglese. Il campo Nome viene compilato automaticamente in base al campo Titolo e i caratteri speciali, gli spazi, i numeri e i caratteri non inglesi immessi nel campo Titolo vengono sostituiti con i trattini. Anche se il valore nel campo Titolo viene automaticamente copiato nel campo Nome, è possibile modificarlo.
Descrizione: (Facoltativo) Descrizione del dizionario dati.
Tag: (facoltativo) per creare un tag personalizzato, immettete il valore nel campo di testo e premete Invio. Potete visualizzare il tag sotto il campo di testo dei tag. Quando salvate questo testo, vengono creati anche i nuovi tag aggiunti.
Proprietà estese: (Facoltativo) Toccate Aggiungi campo per specificare gli attributi di metadati per il dizionario dati. Nella colonna Nome proprietà, inserite un nome di proprietà univoco. Nella colonna Valore, immettere un valore da associare alla proprietà.
(Facoltativo) Per caricare una definizione dello schema XSD per il dizionario dati, nel riquadro Struttura dizionario dati toccare Carica schema XML. Individuate il file XSD, selezionatelo e toccate Apri. Viene creato un dizionario dati basato sullo schema XML caricato. È necessario modificare i nomi visualizzati e le descrizioni degli elementi nel dizionario dati. A questo scopo, selezionate i nomi degli elementi toccandogli e modificatene le descrizioni, i nomi visualizzati e altri dettagli nei campi nel riquadro a destra.
Per ulteriori informazioni sugli elementi DD calcolati, vedere Elementi dizionario dati calcolati.
È possibile saltare il caricamento del file dello schema e creare il dizionario dati da zero utilizzando l'interfaccia utente. Per eseguire questa operazione, saltare questo passaggio e continuare con i passaggi successivi.
Toccare Next.
Nella schermata Aggiungi proprietà, aggiungi gli elementi al dizionario dati. È inoltre possibile aggiungere o eliminare elementi e modificarne i dettagli se è stato caricato uno schema per ottenere una struttura di base del dizionario dati.
Potete toccare i tre punti sul lato destro di un elemento e aggiungere un elemento alla struttura del dizionario dati.
Selezionare Elemento composito, Elemento raccolta o Elemento primitivo.
Di seguito sono riportate alcune regole per la creazione di un dizionario dati:
Per ulteriori informazioni sugli elementi Composite, Collection e Primitive e sull'utilizzo degli elementi del dizionario dati, vedere Mapping degli elementi del dizionario dati a uno schema XML.
Per informazioni sulle convalide nel dizionario dati, vedere Convalida dell'Editor dizionario dati.
(Facoltativo) Dopo aver selezionato un elemento, nella scheda Avanzate è possibile aggiungere proprietà (attributi). È inoltre possibile toccare Aggiungi campo ed estendere le proprietà di un elemento DD.
(Facoltativo) Per rimuovere qualsiasi elemento, toccate i tre punti sul lato destro di un elemento e selezionate Elimina.
Se eliminate un elemento composito/raccolta con nodi secondari, vengono eliminati anche i relativi nodi secondari.
(Facoltativo) Selezionare un elemento nel riquadro Struttura dizionario dati e nel pannello Elenco campi e variabili. Modificate o aggiungete eventuali attributi richiesti associati all'elemento.
Toccate Salva.
Per creare rapidamente uno o più dizionari di dati con proprietà ed elementi simili ai dizionari di dati esistenti, è possibile copiarli e incollarli.
Durante la modifica o la visualizzazione di un dizionario dati, puoi vedere quali elementi nel dizionario dati sono denominati in cui Testi, Condizioni, Lettere e Comunicazioni interattive.
Per modificare il dizionario dati, effettuare una delle seguenti operazioni:
Oppure toccate un dizionario dati per visualizzarlo.
Nel dizionario dati, toccate un elemento semplice per selezionarlo. Gli elementi compositi e di raccolta non hanno riferimenti.
Insieme alle proprietà Base e Avanzate dell'elemento, viene visualizzato anche il contenuto Lent.
Toccate Contenuto Quarto.
La scheda Contenuto prestato viene visualizzata con le seguenti opzioni: Testi, condizioni, lettere e comunicazioni interattive. Ciascuna di queste intestazioni mostra anche il numero di riferimenti all'elemento selezionato.
Toccate un’intestazione per visualizzare il nome delle risorse che fanno riferimento all’elemento.
Per visualizzare il contenuto prestato per un altro elemento, toccate l'elemento.
Per visualizzare una risorsa che fa riferimento all'elemento, toccate il suo nome. Il browser visualizza la risorsa, la lettera o la comunicazione interattiva.
Nella pagina Data Dictionaries, toccare Select.
Toccate un dizionario dati per il quale desiderate scaricare i dati di prova, quindi toccate Scarica dati XML di esempio.
Toccate OK nel messaggio di avviso. Viene scaricato un file XML.
Aprite il file XML con Blocco note o un altro editor XML. Il file XML ha la stessa struttura del dizionario dati e delle stringhe segnaposto negli elementi. Sostituire le stringhe segnaposto con i dati con cui si desidera eseguire il test di una lettera.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Company>
<Name>string</Name>
<Type>string</Type>
<HeadOfficeAddress>
<Street>string</Street>
<City>string</City>
<State>string</State>
<Zip>string</Zip>
</HeadOfficeAddress>
<SalesOfficeAddress>
<Street>string</Street>
<City>string</City>
<State>string</State>
<Zip>string</Zip>
</SalesOfficeAddress>
<HeadCount>1.0</HeadCount>
<CEO>
<PersonName>
<FirstName>string</FirstName>
<MiddleName>string</MiddleName>
<LastName>string</LastName>
</PersonName>
<DOB>string</DOB>
<CurrAddress>
<Street>string</Street>
<City>string</City>
<State>string</State>
<Zip>string</Zip>
</CurrAddress>
<DOJ>14-04-1973</DOJ>
<Phone>1.0</Phone>
</CEO>
</Company>
In questo esempio, XML crea uno spazio per tre valori per un elemento di raccolta, ma il numero di valori può essere aumentato/diminuito in base al requisito.
Dopo aver compilato le voci di dati, è possibile utilizzare questo file XML quando si visualizza in anteprima una lettera con i dati di prova.
Potete aggiungere questi dati di prova con DD (selezionate DD, toccate Carica dati di prova e caricate questo file xml)
Quindi, quando si visualizza l'anteprima della lettera normalmente (non personalizzata), questi dati XML vengono utilizzati in lettere. Potete anche toccare Personalizzato e caricare il file XML.
Gli esempi di codice seguenti mostrano i dettagli di implementazione per il dizionario dati.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="DCT" targetNamespace="DCT" xmlns:xs="https://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Company">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Type" type="xs:anySimpleType"/>
<xs:element name="HeadOfficeAddress" type="Address"/>
<xs:element name="SalesOfficeAddress" type="Address" minOccurs="0"/>
<xs:element name="HeadCount" type="xs:integer"/>
<xs:element name="CEO" type="Employee"/>
<xs:element name="Workers" type="Employee" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="Employee">
<xs:complexContent>
<xs:extension base="Person">
<xs:sequence>
<xs:element name="CurrAddress" type="Address"/>
<xs:element name="DOJ" type="xs:date"/>
<xs:element name="Phone" type="xs:integer"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Person">
<xs:sequence>
<xs:element name="PersonName" type="Name"/>
<xs:element name="DOB" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Name">
<xs:sequence>
<xs:element name="FirstName" type="xs:string"/>
<xs:element name="MiddleName" type="xs:string"/>
<xs:element name="LastName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Address">
<xs:sequence>
<xs:element name="Street" type="xs:string"/>
<xs:element name="City" type="xs:string"/>
<xs:element name="State" type="xs:string"/>
<xs:element name="Zip" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Nella tabella seguente sono descritti gli attributi comuni associati a un DDE:
Attributo | Tipo | Descrizione |
Nome | Stringa | Obbligatorio. Nome del DDE. Deve essere unico. |
Nome di riferimento |
Stringa | Obbligatorio. Nome di riferimento univoco per il DDE che consente riferimenti al DDE che sono indipendenti dalle modifiche alla gerarchia o alla struttura del dizionario dati. I moduli di testo mappati con questo nome |
display name | Stringa | Un nome descrittivo opzionale del DDE. |
descrizione | Stringa | Descrizione del DDE. |
elementType | Stringa | Obbligatorio. Tipo di DDE: STRING, NUMBER, DATE, Boolean, COMPOSITE, COLLECTION. |
elementSubType | Stringa | Il sottotipo per DDE: ENUM. È consentito solo per STRING e NUMBER elementType. |
Chiave | Booleano | Campo booleano per indicare se un DDE è un elemento chiave. |
Calcolati | Booleano | Campo booleano per indicare se un DDE è calcolato. Un valore DDE calcolato è una funzione di altri valori DDE. Per impostazione predefinita, le espressioni jsp sono supportate. |
espressione | Stringa | L'espressione per il DDE "calcolato". Il servizio di valutazione delle espressioni fornito per impostazione predefinita supporta le espressioni JSP EL. È possibile sostituire il servizio espressione con un'implementazione personalizzata. |
valueSet | Elenco | Un insieme di valori consentiti per un tipo Enum DDE. Ad esempio, il tipo di account può avere solo valori (Salvataggio, Corrente). |
extendedProperties | Oggetto | Mappa delle proprietà personalizzate aggiunte al DDE (interfaccia utente specifica o qualsiasi altra informazione). |
Obbligatorio | Booleano | Il flag indica che l'origine dei dati dell'istanza corrispondente al dizionario dati deve contenere il valore di questo particolare DDE. |
Associazione | BindingElement | Il binding XML o Java dell'elemento. |
Un dizionario dati può anche includere elementi calcolati. Un elemento del dizionario dati calcolato è sempre associato a un'espressione. Questa espressione viene valutata per ottenere il valore di un elemento dizionario dati in fase di esecuzione. Un valore DDE calcolato è una funzione di altri valori DDE o letterali. Per impostazione predefinita, sono supportate le espressioni JSP Expression Language (EL). Le espressioni EL utilizzano i caratteri ${ } e le espressioni valide possono includere letterali, operatori, variabili (riferimenti agli elementi del dizionario dati) e chiamate di funzioni. Quando si fa riferimento a un elemento del dizionario dati nell'espressione, viene utilizzato il nome di riferimento del DDE. Il nome di riferimento è univoco per ogni elemento del dizionario dati all'interno di un dizionario dati.
Un DDE PersonFullName calcolato può essere associato a un'espressione di concatenazione EL come ${PersonFirstName} ${PersonLastName}.
L'esportazione di un file XSD richiede una mappatura dati specifica, dettagliata nella tabella seguente. La colonna DDI indica il tipo di valore DDE disponibile nel DDI.
XSD |
Dizionario dati |
DDI (tipo di dati valore istanza) |
xs:element type - Composite Type |
DDE di tipo - COMPOSITE |
java.util.Map |
xs:element in cui maxOccurs > 1 |
DDE di tipo - COLLECTION- Un nodo DDE viene creato accanto al DDE DI RACCOLTA che acquisisce le informazioni dal nodo COLLECTION padre. Lo stesso viene creato per entrambe le raccolte di tipi di dati semplici o compositi. Ogni volta che si dispone di una RACCOLTA di tipo composito, la struttura del Dizionario dati acquisisce i campi costituenti negli elementi secondari del DDE creato per l'acquisizione delle informazioni sul tipo. - DDE (COLLECTION) - DDE(COMPOSITE per tipo info) - DDE(STRING) field1 - DDE(STRING) field2 |
java.util.List |
Attributo del tipo - xs:id |
DDE di tipo - STRING |
java.lang.String |
xs:attribute /xs:element di tipo - xs:string | DDE di tipo - STRING |
java.lang.String |
xs:attribute /xs:element di tipo - xs: boolean |
DDE di tipo - Booleano |
java.lang.Boolean |
xs:attribute /xs:element type - xs:date | DDE del tipo - DATA | java.lang.String |
xs:attribute /xs:element type - xs:integer | DDE di tipo - NUMBER | java.lang.Double |
xs:attribute /xs:element type - xs:long | DDE di tipo - NUMBER | java.lang.Double |
xs:attribute /xs:element type - xs:double | DDE di tipo - NUMBER | java.lang.Double |
Elemento di tipo enum e baseType - xs:string | DDE di tipo - SOTTOtipo STRING - ENUM valueSet - i valori consentiti per ENUM |
java.lang.String |
Dopo aver creato un dizionario dati, è possibile scaricarlo come file di dati di esempio XML per inserire delle voci di testo.
Nella pagina Dizionari dati, toccare Seleziona, quindi toccare un dizionario dati per selezionarlo.
Selezionare Scarica dati XML di esempio.
Toccate OK nel messaggio di avviso.
Gestione corrispondenza crea un file XML basato sulla struttura del dizionario dati selezionato e lo scarica nel computer con il nome <data-dizionario-name>-SampleData. Ora è possibile modificare questo file in un editor XML o di testo per inserire i dati durante la creazione di una lettera.
Se si desidera inviare la stessa lettera in lingue diverse ai clienti, è possibile localizzare il nome visualizzato, la descrizione e i set di valori enum del dizionario dati e degli elementi del dizionario dati.
Nella pagina Data Dictionaries, tocca Seleziona, quindi tocca un dizionario dati per selezionarlo.
Toccate Scarica dati di localizzazione.
Toccate OK nell'avviso. Gestione corrispondenza scarica un file zip nel computer con il nome DataDictionary-<NomeFile>.zip.
Il file ZIP contiene un file .properties. Questo file definisce il dizionario dati scaricato. Il contenuto del file delle proprietà è simile al seguente:
#Wed May 20 16:06:23 BST 2015
DataDictionary.EmployeeDD.description=
DataDictionary.EmployeeDD.displayName=EmployeeDataDictionary
DataDictionaryElement.name.description=
DataDictionaryElement.name.displayName=name
DataDictionaryElement.person.description=
DataDictionaryElement.person.displayName=person
La struttura del file delle proprietà definisce una riga ciascuna per la descrizione e il nome visualizzato per il dizionario dati e per ciascun elemento del dizionario dati nel dizionario dati. Inoltre, il file delle proprietà definisce una riga per un valore enum impostato per ciascun elemento del dizionario dati. Come per un dizionario dati, il file delle proprietà corrispondente può avere più definizioni di elementi del dizionario dati. Inoltre, il file può contenere le definizioni per uno o più set di valori enum.
Per aggiornare il file .properties in una lingua diversa, aggiornate il nome visualizzato e i valori di descrizione nel file. Create più istanze del file per ogni lingua in cui desiderate localizzare. Sono supportate solo le lingue francese, tedesca, giapponese e inglese.
Salvate i diversi file di proprietà aggiornati con i seguenti nomi:
_fr_FR.properties Francese
_de_DE.properties Tedesco
_ja_JA.properties Japanese
_en_EN.properties English
Archiviate il file .properties (o i file per più lingue) in un unico file .zip.
Nella pagina Data Dictionaries, selezionare Altro > Carica dati di localizzazione, quindi selezionare il file zip con i file delle proprietà localizzate.
Per visualizzare le modifiche alla localizzazione, modificate le impostazioni internazionali del browser.
L'Editor dizionario dati applica le seguenti convalide durante la creazione o l'aggiornamento di un dizionario dati.
Convalide applicate a livello di dizionario dati
Convalide applicate a livello di elemento del dizionario dati.
È possibile creare un dizionario dati da uno schema XML o utilizzando l'interfaccia utente del dizionario dati. Tutti gli elementi del dizionario dati (DDE, Data Dictionary Elements) all'interno di un dizionario dati hanno un campo Binding XML per memorizzare il binding del DDE a un elemento nello schema XML. Il binding in ciascun DDE è relativo al DDE padre.
I seguenti modelli di esempio e esempi di codice che mostrano i dettagli di implementazione per il dizionario dati.
Un DDE primitivo rappresenta un campo o un attributo che è atomico in natura. I DDE primitivi definiti al di fuori dell'ambito di un tipo complesso (DDE composito) o di un elemento ripetuto (DDE della raccolta) possono essere memorizzati in qualsiasi posizione all'interno dello schema XML. La posizione dei dati corrispondenti a un DDE primitivo non dipende dalla mappatura del DDE padre. DDE primitivo utilizza le informazioni di mappatura del campo Binding XML per determinarne il valore e le mappature vengono convertite in uno dei seguenti elementi:
L'esempio seguente mostra uno schema semplice.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="https://www.w3.org/2001/XMLSchema">
<xs:element name='age' type='integer'/>
<xs:element name='price' type='decimal'/>
</xs:schema>
Elemento dizionario dati | Binding XML predefinito |
---|---|
age | /age |
prezzo | /prezzo |
Il binding non è supportato per gli elementi compositi. Se viene fornito il binding, viene ignorato. Il binding per tutti i DDE secondari costitutivi di tipo primitivo deve essere assoluto. Consentire la mappatura assoluta per gli elementi secondari di un DDE composito offre maggiore flessibilità in termini di Binding XPath. La mappatura di un DDE composito a un elemento di tipo complesso nello schema XML limita l'ambito del binding per i relativi elementi secondari.
L'esempio seguente mostra lo schema di una nota.
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Elemento dizionario dati | Binding XML predefinito |
nota | empty(null) |
a | /note/to |
da | /note/from |
intestazione | /note/heading |
body | /note/body |
Un elemento raccolta è mappato solo a un altro elemento raccolta con cardinalità > 1. I DDE secondari di una raccolta DDE hanno un binding XML relativo (locale) rispetto al binding XML del relativo elemento padre. Poiché i DDE secondari di un elemento di raccolta devono avere la stessa cardinalità di quello dell'elemento padre, il binding relativo è obbligatorio per garantire il vincolo di cardinalità in modo che i DDE secondari non facciano riferimento a un elemento schema XML non ripetuto. Nell'esempio seguente, la cardinalità di "TokenID" deve essere uguale a "Token" che è la raccolta principale DDE.
Quando si esegue la mappatura di un DDE di raccolta a un elemento schema XML:
il binding per il DDE corrispondente all'elemento Collection deve essere l'XPath assoluto
Non fornire alcun binding per il DDE che rappresenta il tipo di elemento Collection. Se specificato, il binding viene ignorato.
Il binding per tutti i DDE secondari dell'elemento Collection deve essere relativo all'elemento Collection principale.
Lo schema XML seguente dichiara un elemento con il nome Token e un attributo maxOccurs di "unbounded". Pertanto, Tokens è un elemento di raccolta.
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Tokens>
<TokenID>string</TokenID>
<TokenText>
<TextHeading>string</TextHeading>
<TextBody>string</TextBody>
</TokenText>
</Tokens>
<Tokens>
<TokenID>string</TokenID>
<TokenText>
<TextHeading>string</TextHeading>
<TextBody>string</TextBody>
</TokenText>
</Tokens>
<Tokens>
<TokenID>string</TokenID>
<TokenText>
<TextHeading>string</TextHeading>
<TextBody>string</TextBody>
</TokenText>
</Tokens>
</Root>
Token.xsd associato a questo esempio sarebbe:
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element name="Tokens" type="TokenType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="TokenType">
<xs:sequence>
<xs:element name="TokenID" type="xs:string"/>
<xs:element name="TokenText">
<xs:complexType>
<xs:sequence>
<xs:element name="TextHeading" type="xs:string"/>
<xs:element name="TextBody" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
Elemento dizionario dati | Binding XML predefinito |
---|---|
Directory principale | empty(null) |
Token | /Root/Tokens |
Composito | empty(null) |
TokenID | TokenID |
TokenText | empty(null) |
TokenHeading | TokenText/TextHeading |
TokenBody | TokenText/TextBody |