Un dizionario dati consente agli utenti aziendali di utilizzare informazioni provenienti da origini dati back-end senza conoscere i dettagli tecnici relativi ai modelli di dati sottostanti. Un dizionario dati è composto da elementi del dizionario dati (DDE). Puoi utilizzare questi elementi dati per integrare i dati back-end alle lettere come input da utilizzare nella corrispondenza di un cliente.
Un dizionario dati è una rappresentazione indipendente di metadati che descrive le strutture di dati sottostanti e gli attributi associati. Un dizionario dati viene creato utilizzando un vocabolario aziendale. Può essere mappato su uno o più modelli di dati sottostanti.
Il dizionario dati è composto da elementi di tre tipi: 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, costituito da un indirizzo, una città, una provincia, un paese e un codice postale. Una raccolta è un elenco di DDE semplici o composte simili. Ad esempio, un cliente con più posizioni o diversi indirizzi di fatturazione e spedizione.
Gestione corrispondenza utilizza i dati back-end, cliente
o specifici del destinatario memorizzati in base alla struttura del dizionario dati per creare una 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 richiedono la conoscenza delle rappresentazioni dei 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.
Installa il Pacchetto di compatibilità per visualizzare l'opzione Dizionari di dati nella pagina Forms.
Puoi utilizzare l’editor del dizionario dati per creare un dizionario dati oppure caricare un file di schema XSD per creare un dizionario dati basato su di esso. Puoi quindi estendere il dizionario dati aggiungendo ulteriori informazioni richieste, 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 deve conoscere solo 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 numero elevato di elementi, tuttavia, può causare problemi di prestazioni durante l’utilizzo del dizionario dati e il caricamento degli elementi, ad esempio in lettere e frammenti di documento. In caso di problemi di prestazioni, provare a creare dizionari di dati separati per lettere diverse.
Seleziona Forms > Dizionari dati.
Tocca Crea dizionario dati.
Nella schermata Proprietà , aggiungi quanto segue:
Titolo: (facoltativo) immetti il titolo del 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 di dati sono indicati con i loro nomi e non con i loro titoli.
Nome: il nome univoco del 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 trattini. Anche se il valore nel campo Titolo viene copiato automaticamente 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. Il tag viene visualizzato sotto il campo di testo dei tag. Quando salvi questo testo, vengono creati anche i nuovi tag aggiunti.
Proprietà estese: (Facoltativo) Tocca Aggiungi campo per specificare gli attributi dei metadati per il dizionario dati. Nella colonna Nome proprietà, immetti 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, tocca Carica schema XML. Sfoglia il file XSD, selezionalo e tocca Apri. Viene creato un dizionario dati in base allo schema XML caricato. È necessario modificare i nomi visualizzati e le descrizioni degli elementi nel dizionario dati. A questo scopo, seleziona i nomi degli elementi toccandoli e modificandone le descrizioni, i nomi visualizzati e altri dettagli nei campi del riquadro a destra.
Per ulteriori informazioni sugli elementi DD calcolati, consulta Elementi del dizionario dati calcolato.
Puoi saltare il caricamento del file di schema e creare il dizionario dati da zero utilizzando l’interfaccia utente. A questo scopo, salta questo passaggio e continua con i passaggi successivi.
Tocca Avanti.
Nella schermata Aggiungi proprietà , aggiungi gli elementi al dizionario dati. Puoi anche aggiungere/eliminare elementi e modificarne i dettagli se hai caricato uno schema per ottenere una struttura di base del dizionario dati.
Puoi toccare i tre punti sul lato destro di un elemento e aggiungere un elemento alla struttura del dizionario dati.
Seleziona un elemento composito, un elemento raccolta o un 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 Mappatura degli elementi del dizionario dati su uno schema XML.
Per informazioni sulle convalide nel dizionario dati, consulta Convalida dell’editor del dizionario dati.
(Facoltativo) Dopo aver selezionato un elemento, nella scheda Avanzate puoi aggiungere proprietà (attributi). Puoi anche toccare Aggiungi campo ed estendere le proprietà di un elemento DD.
(Facoltativo) Per rimuovere un elemento, tocca i tre punti a destra di un elemento e seleziona Elimina.
Se elimini un elemento composito/di raccolta con nodi figlio, vengono eliminati anche i relativi nodi figlio.
(Facoltativo) Selezionare un elemento nel riquadro Struttura dizionario dati e nel pannello Elenco campi e variabili. Modifica o aggiungi eventuali attributi richiesti associati all’elemento.
Tocca Salva.
Per creare rapidamente uno o più dizionari di dati con proprietà ed elementi simili ai dizionari di dati esistenti, puoi copiarli e incollarli.
Durante la modifica o la visualizzazione di un dizionario dati, puoi vedere quali elementi nel dizionario dati sono indicati in cui Testi, Condizioni, Lettere e Comunicazioni interattive.
Per modificare il dizionario dati, effettuare una delle seguenti operazioni:
Oppure tocca un dizionario dati per visualizzarlo.
Nel dizionario dati, tocca un elemento semplice per selezionarlo. Gli elementi compositi e di raccolta non hanno riferimenti.
Oltre alle proprietà Base e Avanzate dell’elemento, viene visualizzato anche Contenuto prestato .
Tocca Contenuto prestato .
Viene visualizzata la scheda Contenuto prestato con le seguenti opzioni: Testi, condizioni, lettere e comunicazioni interattive. Ciascuna di queste intestazioni visualizza anche il numero di riferimenti all'elemento selezionato.
Tocca un’intestazione per visualizzare il nome delle risorse che fanno riferimento all’elemento.
Per visualizzare il contenuto prestato per un altro elemento, tocca l’elemento .
Per visualizzare una risorsa che fa riferimento all’elemento, tocca il suo nome. Il browser visualizza la risorsa, la lettera o la comunicazione interattiva.
Nella pagina Dizionari dati, tocca Seleziona.
Toccare un dizionario dati per il quale si desidera scaricare i dati di prova, quindi toccare Scarica dati XML di esempio.
Toccare OK nel messaggio di avviso. Viene scaricato un file XML.
Apri 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 sottoporre a test 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 in un elemento di raccolta, ma il numero di valori può essere aumentato o diminuito in base al requisito.
Dopo aver immesso i dati, è possibile utilizzare questo file XML quando si visualizza in anteprima una lettera con i dati di prova.
Puoi aggiungere questi dati di test con DD (seleziona DD, tocca Carica dati di test e carica questo file xml)
Quindi, quando si visualizza in anteprima la lettera normalmente (non personalizzata), questi dati XML vengono utilizzati in lettera. Puoi anche toccare Personalizzato e caricare questo 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 i riferimenti al DDE indipendenti dalle modifiche alla gerarchia o alla struttura del dizionario dati. I moduli di testo mappati con questo nome |
nome visualizzato | Stringa | Un nome descrittivo opzionale del DDE. |
descrizione | Stringa | Descrizione del DDE. |
elementType | Stringa | Obbligatorio. Tipo di DDE: STRINGA, NUMERO, DATA, Booleano, COMPOSITO, RACCOLTA. |
elementSubType | Stringa | Il sottotipo per DDE: ENUM. È consentito solo per STRING e NUMBER elementType. |
Chiave | Booleano | Un campo booleano per indicare se un DDE è un elemento chiave. |
Calcolati | Booleano | Campo booleano per indicare se un DDE viene 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. Puoi 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 conto può avere solo valori (Salvataggio, Corrente). |
ExtendedProperties | Oggetto | Una 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 del dizionario dati in fase di runtime. 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. Durante il 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, descritta 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:elemento di tipo - Tipo composito |
DDE di tipo - COMPOSITE |
java.util.Map |
xs:elemento in cui maxEvents > 1 |
DDE di tipo - COLLECTION- |
java.util.List |
Attributo di tipo - xs:id |
DDE di tipo - STRING |
java.lang.String |
xs:attribute /xs:elemento di tipo - xs:string |
DDE di tipo - STRING |
java.lang.String |
xs:attribute /xs:element di tipo - xs: booleano |
DDE di tipo - Booleano |
java.lang.Boolean |
xs:attribute /xs:element di tipo - xs:date | DDE of type - DATE | java.lang.String |
xs:attribute /xs:elemento di tipo - xs:integer | DDE del tipo - NUMERO | java.lang.Double |
xs:attribute /xs:elemento di tipo - xs:long | DDE del tipo - NUMERO | java.lang.Double |
xs:attribute /xs:element di tipo - xs:double | DDE del tipo - NUMERO | 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, puoi scaricarlo come file di dati di esempio XML per inserire voci di testo.
Nella pagina Dizionari dati, tocca Seleziona, quindi tocca un dizionario dati per selezionarlo.
Selezionare Scarica dati XML di esempio.
Toccare OK nel messaggio di avviso.
Gestione corrispondenza crea un file XML basato sulla struttura del dizionario dati selezionato e lo scarica sul computer con il nome <data-dizionario-name>-SampleData. Ora è possibile modificare questo file in un editor XML o di testo per inserire dati durante la creazione di una lettera.
Se desideri inviare la stessa lettera in lingue diverse ai clienti, puoi localizzare il nome visualizzato, la descrizione e i set di valori enum del dizionario dati e degli elementi del dizionario dati.
Nella pagina Dizionari dati, tocca Seleziona, quindi tocca un dizionario dati per selezionarlo.
Tocca Scarica dati di localizzazione.
Toccare OK nell’avviso. Gestione corrispondenza scarica un file zip sul computer con il nome DataDictionary-<DDname>.zip.
Il file ZIP contiene un file .properties . Questo file definisce il dizionario dati scaricato. Il contenuto del file di 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 ogni elemento del dizionario dati. Inoltre, il file delle proprietà definisce una riga per un valore enum impostato per ogni elemento del dizionario dati. Come con un dizionario dati, il file delle proprietà corrispondente può avere più definizioni di elementi del dizionario dati. Inoltre, il file può contenere le definizioni di uno o più set di valori enum.
Per aggiornare il file .properties in un'altra impostazione internazionale, aggiorna il nome visualizzato e i valori di descrizione nel file. Crea più istanze del file per ogni lingua in cui desideri localizzare. Sono supportate solo le lingue francese, tedesca, giapponese e inglese.
Salva i diversi file di proprietà aggiornati con i seguenti nomi:
_fr_FR.properties Francese
_de_DE.properties Tedesco
_ja_JA.properties Giapponese
_en_EN.properties English
Archivia il file .properties (o i file per più impostazioni internazionali) in un unico file .zip.
Nella pagina Dizionari dati, seleziona Altro > Carica dati di localizzazione e seleziona il file zip con file di proprietà localizzate.
Per visualizzare le modifiche alla localizzazione, modifica le impostazioni internazionali del browser.
Durante la creazione o l’aggiornamento di un dizionario dati, l’Editor dizionario dati applica le seguenti convalide.
Convalida applicate a livello di dizionario dati
Convalida applicate a livello di elemento del dizionario dati.
È possibile creare un dizionario dati da uno schema XML o generarlo utilizzando l'interfaccia utente del dizionario dati. Tutti gli elementi del dizionario dati (DDE, Data Dictionary Elements) all’interno di un dizionario dati dispongono di un campo di binding XML per memorizzare il binding del DDE a un elemento nello schema XML. Il binding in ogni DDE è relativo al DDE padre.
Di seguito sono riportati i modelli di esempio e gli 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 relativo DDE padre. DDE primitivo utilizza le informazioni di mappatura dal campo Binding XML per determinarne il valore e le mappature si traducono 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, questo viene ignorato. Il binding per tutti i DDE figlio 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 su 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/a |
da | /note/da |
intestazione | /nota/intestazione |
corpo | /note/corpo |
Un elemento di raccolta è mappato solo su un altro elemento di 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 puntino a un elemento schema XML non ripetuto. Nell’esempio seguente, la cardinalità di "TokenID" deve essere uguale a "Token" che è la sua raccolta padre DDE.
Durante la mappatura di un DDE di raccolta a un elemento dello schema XML:
il binding per l’elemento 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 viene fornito, il binding viene ignorato.
Il binding per tutti i DDE figlio 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, Token è 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>
Il Token.xsd associato a questo esempio è il seguente:
<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/Token |
Composito | empty(null) |
TokenID | TokenID |
TokenText | empty(null) |
TokenIntestazione | TokenText/TextHeader |
TokenBody | TokenText/TextBody |