Schlüssel und Schlüsselreferenzen verwenden
Arbortext Editor bietet Unterstützung für schlüsselbasierte Referenzen, wie im Abschnitt
Key based (indirect) addressing der von OASIS herausgegebenen
DITA Architectural Specification definiert. Die
Arbortext Editor Benutzeroberfläche bietet viele Funktionen, die Ihnen beim Festlegen von Schlüsseldefinitionen in den DITA Maps und beim Einfügen von Schlüsselreferenzen in Ihre Maps und Topics helfen. Zusätzlich bietet
Arbortext Editor eine spezialisierte DITA Map, die dafür vorgesehen ist, nur Schlüsseldefinitionen zu enthalten, die
DITA-Schlüsseldefinitionszuordnung. Diese Map ermöglicht es Ihnen, zusätzliche Informationen für Ihre Schlüsseldefinitionen bereitzustellen.
Das beste Verfahren zum Speichern der Schlüsseldefinitionen ist es, eine eigene DITA Map für Schlüsseldefinitionen anzulegen. Dann können Sie ein mapref-Element verwenden, um die Map mit Ihren Schlüsseldefinitionen nach Bedarf in eine beliebige andere DITA Map einzuschließen. Es wird empfohlen, dass Sie die DITA-Schlüsseldefinitionszuordnung zum Abspeichern Ihrer Schlüsseldefinitionen verwenden.
Die Schlüsselreferenzen-Benutzeroberfläche
Die folgenden Teile der Arbortext Editor-Benutzeroberfläche unterstützen Schlüsselreferenzen.
• Das Menü Einfügen enthält folgende Optionen:
◦ Schlüsseldefinition – Öffnet die Quellenverwaltung mit der Registerkarte Schlüsseldefinition im Vordergrund.
◦ Schlüsselreferenz – Öffnet das Dialogfenster Schlüsselreferenz einfügen.
• Das Menü Extras enthält folgende Optionen:
◦ Schlüssel und Schlüsselreferenzen – Öffnet das Dialogfenster Schlüssel und Schlüsselreferenzen.
◦ Schlüsselreferenzen suchen – Öffnet das Dialogfenster Schlüssel und Schlüsselreferenzen nur mit den Schlüsseln, die in dem Tag, in dem sich der Cursor befindet, enthalten sind.
Diese Auswahlmöglichkeit ist auch im Arbortext Editor Kontextmenü verfügbar.
◦ Schlüsselreferenzinformationen – Öffnet das Dialogfenster Schlüsselreferenzinformationen.
Diese Auswahlmöglichkeit ist auch im Arbortext Editor Kontextmenü verfügbar.
• Die Symbolleiste "Markup" enthält eine Schaltfläche
Schlüsselreferenz einfügen 
, über die das Dialogfenster
Schlüsselreferenz einfügen geöffnet wird.
• Die folgenden Funktionen der Quellenverwaltung unterstützen Schlüsselreferenzen:
◦ Auf der Registerkarte
Schlüsseldefinition können Sie in DITA Maps Schlüsseldefinitionen festlegen.
Eine Version dieser Registerkarte zum Ändern von Schlüsseldefinitionen ist im Dialogfenster Attribute ändern, der Dokumentzuordnung und der Spaltenansicht verfügbar.
◦ Die Option Keyref ist in allen Registerkarten der Quellenverwaltung außer denen für Inhaltsreferenzen verfügbar und ermöglicht es Ihnen, einen Schlüsselnamen einzugeben oder auszuwählen, der für die Referenz, die Sie erstellen oder ändern, in das Attribut keyref eingefügt wird.
◦ Die Option Conkeyref ist auf der Registerkarte Quellenverwaltung und dem Dialogfenster für Inhaltsreferenzen verfügbar und ermöglicht es Ihnen, einen Schlüsselnamen einzugeben, der für die Referenz, die Sie erstellen oder ändern, in das Attribut conkeyref eingefügt wird.
◦ Die Registerkarten bzw. Dialogfenster Link/Querverweis, Inhaltsreferenz und Topic ermöglichen es Ihnen, DITA-Zuordnungen zu durchsuchen, die Schlüsseldefinitionen enthalten und eine ausgewählte Schlüsseldefinition für die eingefügte oder geänderte Referenz zu verwenden.
• Die folgenden Dialogfenster unterstützen Schlüsselreferenzen:
◦ Zuordnung hinzufügen/entfernen – Ermöglicht das Hinzufügen und Entfernen von Zuordnungen der Zuordnungsliste, die die Schlüsseldefinitionen für das Dialogfenster
Schlüsselreferenz einfügen enthält.
◦ Referenz auswählen – Ermöglicht es, auszuwählen, welches Dokument geöffnet wird, wenn einem referenzierenden Element mehr als ein Referenzziel zugeordnet ist.
◦ Schlüssel und Schlüsselreferenzen – Zeigt die Schlüsseldefinitionen und Schlüsselreferenzen an, die in dem aktuellen Dokument und allen Dokumenten, auf die von dem aktuellen Dokument aus verwiesen wird, enthalten sind.
Ausblenden der Schlüsselreferenz-Benutzeroberfläche
Standardmäßig ist die Schlüsselreferenz-Benutzeroberfläche in Arbortext Editor verfügbar. Wenn Sie in Ihrer DITA-Dokumentation keine Schlüsselreferenzen verwenden, können Sie die Schlüsselreferenzfunktion aus der Benutzeroberfläche entfernen.
Die Verfügbarkeit der Schlüsselreferenz-Benutzeroberfläche wird in der erweiterten Einstellung ditakeyrefui festgelegt. Setzen Sie den Wert dieser Einstellung auf off, um die Schlüsselreferenz-Benutzeroberfläche zu entfernen.
Einrichten des Schlüsselkontexts
Damit Arbortext Editor die den Schlüsselreferenzen zugeordneten Schlüsseldefinitionen finden kann, muss es den Schlüsselkontext für das aktuelle Dokument kennen. Der Schlüsselkontext ist eine DITA Map, die die relevanten Schlüsseldefinitionen enthält. Wenn die Zuordnung, die die Definition enthält, eine DITA-Schlüsseldefinitionszuordnung ist, können Sie den Schlüsseldefinitionen, die in der Schlüsselreferenz-Benutzeroberfläche erscheinen, weitere Informationen hinzufügen. Der Schlüsselkontext für ein Dokument wird durch die Einstellungen der set-Option ditakeycontext festgelegt.
Die Option ditakeycontext ist auf eine einzige Zuordnung eingestellt und definiert den primären Schlüsselkontext für das aktuelle Dokument während der laufenden Sitzung. Wenn für ein Dokument ein Schlüsselkontext festgelegt ist, hat dies Auswirkungen darauf, wie Arbortext Editor Referenzen behandelt. Wenn zum Beispiel für ein Bild-Tag sowohl ein href- als auch ein keyref-Attribut definiert ist, zeigt Arbortext Editor das Bild aus den Schlüsseldefinitionen des keyref-Attributs an. Arbortext Editor gibt der Schlüsselreferenz oder der Inhaltsschlüsselreferenz den Vorrang, wenn ein Schlüsselkontext eingerichtet ist, der eine passende Schlüsseldefinition enthält.
Sie können die Option ditakeycontext explizit festlegen, oder Arbortext Editor legt sie in einigen Fällen automatisch fest. Wenn Sie zum Beispiel ein Dokument öffnen, indem Sie auf einen Querverweis, eine Topic-Referenz usw. doppelklicken, wird der Schlüsselkontext des ursprünglichen Dokuments auf das neu geöffnete Dokument angewendet. Wenn Sie ein Dokument über ein DITA-bezogenes Dialogfenster von Arbortext Editor öffnen, wird entsprechend der Schlüsselkontext für das aktuelle Dokument auf das geöffnete Dokument angewendet. Wenn das Originaldokument eine DITA Map ohne Schlüsselkontext ist, wird diese Zuordnung zum Schlüsselkontext für das geöffnete Dokument.
Eine weitere Option, durch die die Schlüsseldefinition für das Einfügen in ein Dokument festgelegt wird, ist die set-Option ditakeybaselist. Die Option ditakeybaselistwird in erster Linie verwendet, um festzulegen, welche Zuordnungsliste für die im Dialogfenster Schlüsselreferenz einfügen und in der Option Keyref der Quellenverwaltung angezeigten Schlüsseldefinitionen verwendet werden. Im Unterschied zu ditakeycontext ist ditakeybaselist eine erweiterte Einstellung, die mehrere Zuordnungen enthalten kann und die nicht nur für eine Arbortext Editor-Sitzung gilt. Wenn Sie ditakeybaselist einen Wert zugewiesen haben und die Zuordnung, die der aktuelle ditakeycontext ist, nicht in dieser Liste enthalten ist, wird die Schlüsselkontextzuordnung am Anfang der Liste derditakeybaselist-Zuordnungen für die laufende Sitzung eingefügt.
Verwendung der DITA-Schlüsseldefinitionszuordnung
Arbortext Editor bietet eine spezielle DITA Map, die DITA-Schlüsseldefinitionszuordnung. Diese Zuordnung enthält zusätzliche Elemente, die es ermöglichen, in den Schlüsseldefinitionen weitere Informationen bereitzustellen. Sie ist nur zur Speicherung von Schlüsseldefinitionen vorgesehen. Diese zusätzlichen Schlüsseldefinitionsinformationen werden an verschiedenen Stellen der Schlüsselreferenz-Benutzeroberfläche angezeigt. Die DITA-Schlüsseldefinitionszuordnung befindet sich in den Kategorien DITA Technical Content im Dialogfenster Neu.
Die Schlüsseldefinitionszuordnung fügt dem topicmeta-Element weitere Elemente hinzu, die weitere Informationen zu den Schlüsseldefinitionen bereitstellen. Fügen Sie zur Verwendung dieser Elemente ein keydef-Element in die Zuordnung ein, und fügen Sie ein topicmeta-Element in das keydef-Element und ein keyinfo-Element in topicmeta ein. Dann können Sie ein beliebiges Metadatenelement einfügen, das Sie in keyinfo verwenden möchten. Sie können auch die Registerkarte Schlüsseldefinition in der Quellenverwaltung verwenden, um den Schlüsseldefinitionen diese zusätzlichen Informationen hinzuzufügen.
Die folgenden zusätzlichen Elemente sind in topicmeta für gewöhnliche Schlüsselreferenzen verfügbar:
• keyinfo – Schließt die anderen Elemente mit Ausnahme des keytext-Elements ein.
• keydescription – Enthält eine Textbeschreibung des Schlüssels
• keysubelementid – Gibt (im Attribut value) eine spezifische Element-ID an, für die dieser Schlüssel gelten soll.
• keyreftags – Enthält (im Attribut Wert) eine Liste mit einem oder mehreren Elementnamen, die zum Referenzieren dieses Schlüssels verwendet werden sollten.
• keytext – Gibt die Variable oder den Linktext an; gibt auch alternativen Text für Bilder an, die von Schlüsseln referenziert werden. Dieses Element ist nur für DITA 2.0-Dokumente verfügbar.
Arbeiten mit Inhaltsschlüsselreferenzen
Um Inhalte durch eine Schlüsselreferenz in Arbortext Editor zu ersetzen, können Sie das Attribut conkeyref auf ein Element anwenden, um eine Inhaltsschlüsselreferenz einzurichten. Wenn einer Inhaltsschlüsselreferenz im Schlüsselkontext für ein Dokument eine Definition zugeordnet ist, und für ein Element sowohl das Attribut conref als auch conkeyref definiert ist, zeigt Arbortext Editor, wie bei gewöhnlichen Schlüsselreferenzen, den Inhalt an, der mit conkeyref verbunden ist und gibt im Allgemeinen der Schlüsselinhaltsreferenz Vorrang.
Zum Einrichten der Schlüssel für Inhaltsschlüsselreferenzen können gewöhnliche Schlüsseldefinitionen verwendet werden. Die DITA-Schlüsseldefinitionszuordnung bietet jedoch zusätzliche Elemente zum Festlegen von Schlüsseldefinitionen für Inhaltsreferenzen. Um Inhaltsschlüsselreferenzen in das Dialogfenster Schlüsselreferenz einfügen einzuschließen, müssen Sie die zugehörigen Schlüsseldefinitionen in einer DITA-Schlüsseldefinitionszuordnung festlegen. Die folgenden zusätzlichen Elemente sind für Inhaltschlüsselreferenzen verfügbar:
• keyconrefs – Ermöglicht das Festlegen von spezifischen Schlüsseldefinitionen für Inhaltsschlüsselreferenzen.
Dieses Element ist eine Spezialisierung des keydef-Elements. Elemente mit IDs innerhalb von Topics oder Maps, die einen mit keyconrefs definierten Schlüsselnamen referenzieren, erscheinen im Dialogfenster Schlüsselreferenz einfügen als Ziel für eine Referenz conkeyref. Das Attribut Umfang dieses Elements ist auf local eingestellt. Das Attribut Format ist entweder auf dita (Standard) oder auf ditamap eingestellt.
Dieses Element enthält auch das neue keyinfo-Element und dessen Unterelemente. Wenn Sie dem Element keysubelementid in einer keyconrefs-Definition einen Wert zuweisen, sind für eine Inhaltsschlüsselreferenz, die diese Definition verwendet, nur Elemente mit dieser spezifischen ID verfügbar. Andernfalls sind alle Elemente mit IDs verfügbar.
• keyforconrefs – Zeigt eine Schlüsseldefinition für eine Inhaltsschlüsselreferenz an.
Dieses Element ist im Element keyinfo enthalten. Wenn das Attribut keyforconrefsWert des Elements auf true (Standard) gesetzt ist, zeigt dies an, dass diese Schlüsseldefinition für eine Inhaltsschlüsselreferenz gilt und dass sie im Dialogfenster Schlüsselreferenz einfügen als solche angezeigt wird. Dies ermöglicht die Verwendung von keydef und anderer Elemente in der Zuordnung für die Definition von Inhaltsschlüsselreferenzen.
Mit einer DITA-Schlüsseldefinitionszuordnung können Inhaltsschlüsseldefinitionen so eingerichtet werden, dass entweder ein einziges Element für eine Inhaltsschlüsselreferenz verfügbar ist, oder dass alle Elemente mit ID verfügbar sind. Um ein einziges Element in der Referenz conkeyref im Dialogfenster Schlüsselreferenz einfügen verfügbar zu machen, müssen Sie es in einer DITA-Schlüsseldefinitionszuordnung durch die folgenden Markierung definieren:
• Das Attribut href in der Schlüsseldefinition muss auf das Topic oder die Map verweisen, das bzw. die das Element enthält.
Die ID des Elements darf nicht in href eingeschlossen sein.
• Das Attribut Wert des keysubelementid-Elements muss die ID des Elements angeben.
• Das Attribut Wert des keyreftags-Elements muss den Namen des Elements enthalten, das die angegebene ID hat, versehen mit dem Präfix conkeyref:.
Die folgende Schlüsseldefinition fügt zum Beispiel das Element ph mit der ID custom in das Topic strings.dita im Dialogfenster Schlüsselreferenz einfügen als conkeyref-Ziel ein.
<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>
Um alle Elemente mit einer ID in einer Map oder einem Topic für eine Referenz conkeyref im Dialogfenster Schlüsselreferenz einfügen verfügbar zu machen, müssen Sie dies in einer DITA-Schlüsseldefinitionszuordnung festlegen. Diese Markierung kann auf zwei Arten festgelegt werden:
• Verwendung des Elements keyconrefs zum Festlegen der Schlüsseldefinitionen.
Hierzu ein Beispiel:
<keyconrefs href=”strings.dita” keys=”strings”/>
• Verwenden Sie ein beliebiges gültiges Element zum Festlegen einer Schlüsseldefinition, wobei ein keyforconrefs-Element sich innerhalb des keyinfo-Elements im topicmeta-Element befindet.
Hierzu ein Beispiel:
<keydef href=”strings.dita” keys=”strings”>
<topicmeta>
<keyinfo>
<keyforconrefs/>
</keyinfo>
</topicmeta>
</keydef>
Text mit Schlüsselreferenzen einfügen
Sie können auch normale Schlüsselreferenzen verwenden, um Text in Dokumente einzufügen. Viele DITA-Elemente weisen das Attribut keyref auf. Sie können Text in Ihre Schlüsseldefinitionen einschließen, der in diese Elemente eingefügt wird, wenn das Element leer ist und eine Schlüsselreferenz dafür festgelegt ist. Das Element muss leer sein, damit es für die Texteinfügung verwendet werden kann. Ein Beispiel: Ein Dokument enthält das folgende Element:
<ph keyref="product-name"></ph>
Der Schlüssel referenziert die folgende Schlüsseldefinition:
Für DITA 1.3 | Für DITA 2.0 |
|---|
<keydef keys="product-name"> <topicmeta> <keywords> <keyword>Acme Product</keyword> </keywords> </topicmeta> </keydef> | <keydef keys="product-name"> <topicmeta> <keytext>Acme Product</keytext> </topicmeta> </keydef> |
Wenn Sie das Dokument publizieren, wird der folgende Text in das Element ph eingefügt:
<ph>Acme Product</ph>
Sie können zusammen mit dem einzufügenden Text auch Markup einschließen. Beispiel: Der Schlüssel referenziert die folgende Schlüsseldefinition:
<keydef keys="product-name">
<topicmeta>
<keywords>
<keyword><i>Acme Product</i></keyword>
</keywords>
</topicmeta>
</keydef>
Der folgende Text wird in das Dokument eingefügt:
<ph><i>Acme Product</i></ph>
Zusätzlich zum Einfügen von Text können Sie auch Nicht-Linkelemente in Linkelemente umwandeln und umgekehrt, indem Sie das Attribut href in die Schlüsseldefinition einbinden. Nehmen Sie als Beispiel die folgenden Schlüsseldefinitionen:
<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>
Diese Schlüsseldefinitionen werden von folgenden Elementen im Dokument referenziert:
<ph keyref="product-name"></ph>
<xref keyref="product-name"></xref>
<ph keyref="product-name-no-link"></ph>
<xref keyref="product-name-no-link"></xref>
Wenn das Dokument publiziert wird, wird der folgende Text in das Dokument eingefügt:
<ph>
<xref href="acme.dita">Acme Product</xref>
</ph>
<xref href="acme.dita">Acme Product</xref>
<ph>Acme Product</ph>
<xref>Acme Product</xref>
Wenn der Schlüsseldefinition ein href zugeordnet ist, wird das Element, in das der Text eingefügt wird, zu einem Linkelement. Ist kein href zugeordnet, enthält sogar ein Linkelement wie xref keinen Link. Dieses Linkverhalten trifft auch dann zu, wenn das Element, das die Schlüsseldefinition referenziert, Inhalte enthält und nicht für die Texteinfügung verwendet werden kann. Beispiel: Das folgende Element referenziert die oben angegebene Schlüsseldefinition:
<ph keyref="product-name">New Acme Product</ph>
In diesem Fall wird das Element durch die Schlüsselreferenz einfach zu einem Linkelement, und der Text in der Schlüsseldefinition wird beim Publizieren des Dokuments nicht eingefügt:
<ph>
<xref href="acme.dita">New Acme Product</xref>
</ph>
Bei DITA 1.3-Dokumenten wird Text, der aus einer Schlüsseldefinition eingefügt werden soll, in der folgenden Reihenfolge ermittelt:
1. Der Inhalt des ersten keyword-Elements im keywords-Element im topicmeta-Element der Schlüsseldefinition
2. Der Inhalt des ersten term-Elements im keywords-Element im topicmeta-Element der Schlüsseldefinition
3. Der Inhalt des linktext-Elements im topicmeta-Element der Schlüsseldefinition
4. Der Inhalt des navtitle-Elements im topicmeta-Element der Schlüsseldefinition
5. Der Inhalt des Attributs navtitle der Schlüsseldefinition
Beispielsweise enthält die folgende Schlüsseldefinition in mehr als einem der möglichen Bereiche Text für die Texteinfügung:
<keydef keys="product-name" navtitle="New Acme Product">
<topicmeta>
<keywords>
<keyword>Acme Product</keyword>
</keywords>
</topicmeta>
</keydef>
Bei DITA 2.0-Dokumenten wird Text, der aus einer Schlüsseldefinition eingefügt werden soll, in der folgenden Reihenfolge ermittelt:
1. Der Inhalt des ersten keytext-Elements im topicmeta-Element der Schlüsseldefinition
2. Der Inhalt des ersten titlealt-Elements mit dem Attributwert für "title-role" festgelegt auf "linking" oder das erste linktext-Element im topicmeta-Element der Schlüsseldefinition
3. Der Inhalt des ersten titlealt-Elements mit dem Attributwert für "title-role" festgelegt auf "navigation" oder das erste navtitle-Element im topicmeta-Element der Schlüsseldefinition
Beispielsweise enthält die folgende Schlüsseldefinition in mehr als einem der möglichen Bereiche Text für die Texteinfügung:
<keydef keys="product-name">
<topicmeta>
<keytext>Acme Product</keytext>
<navtitle>New Acme Product</navtitle>
</topicmeta>
</keydef>
In diesem Fall wird der Inhalt des keytext-Elements als Text für die Schlüsselreferenz eingefügt, da dieses vor dem Inhalt des navtitle-Elements Vorrang hat.
Die folgenden Elemente sind Sonderfälle der Texteinfügung:
• link
Das Element link enthält nicht direkt Text. Es enthält optional die Elemente linktext und desc, die wiederum Text enthalten können. In diesem Fall werden die Elemente linktext und desc, falls sie im Element topicmeta der Schlüsseldefinition vorhanden sind, beim Publizieren des Dokuments in das Element link eingefügt.
• image
Das image-Element enthält ein alt-Element mit einer Textbeschreibung des Bildes. Falls ein leeres Element image eine Schlüsselreferenz zu einer Schlüsseldefinition mit Text für die Texteinfügung enthält, wird dieser Text während der Veröffentlichung in das image als Element alt eingefügt.
• Elemente, für die kein Textinhalt zulässig ist
Einige DITA-Elemente wie z.B. longdescref enthalten das Attribut keyref, lassen aber keinen Textinhalt zu. Diese Elemente können nicht für die Texteinfügung mittels Schlüsselreferenzen verwendet werden.
Die Benutzeroberfläche von Arbortext Editor bietet die folgenden Funktionen für das Einfügen von Text mit Schlüsselreferenzen:
• Das Dialogfenster
Schlüsselreferenzinformationen enthält die Option
Text, um den Textinhalt einschließlich des ggf. vorhandenen Markups in der Schlüsseldefinition anzuzeigen.
• Im Dialogfenster
Schlüsselreferenz einfügen wird der Textinhalt für eine Schlüsseldefinition einschließlich des Markups in der Spalte
Ressource angezeigt.
Wenn die erweiterte Einstellung ditatextkeyrefs auf on festgelegt ist, werden Nicht-Linkelemente, die eine Schlüsselreferenz zulassen, in der Dropdown-Liste Einfügen angezeigt.
• Leere Elemente, denen eine Schlüsselreferenz zugeordnet ist, zeigen den Namen der Schlüsselreferenz beim Bearbeiten eines DITA-Dokuments in Klammern an:
Dies wird nur für Nicht-Linkelemente in den Standard-Formatvorlagen für DITA-Dokumente unterstützt. Der Name der Schlüsselreferenz erscheint nur beim Bearbeiten von Dokumenten in Arbortext Editor. Beim Veröffentlichen des Dokuments wird er nicht angezeigt.