XML – ein strategisches Instrument für Archive?*
* Basiert auf dem Artikel Softening the borderlines of archives through XML – a case study, Proceedings of the ERPANET workshop 'XML as a Preservation Strategy', Urbino/Italy, October 2002.- Stephan Heuscher, Schweizerisches Bundesarchiv, verantwortlich für den Bereich Datenarchitektur im eGovernment-Projekt ARELDA
- Peter Keller-Marxer, Schweizerisches Bundesarchiv, Leiter Fachstelle ARELDA und Gesamtprojektleiter eGovernment-Projekt ARELDA
Es gibt kaum ein Anwendungsgebiet der Informatik, in dem heute die Extensible Markup Language (XML)1 nicht in irgendeiner Form zum Einsatz kommt, vor allem beim Austausch von strukturierten Informationen zwischen unterschiedlichen Systemen. Im Verlags-, Bibliotheks- und Archivbereich ist XML nichts grundlegend Neues, handelt es sich doch um eine reine Teilmenge der Standardized General Markup Language (SGML, ISO-Standard 8879:1986), die in diesen Bereichen seit fast zwanzig Jahren bekannt ist. Als ein «SGML für den Hausgebrauch» hat XML dieser komplexen und schwierig zu handhabenden Auszeichnungssprache innert weniger Jahre zum Sprung aus hochspezifischen Fachanwendungen in einen kaum mehr zu überblickenden Kreis von Anwendungsgebieten verholfen. Es ist deshalb auch nicht das längst von SGML her bekannte Konzept einer semantischen Auszeichnungssprache für strukturierte Daten, das XML für Archive und Bibliotheken heute interessant macht, sondern die Tatsache, dass es sich bei XML um einen in der Industrie weltweit akzeptierten und verbreiteten Standard handelt, für den (ganz im Gegensatz zu SGML) eine breite Palette von günstiger oder kostenfreier Software zur Verfügung steht, mit der sich XML-Dokumente in einfacher Weise erstellen und verarbeiten lassen. Zudem unterstützt heute eine Vielzahl gängiger Anwendungssoftware (z.B. im Datenbankbereich) wenigstens den Import und Export ihrer Daten in XML-Formaten. Damit entsteht die neue Situation, dass zwischen den allgemeinen und vielfältigen Anwendungen der Erzeuger von Daten und den spezifischen Archivapplikationen, welche solche Daten aufnehmen sollen, keine grundsätzlichen technischen Barrieren mehr bestehen, sondern sich mit Hilfe des XML-Einsatzes auf beiden Seiten relativ einfach und effizient «offene Datenkanäle» erstellen lassen.
XML: strukturierte Daten verständlich bewahren?
In der aktuellen Diskussion um den XML-Einsatz bei der Langzeitarchivierung wird oft vergessen, dass XML selbst keine Archivierungsstrategie resp. keinen Archivierungsansatz darstellt, sondern nur eine Technologie ist, also ein Instrument zur Erarbeitung von möglichen Archivierungslösungen. Ein verbreitetes Missverständnis ist auch, dass XML das Ende des Datenformat-Wirrwarrs darstelle und XML-Dokumente grundsätzlich «verständlich» oder gar «selbsterklärend» seien. Beides ist falsch. XML ist kein Format, sondern eine Definition zur Definition von semantischen Formaten. Es bildet die Grundlage einer stetig wachsenden Zahl von XML-Formaten.2 Als Technologie ist XML in gleicher Weise Obsoleszenzen unterworfen wie andere Datenformate. Niemand kann heute voraussagen, wie sich XML weiterentwickeln wird und ob es XML in 20 Jahren überhaupt noch gibt. XML-Dokumente sind zwar reine Textdokumente und damit «human-readable», also im Gegensatz zu binären Daten für den Menschen unmittelbar lesbar; damit ist jedoch die Semantik, die ein XML-Dokument auszeichnet, nicht unbedingt auch unmittelbar verstehbar. Dies sollen die beiden trivialen XML-Dokumente verdeutlichen (siehe Kasten). Sie enthalten beide dieselbe Information, nämlich zwei Einträge aus einer Liste von Personen mit deren Namen, Namenskürzel, Telefonnummer, Computer-Login und Büro.
XML-Dokumente (Beispiele, siehe Text)
«Unverständliches» XML-Dokument: <?xml version="1.0"?> <a a="BAR"> <p l="U1977" k="Hs" t="0313241095" r="E43">Heuscher</p> <p l="U1976" k="Zt" t="0313250017">Zürcher</p> </a> «Verständliches» XML-Dokument: <?xml version="1.0" encoding="UTF-16"?> <a:Angestellte amt="BAR" xmlns:a="http://namespaces.arelda.ch/mitarbeiterliste" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://namespaces.arelda.ch/mitarbeiterliste http://schemata.arelda.ch/mitarbeiterliste_2003.xsd"> <a:Person login="U1977" kuerzel="Hs" telefon="+41313241095" raum="E43">Heuscher</a:Person> <a:Person login="U1976" kuerzel="Zt" telefon="+41313250017">Zürcher</a:Person> </a:Angestellte> |
SIARD: Software-Invariante Archivierung aus Relationalen Datenbanken
SIARD ist eine vom Bundesarchiv und der Firma Trivadis AG in der Programmiersprache Java entwickelte Client-Software für relationale Datenbank-Systeme. Sie stellt über ein Netzwerk eine Verbindung zu jeder beliebigen Datenbank her, die eine sog. JDBC-Schnittstelle besitzt (was beinahe auf alle Datenbank-Produkte zutrifft). SIARD ist fähig, die Informationen über alle in der Datenbank enthaltenen Elemente (Kataloge, Schemata, Tabellen, Columns, Views, Constraints, Datentypen etc.) zu analysieren und diese komplette Datenstruktur zusammen mit der eigentlichen Datenbasis aus der Datenbank zu extrahieren und in Form von reinen Textdateien, unabhängig von jeglicher Hersteller-spezifischer Software abzuspeichern. Als Beschreibungssprache für die Datenbank-Struktur dient die «Database Definition Language» von SQL3 gemäss ISO-Standard ISO/IEC 9075. Um dies zu erreichen, wandelt SIARD (automatisch oder nach Benutzereingriff) nicht SQL3-konforme, herstellerspezifische Elemente in konforme Elemente um. Wo dies nicht möglich ist, werden diese von der Archivierung ausgeschlossen. Die ausgeschlossenen Elemente und die Gründe für deren Ausschluss werden als Teil des SIARD-Archivs dokumentiert. Nun erstellt SIARD ein «Zwischenarchiv», welches aus verschiedenen Text-Dateien besteht: SQL3-Dateien mit der Datenbankstruktur, «Flachtext»-Dateien mit dem Inhalt der Datenbank-Tabellen (den Daten) und eine XML-Datei. Diese XML-Datei enthält redundant die Struktur der SQL3-Dateien, sie enthält aber auch die Informationen zum Archivierungsprozess (z.B. Angaben über die von der Archivierung ausgeschlossenen Elemente) und allgemeine Angaben über die archivierte Datenbank (z.B. Software-Versionen, Datenmengen etc.). Vor allem enthält diese XML-Datei aber eine vordefinierte Menge von noch leeren Metadatenfeldern zur manuellen Erschliessung und Beschreibung der Datenbank. Insbesondere sind dies Felder, die sich auf archivische und nicht-technische Informationen beziehen, welche zum langfristigen Verständnis der Daten nötig, jedoch nicht in der Datenbank hinterlegt sind. Hier handelt es sich vor allem um eine allgemeine Beschreibung der Datenbank, z.B. der Provenienz und dem Entstehungs- und Verwendungszusammenhang sowie um Klartext-Beschreibungen von Tabellennamen, Keywords, Code-Listen etc., also jene Angaben, welche einen dokumentierten Datenkatalog ausmachen. Der Inhalt dieser Felder wird vom Benutzer in SIARD nachgetragen und ist im endgültigen SIARD-Archiv enthalten. SIARD-Archive haben alle dieselbe normierte Struktur, unabhängig vom originalen Datenbanksystem, aus dem archiviert wurde. Die Langzeitarchivierung von SIARD-Archiven ist aber vor allem auch unabhängig von jeglicher spezifischer Software und basiert ausschliesslich auf vollständig und offen dokumentierten Formatstandards (SQL3, XML, Unicode-Text). SIARD-Archive können zum Zwecke der Benutzung auch in Zukunft mit marginalem Aufwand in jedes proprietäre Datenbanksystem zurückgeladen werden. Dafür ist einzig erforderlich, dass dieses Produkt die Datenbanksprache SQL unterstützt. Dieser Standard stellt seit rund zwanzig Jahren die Basis fast aller relationaler Datenbanken dar; was sich auch in den nächsten zehn Jahren kaum ändern wird. Sollte SQL trotzdem einmal obsolet werden, so garantiert die strikte SQL3-Konformität der SIARD-Archive eine relativ einfache Formatmigration zum zukünftigen, neuen Standard. XML erfüllt bei SIARD vor allem vier Funktionen:- Software-unabhängige Langzeitarchivierung sowie format-unspezifische Integration von technischen und archivisch-beschreibenden Metadaten, basierend auf einem normierten Metadatenmodell mit Überprüfbarkeit der Konsistenz sowie der Möglichkeit zur Historisierung (Versionierung) dieser Metadatenmodelle (durch XML-Schema);
- Vereinfachung einer späteren Migration von SQL3 zu einem zukünftigen anderen Datenbeschreibungsformat (durch XSLT und die semantische Auszeichnung der SQL-Elemente); ausserdem: Konservierung beliebiger originaler und multilingualer Schriftzeichensätze aller Daten (Unterstützung von Unicode durch XML);
- Direkte Darstellbarkeit und Recherchierbarkeit aller Metadaten (inkl. Erschliessung und allg. Beschreibung) eines SIARD-Datenbankarchivs mit einem Webbrowser (durch XSLT und XQuery);
- Definition und einfacher XML-Import von Subsets der normierten SIARD-Erschliessungsmetadaten in ein proprietäres Verzeichnungssystem (im Bundesarchiv: «scopeArchive»)
AMDA: Erschliessung von Tonaufnahmen des Parlaments
Dieses Beispiel zeigt einen anderen Aspekt des XML-Einsatzes, nämlich die Metadaten-Akquisition aus mehreren amtsinternen und externen, sehr heterogenen Datenquellen. Den Primärdatenbestand bilden die Akzessionen der Tonaufzeichnungen aus dem Parlament. Diese liegen im Bundesarchiv für den Zeitraum 1980 – 2001 digital als retrospektive Digitalisierungen von analogen Tonbändern vor. Die Erschliessungsdaten dieses Zeitraums liegen in der Form von Microsoft Access Datenbanken vor (Erschliessung mit dem Produkt «Augias»). Seit 2002 werden die Debatten vom Bundesarchiv im Parlament direkt digital aufgezeichnet. Die dazugehörigen elektronischen Metadaten stammen seit 1999 aus zwei unterschiedlichen Systemen, dem Geschäftsverwaltungssystem «Curia Vista» und dem Stenographie-System (Datenbank Amtliches Bulletin) des Parlaments, und sind auch auf dem Internet verfügbar9. Diese Metadaten werden dem Bundesarchiv von den Parlamentsdiensten seit 2002 in einer XML-Rohform pro Session zur Verfügung gestellt. Eine dritte Metadatenquelle bildet die manuelle Verzeichnung und Zusatzerschliessung der digitalen Tonaufnahmen durch das Bundesarchiv. Die digitalen Metadaten aus diesen vier sehr heterogenen Quellen – MS Access für alte Bestände, Datenbanken «Curia Vista» und «Amtliches Bulletin» für neue Bestände, manuelle Nacherschliessung für alle Bestände – müssen mit den eigentlichen Primärdaten (geschnittene und entrauschte Tondateien im Format WAVE) verbunden werden. Und last but not least: Eine Teilmenge der Erschliessungsdaten muss in das Verzeichnungssystem des Bundesarchivs überführt werden (Produkt: «scopeArchive»).Fazit
Die Erfahrungen bestätigen die Politik des Bundesarchivs, XML primär für die Metadaten, d.h. für Daten, welche Daten beschreiben, einzusetzen. Für diesen Zweck gibt es unserer Ansicht nach noch keine Standards, die sich durchgesetzt haben und unseren Anforderungen genügen. Zur Auswahl standen in erster Linie die Encoded Archival Description (EAD)10 und der Dublin Core Metadata Standard (DC)11. Dank der relativ einfachen Format-Umformung bildet ein eigenes XML-Format hier eine ideale Zwischenlösung, bis sich ein standardisiertes XML-Archiv-Format durchgesetzt hat. Aus heutiger Sicht ermöglicht XML eine Software-unabhängige und migrationstolerante Langzeitarchivierung von Metadaten inkl. dazugehöriger Metadatenmodelle (Ontologien) sowie die Software-unabhängige Definition von Datenbeziehungen und Datenrecherchen. In den Erfahrungen hat sich insbesondere gezeigt, dass sich der Datenaustausch zwischen Systemen innerhalb und ausserhalb des Bundesarchivs und die Datenintegration mehrerer heterogener Datenquellen mit XML günstig und technisch einfach realisieren lassen. Fussnoten 1 http://www.w3.org/TR/REC-xml2 Über 500 XML-Formate finden sie unter http://www.oasis-open.org/cover/xml.html#applications
3 http://www.w3.org/TR/REC-xml-names/
4 http://www.w3.org/TR/xmlschema-0/
5 http://www.w3.org/TR/xpath
6 http://www.w3.org/TR/xptr/
7 http://www.w3.org/TR/xslt
8 http://www.w3.org/TR/xquery/
9 http://www.parlament.ch/ab/frameset/d/index.htm (deutsch), http://www.parlament.ch/ab/frameset/f/index.htm (französisch)
10 http://www.loc.gov/ead/
11 http://dublincore.org/
Alle Links haben am 29. Oktober 2005 funktioniert.