
Für die optimale Verarbeitung von XML-Daten mit UltraXML sollte die Verarbeitungslogik vorweggenommen werden. Wichtige Zielsetzungen beim systemübergreifenden Zusammenspiel ist
 | so einfach wie möglich
|  | nur formatierungsrelevante Elemente übergeben
|  | gleiche Inhalte mit gleichen Elementnamen versehen
|  | ähnliche Inhalte zusammenfassen
|  | Tabellen mit einem bekannten Schema übergeben (HTML oder Cals)
|  | Varianten über Attribute oder zusätzliche hierarchische Ebenen definieren
|  | der sequentiellen Verarbeitungsweise Rechnung tragen
|  | aktuelles Encoding anwenden |
Nur mit einem layoutnahen XML können die globalen Ziele
 | einfaches und kostengünstiges Stylesheet
|  | hohe Performance
|  | Automatisierungsgrad von 100%
|  | Transparenz, einfache Nachbearbeitung |
erreicht werden.
Publiman, unser Publikationsmanager, ist das ideale Softwaretool zur Definition von einfachen und komplexen Datenausgaben. Datenauswertungen lassen sich im Nu definieren, unter Berücksichtung der spezifischen Anforderungen des Zielsystems.
Wichtige Schritte zum layoutnahen XML
In UltraXML werden XML-Daten mit Hilfe der Standards XPath und XSLT formatiert. Allerdings handelt es sich dabei um ein Subset der beiden Technologien. Die folgende Tipps sollen bei der Vorbereitung der XML-Daten helfen.
[So einfach wie möglich]
- klare Struktur
- kurze und prägnante Namen für Elemente und Attribute
- wenn möglich alle Namen klein schreiben
- gleiche Inhalte immer mit gleichen Namen versehen
[Nur formatierungsrelevante Elemente übergeben]
Nach Möglichkeit sollte sämtlicher Ballast weglassen werden d.h. nur Elemente und Attribute, die für die Formatierung relevant sind, sollten im XML-Strom mitgegeben werden. Gerade bei grossen Publikationen (XML-File UTF-16 ab 10 MB) sind "schlanke Daten" für eine tragbare Performance wichtig.
[Gleiche Inhalte mit gleichen Elementnamen versehen]
Beispiel: Wird ein Produkt z.B. über verschiedene Datenfelder wie
- Beschreibung 1
- Beschreibung 2
- Beschreibung 3
beschrieben, wäre ein optomales Übergabeformat
"<produktbeschreibung>
<beschreibung typ="Beschreibung1">Text</beschreibung>
<beschreibung typ="Beschreibung2">Text</beschreibung>
<beschreibung typ="Beschreibung3">Text</beschreibung>
</produktbeschreibung>"
Dadurch können gemeinsame Formatierungkriterien für die Beschreibung definiert werden, die zusätzlich über Attribute verfeinert werden können. Innerhalb der "Klammer" <produktbeschreibung> können mit "first of type" und "last of type" Abstände zu vorhergehenden resp. nachfolgenden Inhalten perfekt gesteuert werden.
[Tabellen mit einem bekannten Schema übergeben]
UltraXML versteht sich gut auf HTML- und Cals-Tabellen. Wichtig ist, dass Tabellen als in sich geschlossene Objekte mit einem klar definierten Header und Body übergeben werden. Zusätzlich ist es von Vorteil, wenn das Tabellenelement attributiv mit der Spalten- und Zeilenzahl ergänzt wird.
Spalten- und Zeilenzahl werden oft zur Steuerung der Darstellung verwendet. Grundsätzlich können die Elementnamen frei definiert werden. Für die Transparenz sollte aber eine Anlehnung an HTML- oder Cals-Tabellen gesucht werden. Überspanner und Linien müssen als Attribute auf den entsprechenden Elementen übergeben werden.
[Varianten über Attribute oder zusätzliche Hierarchie definieren]
Um einen möglichst kleinen Stylesheetaufwand zu haben, sollte die Datenhierarchie optimal eingesetzt und allgemein gültige Formatierungskriterien sollten möglichst weit "oben" platziert werden. Über die Vererbung werden die Kriterien dann weitergegeben.
Beispiel:
"<bilder>
<bild typ="klein">Name</bild>
<bild typ="mittel">Name</bild>
</bilder>"
Über die Elemente "bilder" und "bild" können die allgemeinen Formatierungskriterien definiert, über das Attribut "typ" verfeinert werden.
[sequentielle Verarbeitungsweise]
UltraXML arbeitet sequentiell von oben nach unten. Mit Hilfe von XPath können die zu formatierenden Knoten gezielt ausgewählt werden, wobei natürlich auch Geschwisterelemente einbezogen werden können. Allerdings ist gerade der Einbezug von Geschwisterelementen gefährlich, da die Performance darunter leidet. Abfragen auf Geschwisterelemente können in gewissen Fällen durch die Ergänzung von XML-Elementen mit Attributen vermieden werden, was allerdings eine flexible XML-Aufbereitung bedingt.
[aktuelles Encoding]
Die Übergabe der Daten sollte, wenn immer möglich, in UTF-16 oder in UTF-8 erfolgen. Spezialzeichen können als Referenzen übergeben werden. Referenzen können innerhalb von UltraXML gezielt gemappt werden.
|