Guida in linea > Panoramica della creazione DITA > Utilizzo di chiavi e riferimenti chiave
  
Utilizzo di chiavi e riferimenti chiave
Arbortext Editor fornisce il supporto per i riferimenti basati su chiave definiti nella sezione Key based (indirect) addressing della specifica DITA Architectural Specification di OASIS. L'interfaccia utente di Arbortext Editor fornisce numerose funzionalità che consentono di semplificare la definizione delle definizioni chiave nelle mappe DITA e l'inserimento dei riferimenti chiave nelle mappe e negli argomenti. Inoltre, Arbortext Editor fornisce una mappa DITA specializzata progettata per contenere solo le definizioni chiave, denominata Mappa di definizioni chiave DITA. Questa mappa consente di fornire informazioni aggiuntive per le definizioni chiave.
Il metodo migliore per archiviare le definizioni chiave consiste nel configurare una mappa DITA da utilizzare esclusivamente per la memorizzazione delle definizioni chiave. È possibile quindi utilizzare un elemento mapref per includere la mappa contenente le definizioni chiave in qualsiasi altra mappa DITA, in base alle esigenze. È consigliabile utilizzare la mappa di definizioni chiave DITA per archiviare le definizioni chiave.
Interfaccia utente per i riferimenti chiave
I riferimenti chiave sono supportati dalle sezioni dell'interfaccia utente di Arbortext Editor descritte di seguito.
Il menu Inserisci contiene le scelte descritte di seguito.
Definizione chiave - Apre Gestione risorse DITA con la scheda Definizione chiave attiva.
Riferimento chiave - Apre la finestra di dialogo Inserisci riferimento chiave.
Il menu Strumenti contiene le scelte descritte di seguito.
Chiavi e riferimenti chiave - Apre la finestra di dialogo Chiavi e riferimenti chiave.
Trova riferimenti chiave - Apre la finestra di dialogo Chiavi e riferimenti chiave che visualizza solo le chiavi all'interno del tag contenente il cursore.
Questa scelta è disponibile anche nel menu di scelta rapida di Arbortext Editor.
Informazioni riferimento chiave - Apre la finestra di dialogo Informazioni riferimento chiave.
Questa scelta è disponibile anche nel menu di scelta rapida di Arbortext Editor.
Sulla barra degli strumenti Markup è disponibile il pulsante Inserisci riferimento chiave, che consente di aprire la finestra di dialogo Inserisci riferimento chiave.
I riferimenti chiave sono supportati dalle funzionalità di Gestione risorse DITA descritte di seguito.
Nelle mappe DITA è disponibile la scheda Definizione chiave che consente di semplificare la definizione delle definizioni chiave.
Una versione di questa scheda per la modifica delle definizioni chiave è disponibile nella finestra di dialogo Modifica attributi, nella mappa documento e nella vista in colonne.
L'opzione Riferimento chiave è disponibile in tutte le schede e le finestre di dialogo di Gestione risorse DITA, eccetto quelle relative ai riferimenti a contenuto, e consente di immettere o selezionare il nome di una chiave da inserire nell'attributo keyref per il riferimento che si intende creare o modificare.
L'opzione Conkeyref è disponibile nella scheda e nella finestra di dialogo di Gestione risorse DITA per i riferimenti a contenuto e consente di immettere il nome di una chiave da inserire nell'attributo keyref per il riferimento che si intende creare o modificare.
Le schede e le finestre di dialogo Link/riferimento incrociato, Riferimento a contenuto e Argomento consentono di selezionare le mappe DITA contenenti le definizioni chiave e di utilizzare una definizione chiave selezionata per il riferimento inserito o modificato.
I riferimenti chiave sono supportati dalle finestre di dialogo riportate di seguito.
Inserisci riferimento chiave - Consente di inserire i riferimenti chiave n un documento.
Aggiungi/rimuovi mappa - Consente di aggiungere o rimuovere mappe dall'elenco di mappe che forniscono le definizioni chiave per la finestra di dialogo Inserisci riferimento chiave.
Seleziona riferimento - Consente di selezionare il documento da aprire quando per un elemento di riferimento sono definite più destinazioni di riferimento.
Informazioni riferimento chiave - Visualizza informazioni sulla definizione chiave associata a un riferimento chiave.
Chiavi e riferimenti chiave - Visualizza le definizioni chiave e i riferimenti chiave contenuti nel documento corrente e in tutti i documenti referenziati dal documento corrente.
Come nascondere l'interfaccia utente per i riferimenti chiave
Per default, l'interfaccia utente per i riferimenti chiave è disponibile in Arbortext Editor. Se non si utilizzano i riferimenti chiave presenti nella documentazione DITA, è possibile rimuovere le funzioni dei riferimenti chiave dall'interfaccia utente.
La disponibilità dell'interfaccia utente per i riferimenti chiave è determinata dalla preferenza avanzata ditakeyrefui. Per rimuovere l'interfaccia utente per i riferimenti chiave, impostare il valore di questa preferenza su off.
Impostazione del contesto chiave
Per configurare Arbortext Editor per la ricerca delle definizioni chiave associate ai riferimenti chiave, è necessario che l'applicazione sia in grado di riconoscere il contesto chiave per il documento corrente. Il contesto chiave è una mappa DITA che contiene le definizioni chiave rilevanti. Se la mappa contenente le definizioni è una mappa di definizioni chiave DITA, è possibile aggiungere ulteriori informazioni alle definizioni chiave visualizzate nell'interfaccia utente per i riferimenti chiave. Il contesto chiave per un documento è determinato dalle impostazioni dell'opzione ditakeycontext.
L'opzione ditakeycontext è impostata su una singola mappa e definisce il contesto chiave principale per il documento corrente durante la sessione corrente. Quando per un documento viene stabilito un contesto chiave, quest'ultimo influenza la modalità di gestione dei riferimenti in Arbortext Editor. Se, ad esempio, per un tag immagine è definito sia un attributo href che un attributo keyref, in Arbortext Editor viene visualizzata l'immagine della definizione chiave dell'attributo keyref. Quando viene stabilito un contesto chiave che contiene una definizione chiave corrispondente, in Arbortext Editor viene data la precedenza a un riferimento chiave o a un riferimento chiave a contenuto.
È possibile impostare ditakeycontext in modo esplicito o, in alcuni casi, questo comando viene impostato automaticamente da Arbortext Editor. Se, ad esempio, si apre un documento facendo doppio clic su un riferimento incrociato, un riferimento ad argomento e così via, il contesto chiave per il documento originale viene applicato al documento appena aperto. Analogamente, se si apre un documento da una finestra di dialogo relativa a DITA di Arbortext Editor, il contesto chiave per il documento corrente viene applicato al documento aperto. Se il documento originale è una mappa DITA a cui non è associato alcun contesto chiave, la mappa diventa il contesto chiave per il documento aperto.
Un'altra opzione che determina le definizioni chiave disponibili per l'inserimento in un documento è rappresentata dall'opzione ditakeybaselist. L'opzione ditakeybaselist viene utilizzata principalmente per stabilire l'elenco delle mappe utilizzate per le definizioni chiave visualizzate nella finestra di dialogo Inserisci riferimento chiave e nell'opzione Riferimento chiave di Gestione risorse DITA. A differenza di ditakeycontext, il comando ditakeybaselist è una preferenza avanzata, può contenere più mappe ed è persistente nelle sessioni di Arbortext Editor. Se si è assegnato un valore a ditakeybaselist e la mappa impostata come ditakeycontext corrente non si trova nell'elenco, la mappa contesto chiave vene aggiunta all'inizio dell'elenco delle mappe ditakeybaselist per la sessione corrente.
Utilizzo della mappa di definizioni chiave DITA
Arbortext Editor fornisce una mappa DITA specializzata denominata mappa di definizioni chiave DITA. Questa mappa contiene elementi aggiuntivi che consentono di fornire ulteriori informazioni nelle definizioni chiave ed è progettata per essere utilizzata esclusivamente per l'archiviazione delle definizioni chiave. Le informazioni sulle definizioni chiave aggiuntive vengono visualizzate nell'interfaccia utente per i riferimenti chiave in diverse posizioni. La mappa di definizioni chiave DITA si trova nella categoria DITA Technical Content della finestra di dialogo Nuovo.
La mappa di definizioni chiave aggiunge ulteriori elementi all'elemento topicmeta che forniscono informazioni aggiuntive sulle definizioni chiave. Per utilizzare questi elementi, inserire un elemento keydef nella mappa, un elemento topicmeta nell'elemento keydef e un elemento keyinfo in topicmeta. È possibile quindi inserire uno dei nuovi elementi metadati che si desidera utilizzare all'interno di keyinfo. È inoltre possibile utilizzare la scheda Definizione chiave di Gestione risorse DITA in una mappa di definizioni chiave per aggiungere ulteriori informazioni alle definizioni chiave.
Per i normali riferimenti chiave, in topicmeta sono disponibili gli elementi aggiuntivi decritti di seguito.
keyinfo - Racchiude gli altri elementi.
keydescription - Contiene una descrizione della chiave.
keysubelementid - Specifica (nell'attributo value) un determinato ID elemento a cui questa chiave deve essere applicata.
keyreftags - Contiene (nell'attributo value) un elenco di uno o più nomi di elementi da utilizzare per referenziare questa chiave.
Utilizzo di riferimenti chiave a contenuto
Per sostituire il contenuto tramite un riferimento chiave in Arbortext Editor, è possibile utilizzare l'attributo conkeyref in un elemento per impostare un riferimento chiave a contenuto. Analogamente ai normali riferimenti chiave, quando a un riferimento chiave a contenuto è associata una definizione nel contesto chiave per un documento e per un elemento sono definiti sia l'attributo conref che l'attributo conkeyref, in Arbortext Editor viene visualizzato il contenuto associato a conkeyref e in genere viene data la precedenza al riferimento a contenuto chiave.
Per impostare le chiavi per i riferimenti chiave a contenuto, è possibile utilizzare una normale definizione chiave. Tuttavia, la mappa di definizioni chiave DITA fornisce alcuni elementi aggiuntivi che consentono di semplificare la definizione delle definizioni chiave per i riferimenti a contenuto. Inoltre, per includere i riferimenti chiave a contenuto nella finestra di dialogo Inserisci riferimento chiave, è necessario definire le definizioni chiave associate in una mappa di definizioni chiave DITA. Per i riferimenti chiave a contenuto, sono disponibili gli elementi aggiuntivi descritti di seguito.
keyconrefs - Consente di definire le definizioni chiave specificamente per i riferimenti chiave a contenuto.
L'elemento è una specializzazione dell'elemento keydef. Gli elementi con ID all'interno di argomenti o mappe che fanno riferimento a un nome di chiave definito con keyconrefs vengono visualizzati come destinazioni per un riferimento conkeyref nella finestra di dialogo Inserisci riferimento chiave. L'attributo scope in questo elemento è impostato su local. L'attributo format è impostato su dita (valore di default) o su ditamap.
Questo elemento include inoltre il nuovo elemento keyinfo e tutti i relativi elementi secondari. Se si assegna un valore all'elemento keysubelementid in una definizione keyconrefs, solo gli elementi con lo specifico ID saranno disponibili per un riferimento chiave a contenuto che utilizza tale definizione. In caso contrario, sono disponibili tutti gli elementi con ID.
keyforconrefs - Indica che una definizione chiave è relativa a un riferimento chiave a contenuto.
Questo elemento è contenuto nell'elemento keyinfo. Quando per l'elemento keyforconrefs l'attributo value è impostato su true (valore di default), questo indica che la definizione chiave è relativa a un riferimento chiave a contenuto e verrà considerata tale nella finestra di dialogo Inserisci riferimento chiave. In tal modo, è possibile utilizzare keydef e gli altri elementi nella mappa per definire le definizioni chiave per i riferimenti chiave a contenuto.
Utilizzando una mappa di definizioni chiave DITA, è possibile impostare le definizioni chiave del contenuto in modo che sia disponibile un singolo elemento per un riferimento chiave a contenuto o siano disponibili tutti gli elementi con ID. Per rendere disponibile un singolo elemento per un riferimento conkeyref nella finestra di dialogo Inserisci riferimento chiave, è necessario definirlo in una mappa di definizioni chiave DITA utilizzando il markup descritto di seguito.
L'attributo href nella definizione chiave deve puntare all'argomento o alla mappa contenente l'elemento.
L'ID dell'elemento non deve essere incluso in href.
Per l'elemento keysubelementid, l'attributo value deve specificare l'ID dell'elemento.
Per l'elemento keyreftags, l'attributo value deve contenere il nome dell'elemento per il quale è stato specificato l'ID, preceduto dalla stringa conkeyref:.
Ad esempio, la definizione chiave riportata di seguito aggiunge l'elemento ph con l'ID custom nell'argomento strings.dita alla finestra di dialogo Inserisci riferimento chiave come destinazione conkeyref.
<keydef keys=”strings” href=”strings.dita”>
<topicmeta>
<keyinfo>
<keydescription>Description of the “custom” element</keydescription>
<keysubelementid value=”custom”/>
<keyreftags value=”conkeyref:ph”/>
</keyinfo>
</topicmeta>
</keydef>
Per rendere disponibili tutti gli elementi con ID in una mappa o un argomento per un riferimento conkeyref nella finestra di dialogo Inserisci riferimento chiave, è necessario definire tale impostazione anche in una mappa di definizioni chiave DITA. È possibile definire tale markup in uno dei modi descritti di seguito.
Utilizzare l'elemento keyconrefs per creare la definizione chiave.
Ad esempio:
<keyconrefs href=”strings.dita” keys=”strings”/>
Utilizzare qualsiasi elemento valido per definire una definizione chiave con un elemento keyforconrefs all'interno dell'elemento keyinfo nell'elemento topicmeta.
Ad esempio:
<keydef href=”strings.dita” keys=”strings”>
<topicmeta>
<keyinfo>
<keyforconrefs/>
</keyinfo>
</topicmeta>
</keydef>
Inserimento di testo con riferimenti chiave
È possibile anche utilizzare normali riferimenti chiave per inserire il testo nei documenti. Molti elementi DITA presentano l'attributo keyref. È possibile includere il testo nelle definizioni chiave da inserire in questi elementi se l'elemento è vuoto e presenta un insieme di riferimenti chiave. Affinché possa essere utilizzato per l'inserimento del testo, l'elemento deve essere vuoto. Ad esempio, è possibile che il documento contenga il seguente elemento:
<ph keyref="product-name"></ph>
La chiave fa riferimento alla seguente definizione chiave:
<keydef keys="product-name">
<topicmeta>
<keywords>
<keyword>Acme Product</keyword>
</keywords>
</topicmeta>
</keydef>
Durante la pubblicazione del documento, il seguente testo viene inserito nell'elemento ph:
<ph>Acme Product</ph>
È possibile inoltre includere markup con il testo da inserire. Ad esempio, quando la chiave fa riferimento alla seguente definizione chiave:
<keydef keys="product-name">
<topicmeta>
<keywords>
<keyword><i>Acme Product</i></keyword>
</keywords>
</topicmeta>
</keydef>
Il seguente testo viene inserito nel documento:
<ph><i>Acme Product</i></ph>
In aggiunta all'inserimento del testo, è possibile anche trasformare elementi non di collegamento in elementi di collegamento e viceversa includendo un attributo href nella definizione chiave. Ad esempio, si considerino le seguenti definizioni chiave:
<keydef keys="product-name" href="acme.dita">
<topicmeta>
<keywords>
<keyword>Acme Product</keyword>
</keywords>
</topicmeta>
</keydef>
<keydef keys="product-name-no-link">
<topicmeta>
<keywords>
<keyword>Acme Product</keyword>
</keywords>
</topicmeta>
</keydef>
A queste definizioni chiave fanno riferimento i seguenti elementi presenti nel documento:
<ph keyref="product-name"></ph>
<xref keyref="product-name"></xref>
<ph keyref="product-name-no-link"></ph>
<xref keyref="product-name-no-link"></xref>
Durante la pubblicazione del documento, il seguente testo viene inserito nel documento:
<ph>
<xref href="acme.dita">Acme Product</xref>
</ph>
<xref href="acme.dita">Acme Product</xref>
<ph>Acme Product</ph>
<xref>Acme Product</xref>
Quando alla definizione chiave è stato assegnato un attributo href, l'elemento nel quale viene inserito il testo diventa un elemento di collegamento. Quando non gli è stato assegnato un attributo href, anche un elemento di collegamento come xref non contiene un link. Questo comportamento di creazione di link si applica anche se l'elemento che fa riferimento alla definizione chiave presenta del contenuto e non può essere utilizzato per l'inserimento del testo. Ad esempio, si consideri l'ipotesi in cui il seguente elemento fa riferimento alla definizione chiave precedente:
<ph keyref="product-name">New Acme Product</ph>
In questo caso, il riferimento chiave rende semplicemente l'elemento un elemento di collegamento e non inserisce il testo nella definizione chiave quando il documento viene pubblicato:
<ph>
<xref href="acme.dita">New Acme Product</xref>
</ph>
Il testo da inserire da una definizione chiave è determinato nel seguente ordine di priorità:
1. contenuto del primo elemento keyword all'interno dell'elemento keywords nell'elemento topicmeta della definizione chiave
2. contenuto del primo elemento term all'interno dell'elemento keywords nell'elemento topicmeta della definizione chiave
3. contenuto dell'elemento linktext all'interno dell'elemento topicmeta della definizione chiave
4. contenuto dell'elemento navtitle all'interno dell'elemento topicmeta della definizione chiave
5. contenuto dell'attributo navtitle della definizione chiave
Ad esempio, la seguente definizione chiave contiene del testo in più di una delle possibili aree per l'inserimento del testo:
<keydef keys="product-name" navtitle="New Acme Product">
<topicmeta>
<keywords>
<keyword>Acme Product</keyword>
</keywords>
</topicmeta>
</keydef>
In questo caso, il testo inserito per un riferimento chiave è il contenuto dell'elemento keyword dal momento che ha una priorità più alta rispetto al contenuto dell'attributo navtitle.
I seguenti elementi sono casi particolari per l'inserimento del testo:
link
L'elemento link non contiene direttamente testo, ma contiene elementi linktext e desc facoltativi che possono contenere testo. In questo caso, se sono presenti elementi linktext e desc nell'elemento topicmeta della definizione chiave, questi elementi vengono inseriti nell'elemento link quando viene pubblicato il documento.
image
L'elemento image contiene un elemento alt che fornisce una descrizione dell'immagine. Se un elemento image vuoto presenta un riferimento chiave a una definizione chiave contenente del testo da inserire, il testo viene inserito in image come elemento alt durante la pubblicazione.
Elementi che non consentono il contenuto del testo
Alcuni elementi DITA, ad esempio longdescref, contengono l'attributo keyref, ma non consentono il contenuto del testo. Questi elementi non possono essere utilizzati per l'inserimento del testo attraverso riferimenti chiave.
L'interfaccia utente dell'Arbortext Editor fornisce le funzionalità descritte di seguito per supportare l'inserimento del testo con riferimenti chiave.
La finestra di dialogo Informazioni riferimento chiave presenta un'opzione Testo che visualizza il contenuto del testo, compreso qualsiasi markup, fornito nella definizione chiave.
La finestra di dialogo Inserisci riferimento chiave visualizza il contenuto del testo per una definizione chiave, compreso il markup, nella colonna Risorsa.
Inoltre, quando la preferenza avanzata ditatextkeyrefs è impostata su on, gli elementi non di collegamento che consentono un riferimento chiave vengono visualizzati nell'elenco a discesa Inserisci.
Durante la modifica di un documento DITA gli elementi vuoti a cui è stato assegnato un riferimento chiave visualizzano il nome del riferimento chiave racchiuso tra parentesi:
Questa operazione è supportata solo per elementi non di collegamento nei fogli di stile di default per i documenti DITA. Il nome del riferimento chiave viene visualizzato solo durante la modifica di documenti nell'Arbortext Editor, mentre non viene visualizzato durante la pubblicazione del documento.
Utilizzo di riferimenti chiave con riferimenti ad argomenti
Quando un riferimento ad argomento contiene un riferimento chiave, alcune informazioni nell'elemento topicmeta possono essere in conflitto con informazioni simili nella definizione chiave. L'elemento topicref contiene un elemento topicmeta analogamente a quanto avviene per una definizione chiave. Di seguito vengono riportate le regole che devono essere rispettate durante l'unione del contenuto topicmeta di un topicref con un riferimento chiave e la definizione chiave a cui si fa riferimento.
Viene rispettato l'attributo locktitle dell'elemento topicref piuttosto che l'attributo locktitle della definizione chiave.
Gli altri metadati nella definizione chiave sostituiscono gli stessi metadati nell'elemento topicref.
Vengono mantenuti eventuali metadati nell'elemento topicref che non corrispondono ai metadati nella definizione chiave.