XSLT – XML Dateien in die richtige Form bringen

Bei meiner Arbeit im META Projekt (und zuvor für meine Magisterarbeit) habe ich viel mit XSLT zu tun. Zur Info – Wikipedia sagt: XSLT, das ist eine Programmiersprache zur „Transformation von XML-Dokumenten„.

Das XSLT-Skript, welches die XML-Daten der Genderbibliothek umwandelt, umfasst nach heutigem Stand knapp 2000 Zeilen. Im Skript werden alle Objektarten homogenisiert (z.B. Buch, Hochschulschriften, Videos etc.) und mit zusätzlichen Informationen (z.B. Sprachcodes, Projektmarkierungen) angereichert.

Die Umwandlung der Rohdaten für VuFind erfolgt in zwei Schritten:

  1. Die Rohdaten werden in ein Zwischenformat umgewandelt, das wir liebevoll als Arbeitsxml bezeichnen (ein Preis für die Namensgebung wird es wahrscheinlich nicht geben)
  2. Die Arbeitsxml wird in das SOLR spezifische XML umgewandelt.

Letztlich sind das dieselben Schritte, die auch größere Player, wie die DDB, bei ihrer Datentransformation leisten muss – nur in einem kleinerem Maßstab.

Ziel dieser Arbeit ist es die Daten so aufzubereiten (Homogenisieren & Anreichern), dass sie in beliebig viele Formate umgewandelt werden kann. Denkbar sind Formate wie Marcxml, MODS oder EAD. An erster Stelle steht für das META Projekt und die Genderbibliothek allerdings die Integration der Daten in VuFind.

Achso – was kleinerer Maßstab heißt? Die Umwandlung der gesamten Datensätze dauert 111 Minuten und die Dateigröße schwillt von ca. 50 MB (ca. 58000 Datensätze) auf das Dreifache, ca. 150 MB, an.

… wenn ich das so schreibe, klingt es gar nicht mehr so viel. So oder so es steckt eine Menge Arbeit drin.

Zu sehen ist ein Bildschirmfoto eines XSLT Skriptes

Auszug aus dem XSLT-Skript für die Genderbibliothek

2 Gedanken zu “XSLT – XML Dateien in die richtige Form bringen

  1. Daniel Zimmel schreibt:

    Hi Marius,

    wow, 111 Min. ist lang.

    Hier dauert die Transformation von 200 MB Text (CSV) -> XML -> XSLT -> XML (350 MB) keine Viertelstunde auf einem älteren Laptop.

    Wo hängts? Dein XSL sieht allerdings auch komplexer aus mit replace etc., ist wahrscheinlich ziemlich lang, oder?

    P.S. irgendwie ulkig, diese sexistische Werbungseinblendung („3 steps to changing your financial life“ mit halbnackter Frau in dickem Auto) direkt unter der Zeile „Auszug aus dem XSLT-Skript für die Genderbibliothek“.
    Liegt das jetzt an meiner Surfpräferenz?

  2. @Daniel ja das Skript ist recht aufwendig. Für einige Transformationen wird das ganze Dokument durchsucht. Immer dann wenn Beziehungen der Datensätze untereinander hergestellt werden.
    Inzwischen ist das Skript schon besser aber noch nicht optimal.
    Das mit der Werbung lässt sich leider nicht von mir beeinflussen und eine werbefreie Seite derzeitig nicht leistbar. Dass es eine sexistische Werbung sein muss, ärgert mich allerdings.
    Vielen Dank für die Rückmeldung,
    Marius

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s