TabML - Allgemeines
Stand:19.12.2003| Table Markup Language (TabML) 1.0
TabML (Table Markup Language) ist eine auf XML
(Extensible Markup Language) 1.0 basierende Auszeichnungssprache für
Tabellen. Im Vordergrund der Entwicklung steht der Einsatz in der amtlichen
und beschreibenden Statistik. TabML soll darüberhinaus grundsätzlich
überall dort Verwendung finden können, wo Tabellen maschinell
erzeugt oder gelesen werden.
Zur Zeit ist TabML in der Version 1.0 freigegeben. Diese umfasst das Layouformat. In der weiteren Planung befinden sich die Version 1.1 mit Erweiterungen des Layoutformates und daran anschließend die Version 2.0, die das Matrixformat implementieren wird. zum Download der verfügbaren Dokumente Stand: 13.03.2002
Maschinell erzeugte Tabellen sind traditionell eher Endprodukte, die überwiegend in einer für den Ausdruck geeigneten Form erstellt werden, ansonsten aber keine Weiterverarbeitung zulassen. Meist ist es unmöglich, solche Tabellen mit generischen Programmen zu verarbeiten, da alle Informationen über die Struktur und den Inhalt (Metadaten) in den Anwendungen verborgen sind. Solche Tabellen sind für diese Art der Weiterverarbeitung praktisch "tot" und ohne eine maßgeschneiderte Anwendung nicht mehr "zum Leben zu erwecken". Gleichzeitig werden an die Repräsentation und Verfügbarkeit statistischer Ergebnisse höhere Anforderungen gestellt. Tabellen sollen schneller und in einer Vielzahl unterschiedlicher Formate zur Verfügung stehen, nicht nur beim Endkunden, sondern auch bei den internen Abnehmern wie den Fachabteilungen, die die Weiterverarbeitung zunehmend in eigener Regie betreiben, um wiederum den eigenen Anforderungen oder denen ihrer Kunden zu genügen. Das Produkt Tabelle tritt dabei in zwei Formen auf: als Endprodukt für die interne oder externe Präsentation statistischer Ergebnisse und als vorwiegend internes oder technisches Zwischenprodukt, z.B. für die Speicherung in Informationssystemen.
Die Lösung zu diesem Problem kann nicht darin bestehen, vorhandene Anwendungen zu erweitern, um Tabellen in allen möglichen, letztendlich wieder anwendungsspezifischen Formaten zu erzeugen. Sie liegt darin, Tabellen so zu erzeugen, daß sie von generischen Anwendungen in solche Formate konvertiert werden können, also in einem quasi "neutralen" Format. Dies reduziert die Aufwände der Softwarepflege dauerhaft auf ein Minimum und erweitert umgekehrt die Möglichkeiten, weitere Formate bei Bedarf zu bedienen. Zugleich erhöht dies die Flexibilität bei der Tabellenproduktion, Damit dies erreicht werden kann, müssen die Tabellen mit den in den Anwendungen verfügbaren Metadaten ausgestattet werden, und zwar in einem einheitlichen Format. Dieses Format zu formulieren ist das primäre Ziel von TabML. Darüberhinaus sollen folgende Einzelziele erreicht werden:
TabML 1.0 und die weitere Entwicklung Ziel für die Freigabe von TabML 1.0 ist die Definition allgemeiner Metadaten und des Layoutformates. Die nächste Version von TabML, voraussichtlich TabML 2.0, wird eine komplette Beschreibung des Matrixformates enthalten. Die Entwicklung (und der Einsatz) von TabML geschieht unter zwei gegensätzlichen Randbedingungen: vielen Anwendungen den Einsatz von TabML zu ermöglichen bei gleichzeitig großer Beschreibungstiefe. Dies erfordert, daß viele Elemente optional bleiben müssen. Andererseits werden, was die maschinelle Tabellenerstellung betrifft, nur wenige Anwendungen – wenn überhaupt – das volle Potential von TabML ausschöpfen können, indem sie alle Elemente automatisch bis in die feinsten Verästelungen beschreiben. Dies gilt z.B. für die allgemeinen Metadaten und die Stilattribute des Layoutformates. Es ist davon auszugehen, daß in vielen Fällen eine Nachbearbeitung gewünscht oder notwendig ist, abhängig u.a. davon, wie individuell die konkreteTabellen gestaltet werden soll. Trotzdem ist auch bei automatischer Weiterverarbeitung eine erhebliche Verbesserung gegenüber den bisherigen Verfahren zu erwarten, da i.d.R. ein deutliches Plus an Metadaten für generische Anwendungen nutzbar sein wird. Andererseits ist z.B. eine Anwendung denkbar, die völlig unstrukturierte Tabellen aus Großrechneranwendungen einliest und interaktiv gesteuert TabML-Strukturen und -Metadaten hinzufügt.
TabML 1.0 ist in Form einer XML-DTD implementiert. Die (parallele oder Neu-) Implementierung mit XML Schema ist möglich, sobald die technischen Voraussetzungen vorliegen, d.h. die Einführung von XML-Schema als Standard und eine ausreichende Unterstützung durch marktgängige Software. Die Vorzüge von XML-Schema liegen außer in der mächtigeren Beschreibungssprache darin, daß ein großer Teil der Konformitätsprüfungen von den TabML-Applikationen in die Parser verlegt wird. Dies ist nicht unerheblich, da mit den Mitteln einer DTD nur eine kleine Menge der Konformitätsregeln spezifiziert werden kann. Für die semantische Implementierung von TabML, also die Benamung der Elemente, Attribute und Attributwerte, wurde die englische Sprache gewählt, damit der Austausch von Dokumenten mit ausländischen Institutionen (z.B. den nationalen statistischen Ämtern oder Eurostat) nicht behindert wird. Um die Integration von TabML in XML-basierten Dokumenten zu erleichtern, wurde entsprechend den durch das Wordwide Web Consortiums (W3C) veröffentlichten Empfehlungen für Namensräume folgender Namensraum für TabML-Dokumente definiert:
Kern des TabML-Konzepts ist die Idee, daß eineTabelle in zwei "Formaten" existieren kann, die gleichzeitig zwei Zuständen während des Prozesses der Tabellenerstellung entsprechen: der Erzeugung der Tabellenmatrix im Speicher und der Ausgabe der Matrix in einem druckfähigen Format, also mit komplettem Layout. Mit TabML sollen beide Formate – als Matrixformat und Layoutformat bezeichnet – dargestellt werden können, wobei mit jedem Format durchaus unterschiedliche Ziele verfolgt werden. Prinzipiell kann eine Tabelle in beiden Formaten in einem TabML-Dokument gespeichert werden, wobei beachtet werden muß, daß die i.d.R. sequentielle Tabellenerstellung die Zwischenpufferung eines der Formate erfordert. Ein anderes Problem ist die Entstehung von Inkonsistenzen zwischen den Formaten, wenn Änderungen nicht parallel erfolgen. Durch das Layout erhält eine Tabelle ein Erscheinungsbild, dem besonders bei Ver-öffentlichungstabellen konkrete Vorstellungen und Gestaltungsabsichten zugrunde liegen. Meist jedoch gehen im Layout - vor allem bei der traditionellen Erzeugung druckfähiger Tabellen auf Großrechnersystemen - wichtige, oft fast alle, Strukturinformationen und Metadaten verloren. Die Folge ist, daß z.B. eine druckfertige Tabelle nur schwer in andere Formate konvertiert werden kann, schon gar nicht mit Hilfe generischer Programme. Das Layoutformat von TabML soll helfen, diese Beschränkungen zu überwinden, indem es einerseits versucht, die vollständige Layoutinformation zu bewahren, und andererseits die Tabelle so zu strukturieren und mit Metadaten auszustatten, daß generische Programme sinnvoll auf die Bestandteile der Tabelle und ihre Attribute zugreifen können, auch, um die ursprüngliche Gestaltung zu verändern. Hauptzweck des Layoutformates ist es, die Konvertierung in verschiedene Präsentationsformate, wie PDF, RTF und HTML, zu erleichtern, ohne jeweils den kompletten, oft komplexen und tabellenspezifischen Prozeß der Layoutgenerierung wiederholen zu müssen. Das Layoutformat besitzt so einen eher statischen Charakter. Sein Zweck ist nicht, umfangreiche Manipulationen am Inhalt einer Tabelle, speziell das Entfernen oder Hinzufügen von Bestandteilen, zu erlauben; dem widerspricht auch, daß mit einem Layout versehene Tabellen den Charakter eines Endproduktes haben. Im Vordergrund steht die Möglichkeit, „fertige“ Tabellen schnell, sicher, mit geringem Aufwand und durch generische Anwendungen (Konverter) in verschiedenen Formaten und auf verschiedenen Medien speichern oder präsentieren zu können. Darüberhinaus bietet auch das Layoutformat eingeschränkte Möglichkeiten, Informationen für die Auswertung von Tabellen bereitzustellen. Das Layoutformat beruht auf der traditionellen Tabellengestaltung, welche für die Veröffentlichung mitttels Druckmedien gedacht ist, doch auf graphische Elemente weitgehend verzichtet, und den technischen Bedingungen der Produktionssysteme, die in der Großrechnerwelt entstanden sind. Die einzigen hier noch vorhandenen Strukturinformationen sind die Einteilung in Seiten und Zeilen. Diese finden sich im Layoutformat wieder und werden von weiteren Strukturelementen ergänzt. Eine aus dem Anwendungssystem SPLV herstammende Besonderheit ist die Möglichkeit, eine Seite in mehrere Bahnen zu unterteilen, die in TabML als slicebezeichnet werden; im Druck zwei- oder mehrseitige Tabellen können so durchgängig in einer Seite zusammengefaßt werden. Ein gleichermaßen von SPLV und HTML übernommenes Merkmal ist die Aufteilung der Tabellen in vertikale Kolonnen. Das Layoutformat hält Elemente bereit, welche die Kolonnen- und Bahnstruktur einer Tabelle beschreiben können.
Das Matrixformat ist nicht Bestandteil von TabML
1.0. Die hier nicht detailliert erläuterte folgende Graphik zeigt
die mögliche, noch unvollständige Struktur der Matrix und der
Beschreibungselemente.
|
|||||||||||||||
|
Die Tabellenwerte sind in den Zellen zweidimensionaler Matrizen gespeichert. Im Extremfall besteht eine Matrix aus nur einer Zelle. Eine Referenzmatrix verweist für jede Zelle mit einem als Deskriptor bezeichneten Element auf Beschreibungselemente, die in verschiedenen Gruppen hierarchisch angeordnet sind: Kopfspalten(K), Vorspalten(V), Aktionen(A) und weitere, den Matrizen übergeodrnete Dimensionen(D). „(..)“ gibt eine Hierarchiestufe an. Die Hierarchiestufe einer Aktion bezieht sich auf die entsprechende Hierarchiestufe einer gestaffelten Tabelle. Zu einer (gestaffelten) Matrix gehört deshalb die Angabe ihrer Hierarchiestufe. Die eigentlichen Beschreibungselemente könnten optional (und redundanzfrei) außerhalb der Verweisstruktur gespeichert werden; die Verweisstruktur würde dann lediglich die Beziehungen zwischen den Beschreibungselementen definieren. Über die Zelldeskriptoren können
bei Bedarf weitere, zellenbezogene Metadaten verfügbar gemacht werden.
In Betracht kommen beispielsweise Regeln für die Geheimhaltung oder
(Verweise auf) Fußnoten.
|
|||||||||||||||