Arbeiten im XML-Editor
Einordnung
Bereich: Grundlagen
Schwierigkeitsgrad: ⭐☆☆☆☆
Vorkenntnisse: Aufbau einer Dokumentvorlage
Empfohlener nächster Artikel: Dokumentstruktur → Body
Zweck
Der XML-Editor ist das zentrale Werkzeug zur Entwicklung und Bearbeitung von XML-Dokumentvorlagen innerhalb des Developers.
Hier erfolgt die eigentliche Entwicklung der Dokumentvorlage. Sämtliche Inhalte, Formatierungen, Bedingungen und Dokumentlogiken werden innerhalb des XML-Codes erstellt oder bearbeitet.
Der Developer unterstützt den Redakteur dabei durch zahlreiche Funktionen, die das Erstellen und Pflegen einer XML-Dokumentvorlage erleichtern.
Der XML-Arbeitsbereich
Der XML-Editor zeigt den vollständigen XML-Code der aktuell geöffneten Dokumentvorlage an.
Über die Registerkarten des XML-Bereichs können mehrere Dokumentvorlagen oder Bausteine gleichzeitig geöffnet werden.
Beim Wechsel der Registerkarte synchronisiert der Developer automatisch die übrigen Arbeitsbereiche, beispielsweise:
- Komponentenbereich
- Dokumentvorschau
- Eigenschaften
Der Redakteur arbeitet dadurch jederzeit mit den Informationen der aktuell ausgewählten Dokumentvorlage.
Bearbeitung des XML-Codes
Der XML-Code kann direkt innerhalb des Editors bearbeitet werden.
Hierzu gehören beispielsweise:
- Erstellen neuer XML-Elemente
- Anpassen vorhandener XML-Strukturen
- Entfernen nicht mehr benötigter XML-Elemente
- Kopieren und Verschieben von XML-Code
Änderungen werden zunächst ausschließlich innerhalb der geöffneten Dokumentvorlage vorgenommen.
Erst nach einer Veröffentlichung werden sie Bestandteil der veröffentlichten Version.
Syntax-Highlighting
Zur besseren Lesbarkeit stellt der XML-Editor den XML-Code farblich strukturiert dar.
Hierdurch können unter anderem folgende Bestandteile leichter unterschieden werden:
- XML-Elemente
- Attribute
- Attributwerte
- Kommentare
- XML-Deklarationen
Das Syntax-Highlighting dient ausschließlich der besseren Übersicht und hat keinen Einfluss auf die Verarbeitung der Dokumentvorlage.
IntelliSense
Während der Bearbeitung unterstützt der Developer den Redakteur durch eine integrierte IntelliSense-Funktion.
Abhängig von der aktuellen Cursorposition schlägt IntelliSense ausschließlich diejenigen XML-Elemente, Attribute oder Werte vor, die an der aktuellen Stelle verwendet werden können.
Dabei unterstützt IntelliSense unter anderem bei:
- XML-Elementen
- Attributen
- vordefinierten Attributwerten
Beispielsweise werden innerhalb eines geöffneten XML-Tags zunächst die verfügbaren Attribute vorgeschlagen.
Nach Auswahl eines Attributs unterstützt IntelliSense – sofern für dieses Attribut vordefinierte Werte existieren – anschließend auch bei der Auswahl der zulässigen Attributwerte.
Hierdurch können XML-Strukturen schneller erstellt und Eingabefehler reduziert werden.
Hinweis
Die IntelliSense berücksichtigt den aktuellen Bearbeitungskontext und passt ihre Vorschläge entsprechend der Cursorposition innerhalb des XML-Codes an.
Die Unterstützung steht für einen Großteil der XML-Sprache von intracon:bk zur Verfügung. Je nach XML-Element oder Attribut kann der Umfang der Vorschläge variieren.
Die IntelliSense unterstützt ausschließlich bei der Eingabe der XML-Struktur. Ob eine XML-Konstruktion fachlich sinnvoll oder an der aktuellen Position zulässig ist, muss weiterhin durch den Redakteur beurteilt werden.
XML ordnen
Mit der Funktion XML ordnen wird die XML-Dokumentvorlage automatisch formatiert.
Hierbei werden insbesondere:
- Einrückungen vereinheitlicht
- Zeilenumbrüche angepasst
- die XML-Struktur übersichtlich dargestellt
Enthält die Dokumentvorlage Syntaxfehler, wird der Formatierungsvorgang abgebrochen und die Fehlerliste eingeblendet.
Automatische Anpassungen durch den Developer
Der Developer kann die Darstellung und den Inhalt des XML-Codes beim Laden, Ordnen oder Verarbeiten einer Dokumentvorlage automatisch anpassen.
Dabei sind zwei unterschiedliche Verhaltensweisen zu unterscheiden:
- Anpassung der XML-Darstellung
- Ergänzung technisch erforderlicher Informationen
Anpassung der XML-Darstellung
XML erlaubt es, Attribute eines Elements über mehrere Zeilen zu verteilen.
Beispiel:
<Reference
Name="21CKOPF"
RefId="1816b8e6-e3ef-431d-be73-317c7ae6a038"
RefName="21CKOPF">
</Reference>Diese Schreibweise ist syntaktisch korrekt und kann bei Elementen mit mehreren Attributen die Lesbarkeit verbessern.
Wird die Dokumentvorlage jedoch durch den Developer neu geladen oder die Funktion XML ordnen ausgeführt, kann der Developer die Attribute wieder innerhalb einer gemeinsamen Zeile darstellen:
<Reference Name="21CKOPF" RefId="1816b8e6-e3ef-431d-be73-317c7ae6a038" RefName="21CKOPF">
</Reference>Die fachliche und technische Bedeutung des XML-Elements wird dadurch nicht verändert. Es handelt sich ausschließlich um eine automatische Anpassung der Darstellung.
Hinweis
Manuelle Formatierungen des XML-Codes bleiben daher nicht zwingend dauerhaft erhalten.
Der Redakteur sollte sich nicht darauf verlassen, dass Zeilenumbrüche oder Einrückungen innerhalb eines öffnenden XML-Tags nach dem erneuten Laden oder Ordnen unverändert bestehen bleiben.
Ergänzung technisch erforderlicher Informationen
Der Developer kann XML-Elemente außerdem um Attribute oder Unterelemente ergänzen, wenn diese für die technische Verarbeitung benötigt werden.
Ein Beispiel hierfür ist die Definition einer Papierquelle innerhalb der <SectionProperties>.
Vom Redakteur erfasster XML-Code:
<PaperSource FirstName="Logo Duplex" OtherName="Logo Duplex">
</PaperSource>Der Developer kann daraus folgende Struktur erzeugen:
<PaperSource FirstName="Logo Duplex" OtherName="Logo Duplex">
<First>6</First>
<Other>6</Other>
</PaperSource>Die Elemente <First> und <Other> enthalten hierbei die technischen Kennungen der zugeordneten Papierarten.
Die Kennungen werden anhand der im Datacenter unter [Documents][Konfiguration][Papierarten] vorhandenen Konfiguration ermittelt.
| Information | Bedeutung |
|---|---|
FirstName |
Anzeigename der Papierart für die erste Seite |
OtherName |
Anzeigename der Papierart für die Folgeseiten |
<First> |
Technische Kennung der Papierart für die erste Seite |
<Other> |
Technische Kennung der Papierart für die Folgeseiten |
Developer-Tipp
Automatisch ergänzte Attribute oder Unterelemente sollten nicht ohne fachliche Prüfung entfernt werden.
Auch wenn der Redakteur ursprünglich nur einen Namen eingetragen hat, können die vom Developer ergänzten technischen Werte für die spätere Dokumenterzeugung erforderlich sein.
Auswirkungen auf die Bearbeitung
Automatische Änderungen durch den Developer können insbesondere auftreten bei:
- dem erneuten Laden einer Dokumentvorlage,
- der Funktion XML ordnen,
- der Auswahl oder Änderung konfigurierter Elemente,
- der Verarbeitung von systemseitig verwalteten Referenzen,
- der Zuordnung von Einstellungen aus dem Datacenter.
Dabei kann der Developer:
- Zeilenumbrüche innerhalb eines Tags entfernen,
- Einrückungen anpassen,
- Attribute neu anordnen,
- technische Attribute ergänzen,
- technische Unterelemente erzeugen,
- Namen mit den zugehörigen internen Kennungen verbinden.
Wichtig
Entscheidend ist nicht die optische Darstellung des XML-Codes, sondern dessen fachliche und technische Struktur.
Eine durch den Developer veränderte Darstellung bedeutet daher nicht automatisch, dass der Inhalt der Dokumentvorlage fachlich verändert wurde.
Referenz Syntax
Der Bereich Referenz Syntax stellt vorbereitete XML-Beispiele für häufig verwendete XML-Elemente bereit.
Die dargestellten Beispiele können per Copy & Paste übernommen und anschließend an die Anforderungen der jeweiligen Dokumentvorlage angepasst werden.
Die Referenz Syntax dient als Unterstützung bei der Entwicklung und ersetzt keine fachliche Prüfung der eingefügten XML-Struktur.
Bei Cursor einfügen
Viele Funktionen des Developers unterstützen das automatische Erzeugen von XML-Code.
Hierzu gehören beispielsweise:
- Parameter
- Bilder
- Formate
- Nummerierungen
- Kopf- und Fußelemente
- Bausteine
Über die Funktion Bei Cursor einfügen wird ein vorbereiteter XML-Code an der aktuellen Cursorposition eingefügt.
Der Developer übernimmt hierbei keine semantische Prüfung der Einfügeposition.
Der Redakteur muss daher sicherstellen, dass sich der Cursor innerhalb eines gültigen XML-Kontextes befindet.
XML-Wissen
Der Developer erzeugt ausschließlich XML-Code.
Ob dieser XML-Code an der gewählten Position fachlich zulässig ist, muss vom Redakteur entschieden werden.
Einrückung und Lesbarkeit
Die Einrückung dient ausschließlich der besseren Übersicht innerhalb der XML-Dokumentvorlage.
Sie besitzt keinen Einfluss auf die spätere Dokumenterzeugung.
Insbesondere bei umfangreichen Dokumentvorlagen erleichtert eine saubere Einrückung jedoch das Verständnis der XML-Struktur erheblich.
Es wird empfohlen, nach umfangreichen Änderungen regelmäßig die Funktion XML ordnen auszuführen.
Fehler während der Bearbeitung
Syntaxfehler werden grundsätzlich erst bei einer XML-Prüfung erkannt.
Diese erfolgt beispielsweise beim:
- XML ordnen
- Veröffentlichen
Wird ein Fehler erkannt, erscheint die Fehlerliste unterhalb des XML-Editors.
Weitere Informationen hierzu finden Sie im Kapitel Fehleranzeige & Lesezeichen.
Veröffentlichung
Änderungen innerhalb des XML-Editors wirken sich zunächst ausschließlich auf die aktuell geöffnete Dokumentvorlage aus.
Erst durch eine Veröffentlichung werden die vorgenommenen Änderungen Bestandteil der veröffentlichten Version und stehen für neu erzeugte Dokumente zur Verfügung.
Bis zu diesem Zeitpunkt können Änderungen beliebig erweitert, angepasst oder verworfen werden.
Best Practices
- Arbeiten Sie mit einer sauberen XML-Struktur und nutzen Sie regelmäßig XML ordnen.
- Verwenden Sie IntelliSense als Unterstützung bei der Eingabe neuer XML-Elemente.
- Nutzen Sie Bei Cursor einfügen, um wiederkehrende XML-Strukturen schneller zu erstellen.
- Kontrollieren Sie Änderungen regelmäßig mithilfe der Dokumentvorschau.
- Veröffentlichen Sie Änderungen erst nach erfolgreicher Prüfung der XML-Struktur.
Technischer Hinweis
Der XML-Editor stellt die vollständige XML-Dokumentvorlage dar.
Der Developer interpretiert den XML-Code während der Bearbeitung nicht. Die eigentliche Verarbeitung erfolgt erst während der Dokumenterzeugung durch die Render-Engine von intracon:bk.