Entwicklung eines XML-Webworkflows am Beispiel der HTWK-Zeitschrift»Streifband«

Größe: px
Ab Seite anzeigen:

Download "Entwicklung eines XML-Webworkflows am Beispiel der HTWK-Zeitschrift»Streifband«"

Transkript

1 Entwicklung eines XML-Webworkflows am Beispiel der HTWK-Zeitschrift»Streifband«Workflowautomatisierung unter Verwendung von Microsoft Word 2007, XSLT, DocBook und abschließender Ausgabe im XHTML-Format DIPLOMARBEIT Hochschule für Technik, Wirtschaft und Kultur Leipzig (FH) Fachbereich Medien Studiengang Verlagsherstellung vorgelegt von: Oliver Zmorek, geb. am in Lutherstadt Wittenberg betreut von: Prof. Dr. rer. pol. Ulrich Nikolaus Leipzig, den

2 Biobliografischer Nachweis Zmorek, Oliver Entwicklung eines XML-Webworkflows am Beispiel der HTWK-Zeitschrift»Streifband«Diplomarbeit, Hochschule für Technik, Wirtschaft und Kultur Leipzig (FH) Fachbereich Medien, Studiengang Verlagsherstellung, Seiten, 23 Abbildungen, 23 Tabellen, 58 Quellenangaben, 5 Anhänge

3 Inhaltsverzeichnis Inhaltsverzeichnis 1. Einleitung Begriffsdefinition Single-Source-Multi-Channel-Publishing Beweggründe für Single-Source-Multi-Channel-Publishing Konzept von Single-Source-Multi-Channel-Publishing Medienneutrale Datenhaltung mittels XML Das Konzept der XML-Technologien Der XML-Standard Geschichte Aufbau eines XML-Dokumentes Wohlgeformtheitsbeschränkung Baumansicht eines XML-Dokuments Gültigkeitsbeschränkung Namensräume Das Dokumentenformat DocBook Geschichte Der Aufbau eines DocBook-Dokuments Das Dokumentenformat XHTML Geschichte Aufbau eines XHTML-Dokumentes Transformation mittels XSLT Überblick über einen Transformationsprozess Adressierung innerhalb eines XML-Dokuments mittels XPath Relative und absolute Pfadausdrücke Achsen eines XML-Baums Filterbedingungen in Form von Prädikaten Verarbeitung eines XML-Dokuments mittels XSLT Verarbeitung des Dokumentknotens Sequenzen innerhalb der Instruktion xsl:value-of Attributwert-Templates Entfernung von Whitespace-Nodes Gruppierung mittels der Instruktion xsl:for-each-group Darstellung mittels CSS Probleme bei der Ausgabe im Web Einbinden einer CSS-Datei Selektoren Vererbung und Kaskadierung Die XML-basierte Textverarbeitung mittels Microsoft Word Verwendung von Templates Kompatibilität zu älteren Wordversionen Das Dokumentenformat OOXML I

4 Inhaltsverzeichnis Geschichte Schwächen des Dokumentenformats OOXML Speicherung eines OOXML-Dokuments als ZIP-Archiv Speicherung des Dokumenteninhalts in der Datei»document.xml« Didaktische Aufbereitung für E-Learning Grundlagen des Lehrens und Lernens Begriffsdefinition Lehrzieltaxonomien Erläuterungen zum Begriff E-Learning Grundlagen des Instruktionsdesigns Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Allgemeine Informationen zur HTWK-Zeitschrift»Streifband« Streifband Ist-Zustand Anmerkungen zum bisherigen Workflow Beschreibung des bisherigen Workflow Ergebnis der Analyse Streifband Soll-Zustand Medienneutrale Archivierung in einem geeigneten XML-Dokumentenformat Eignung des OOXML-Formats zur medienneutralen Archivierung Eignung des XHMTL-Formats zur medienneutralen Archivierung Medienneutrale Archivierung mittels dem DocBook-Format Der XML-Workflow und das Dateiverwaltungssystem Namensnotation der Dateien Erläuterungen zu dem XML-Workflow und dem Dateiverwaltungssystem Beschreibung des XML-Workflows in Form von Tutorials Realisierung und Beschreibung des XML-Webworkflows in Form von Tutorials Strukturanalyse eines Streifand-Artikels Anfertigung von Autorentemplates in Microsoft Word XSL-Transformation der OOXML-Daten in das XML-Dokumentenformat DocBook Einbinden externer Entitäten in die Transformationsdatei Einbinden der relevanten Namensräume in die Transformationsdatei Erzeugung der Dokumentenstruktur des Ergebnisdokuments Strukturierung des Textbereichs eines Artikels Strukturierung des Textbereichs eines Interviews Strukturierung der Listen Verarbeitung von OOXML-Tabellen mit variabler Reihenanzahl Verarbeitung von OOXML-Tabellen mit variabler Reihen- und Spaltenanzahl Verarbeitung der Tabelle»Glossar«und der Glossarbegriffe Transformation der DocBook-Daten in das Ausgabeformat XHTML Einbinden der relevanten Namensräume in die Transformationsdatei Erzeugung der Dokumentenstruktur des Ergebnisdokuments Erzeugung einer Autorenzeile Verarbeitung der Fußnoten II

5 Inhaltsverzeichnis Verarbeitung der Autoreninformationen Integration der XHTML-Artikel in die Webpräsenz Die XML-Referenzdatei Aktualisierung der Ausgabennavigation Erstellung der Artikelnavigation Aktualisierung des Glossarverzeichnisses Hinzufügen neuer Glossarbegriffe Sortieren der Glossarbegriffe Probleme bei der Automatisierung der Ausgabe Zusammenfassung und Ausblick Literaturverzeichnis Selbstständigkeitserklärung Anhänge Anhang I: Tutorial 1: Der XML-Gesamtworkflow... I Anhang II: Tutorial 3: XSL-Transformation von OOXML zu DocBook... XII Anhang III: Schema Word_DocBook (Anlage zu Tutorial 3)... XXXV Anhang IV: Wordtemplate zum Artikel»Digitaldruck - Was bringt die Zukunft - Teil I«... XXXIX Anhang V: Wordtemplate zum Artikel»Nach dem Studium kommt die Praxis - Teil I«... XLIV III

6 1 Einleitung 1. Einleitung»Es gibt keine andere technologische Innovation dieses Jahrhunderts, die die Medienbranche vor so grundlegende Veränderungen gestellt hat wie die Digitalisierung. Die klassischen Medien müssen sich anpassen, wenn sie in der Angebotsvielfalt der digitalen Informationsgesellschaft bestehen wollen.«[ke 1999; zitiert nach: KN 2004; S. 1]. Keine andere Abteilung in Medien- oder spezieller in Verlagsunternehmen steht so sehr unter dem Zeichen des Umbruchs wie die Herstellung. Die Digitalisierung hat jedoch nicht nur Auswirkungen auf den Einsatz und die Bedeutung von IT-Technologien in Unternehmen, sondern es tritt eine gesamtgesellschaftliche Veränderung ein, welche den Umgang mit Inhalten verändert. Die Digitalisierung ist einerseits die Chance für Unternehmen der Medienbranche den Produktionsaufwand zu senken und neue Zielgruppen zu erschließen, andererseits ist ein Anpassungsprozess notwendig, um gegenüber der Konkurrenz zu bestehen und die Bedürfnisse der Konsumenten zu befriedigen. Die Zeitschrift»Streifband«der HTWK Leipzig, wurde seit Anbeginn ihres Bestehens traditionell hergestellt. Auch die Tatsache einer Onlinepräsenz veränderte die Produktionsprozesse nur geringfügig. Im Rahmen dieser Diplomarbeit wird mit Hilfe der XML-Technologien ein Webworkflow erarbeitet, welcher eine automatisierte Verarbeitung der Inhalte ermöglichen soll. Die Texte werden im Programm Microsoft Word verfasst, anschließend in einem geeigneten XML-Dokumentenformat archiviert und abschließend in das Web publiziert. Es erfolgt eine Zusammenarbeit mit der Diplomandin Angela Böhl, die einen XML- Printworkflow für die Zeitschrift»Streifband«anfertigt, wobei die Texteingabe im Programm Open Office erfolgt. Ein weiteres Ziel dieser Diplomarbeit ist es, die Entwicklung des Webworkflows in Form von Tutorials, für das Modul 4500»Electronic Publishing II«an der HTWK Leipzig, aufzubereiten. So soll es den Studenten, der genannten Lehrveranstaltung, ermöglicht werden, die vermittelten Lehrinhalte an Hand eines Cross-Media Praxisprojekts vertiefen zu können. 4

7 2 Begriffsdefinitionen 2. Begriffsdefinitionen Workflow Verinnerlicht das Prinzip konkretisierter Arbeitabläufe, dass heißt es werden Bedingungen zur Realisierung von Prozessen definiert und eventuelle Problemstellungen erörtert. (Halb-)Automatisierung Ist die Realisierung von Prozessen, wobei die Arbeitsabhandlungen von Menschen auf Maschinen transferiert werden. Grundlegend sind die Menschen weiterhin Gestalter dieser Prozesse, sie müssen jedoch die technischen (und sozialen) Zusammenhänge begreifen [Vgl. GS 1993, S.13f.]. XML (extensible Markup Language) Ist eine Metasprache zur Definition von Auszeichnungssprachen. Die Syntax von XML ermöglicht es, die Interoperabilität dieser Auszeichnungssprachen sicherzustellen. Da XML das Trennungsprinzip von Inhalt, Struktur und Gesalt verinnerlicht, ist es für eine medienneutrale Speicherung von Informationen geeignet. XHTML (extensible HyperText Markup Language) Ist eine XML-Dokumentenklasse, welches zur Präsentation von Inhalten im Web dient HTML wurde dabei in XML reformuliert. DocBook Ist ein XML-Dokumentenformat zur Speicherung von Inhalten technischer Dokumentationen und Handbüchern. Auf Grund des umfassenden Element- und Attributkatalogs ist DocBook ebenfalls für andere Print- und Onlineinhalte geeignet. OOXML (Office Open XML) Ist ein XML-basiertes Datenformat der Microsoft Office Anwendungen. So wird es ermöglicht, Dokumente der Anwendungen Word, Excel und Power Point vollständig in XML-Form abzubilden. XSLT (extensible Stylesheet Language - Transformation) Ist eine Technologie, welche es ermöglicht Regeln zur Über- bzw. Zusammenführung von XML-basierten Inhalten verschiedener Dokumentenklassen zu definieren. Die Umsetzung der Transformationsanweisungen erfolgt durch den XSLT-Prozessor. 5

8 3 Single-Source-Multi-Channel-Publishing 3. Single-Source-Multi-Channel-Publishing 3.1. Beweggründe für Single-Source-Multi-Channel-Publishing In diesem Kapitel werden die Auswirkungen und die Bedeutung der Digitalisierung für den Medienmarkt präzisiert. Desweiteren werden Anforderungen, welche an Unternehmen dieses Markts gestellt werden, erörtert und ein technologischer Lösungsansatz dargelegt. Die Integration von verschiedenen IT-Technologien in Verlagsunternehmen ermöglicht eine Automatisierung der Produktionsprozesse. Es kann eine Kosten- bzw. Aufwandsreduzierung und eine Verringerung der Produktionszeit erzielt werden [KN 2004; S. 1] [K 2004; I.B.3. S. 1]. Allerdings ist festzustellen, dass der Printmarkt einer verstärkten Differenzierung der Interessensgruppen unterliegt [KN 2004; S. 8]. Laut dem Börsenverein des deutschen Buchhandels stieg die Anzahl der jährlichen Titelproduktion in den letzten zehn Jahren von rund auf Titel [BV_1 2007][BV_2 2007]. Ebenso der Verband Deutscher Zeitschriftenverleger verzeichnete einen Anstieg der jährlich produzierten Zeitschriftentitel von (1998) auf Titel (2006)[VDZ 2006]. Zudem wird zukünftig die Qualität der Inhalte 1 zum Hauptwettbewerbsfaktor werden, da die Bereitschaft der Konsumenten steigt, für qualitative Inhalte zu bezahlen [K 2004; I.B.1. S. 2]. Beispielsweise gestaltet sich die heutige Suche von Informationen im Internet mit unter schwierig, da die Information zu speziell oder die Quelle nicht vertrauenswürdig ist. Die tägliche Nutzungsdauer von Medien wird insgesamt nur noch geringfügig ansteigen [KN 2004; S. 15f.]. Eine Möglichkeit, um sich den neuen Marktbedingungen anzupassen, besteht darin, dass Verlage die Inhalte mehrfach verwerten und so neue Erlöse generieren. Somit werden Inhalte nicht nur für die Printproduktion, sondern ebenfalls für andere Publikationsformen aufbereitet [KN 2004; S. 1]. Zudem ist festzustellen, dass die Wiedergabequalität elektronischer Geräte, wie zum Beispiel PDA s, Smartphones oder E-Books, steigt und diese für den zukünftigen Medienmarkt an Bedeutung gewinnen [K 2004; I.B.2. S. 2f.]. 1 Häufig wird auch der Begriff Content verwendet. Darunter sind zweckgebundene Informationen zu verstehen, welche aufbereitet und an den Rezipienten weitergeleitet werden [KN 2004; S. 24] 6

9 3 Single-Source-Multi-Channel-Publishing Somit ist eine Automatisierung der Produktionsprozesse notwendig, um einerseits den Konsumentenanforderungen gerecht zu werden und um andererseits gegenüber der Konkurrenz zu bestehen Konzept von Single-Source-Multi-Channel-Publishing Die genannten Motive führen dazu, dass Verlage von traditionellen Ansätzen abweichen. Unter dem traditionellen Publizieren versteht man, dass die Herstellungs- und Produktionsprozesse der jeweiligen Publikationsform weitestgehend voneinander isoliert werden. Der Content liegt während der entsprechenden Verarbeitung immer medienspezifisch vor, d.h. dieser wird für ein vordefiniertes Endformat aufbereitet (Layoutlastigkeit). Dieser Trennungsprozess bedeutet eine Datenredundanz, da der gleiche Inhalt mehrfach vorliegt und dementsprechend mehrfach gepflegt werden muss [PS 2003; S. 4f.]. Single-Source-Multi-Channel-Publishing ist eine Strategie, um die verschiedenen Produktionsprozesse weitestgehend zu integrieren und zu automatisieren. Der Content wird medienneutral in einer Quelldatei (Single Source) abgespeichert und abschließend in mehrere Kanäle publiziert (Multi Channeling) [KN 2004; S. 40]. Bei einer medienneutralen Datenspeicherung spricht man von Inhaltslastigkeit, da eine strikte Trennung von Inhalt, Struktur und Layout erfolgt. Der medienneutrale Content besitzt somit kein festdefiniertes Endformat. Darüber hinaus entfällt eine mehrfache Datenpflege, da nur eine Quelldatei be- und verarbeitet werden muss [PS 2003; S. 5]. Neben der Trennung von Inhalt, Struktur und Layout lassen sich weitere Anforderungen an medienneutrale Daten ableiten. Nach [K 2004; I.B.3. S. 2f.] müssen die Daten fehlerfrei herstellerunabhängig plattformunabhängig sprachenunabhängig sein. Die Grundvoraussetzung ist, dass fehlerfreie Daten bestehen, um diese automatisiert verarbeiten zu können. Die Hersteller- und Plattformunabhängigkeit meint, dass das Datenformat nicht hard- oder softwarespezifisch vorliegt und somit unabhängig von der Umgebung lesbar bleibt. Die Sprachenunabhängigkeit meint ein Datenformat, welches prinzipiell mit verschiedenen Programmiersprachen verarbeitet werden kann. 7

10 3 Single-Source-Multi-Channel-Publishing 3.3. Medienneutrale Datenhaltung mittels XML Eine Technologie, welche die genannten Kriterien der Medienneutralität erfüllt ist die extensible Markup Language (XML) [KN 2004; S. 34f.]. Die XML-Technologie stellt eine Reihe von verschiedenen Werkzeugen zur Verfügung, die dem Konzept des Single-Source-Multi-Channel-Publishings gerecht werden. In diesem Kapitel wird nur eingeschränkt auf diese Technologie eingegangen. Ausführlichere Erläuterungen sind im Kapitel 4. Das Konzept der XML-Technologien nachzulesen. Das Prinzip der Trennung von Inhalt, Struktur und Layout in XML wird in den nachfolgenden Absätzen kurz näher beschrieben. Der Content wird in einem XML-Dokument hinterlegt und kann mit Metainformationen 2 angereichert werden. Das folgende XML-Beispiel zeigt, wie ein Text abgespeichert werden könnte: <Kapitel> <Überschrift>eXtensible Markup Language</Überschrift> <Einleitung>XML kann </Einleitung> <Text>Im nachfolgenden </Text> </Kapitel> Es ist zu erkennen, dass der Inhalt durch sogenannte Markup s strukturiert wird in diesem Fall durch die Elemente Kapitel, Überschrift, Einleitung und Text. Die Struktur eines Textes kann in einer DocType Definition (DTD) oder in einem XML Schema beschrieben werden [K 2004; II.B.2. S. 6]. Somit wird es ermöglicht, den Content automatisiert zu kontrollieren. Die Beispielstruktur könnte in einer DTD oder einem XML Schema so beschrieben werden, dass jedes Kapitel mit einer Überschrift und einer nachfolgenden Einleitung beginnen muss. Die Formatierung der Textelemente des XML- Dokuments zur visuellen Ausgabe kann durch Cascading Style Sheets (CSS) erreicht werden [HV 2007; S. 329ff.][GR 2001; S.129ff.]. Nähere Informationen zu CSS lassen sich dem Kapitel 4.5. Darstellung mittels CSS entnehmen. Das verinnerlichte Trennungsprinzip von XML bedeutet, dass die Strukturierung und Formatierung von Texten nicht das Gleiche seien können. So ist die Struktur eines Textes unveränderlich, während die Formatierung nichts Absolutes ist. Dass heißt, ein Text kann auf unterschiedliche Art und Weise formatiert werden, jedoch bleibt seine Struktur 2 Metainformationen sind Informationen über den eigentlichen Inhalt. So können Informationen zum Autor, zum Inhalt selbst, Verwaltungsinformationen etc. eingebunden werden, um den Content weitreichend zu beschreiben [PS 2003; S.10f.] 8

11 3 Single-Source-Multi-Channel-Publishing stets die Gleiche [K 2004; I.B.3. S. 3]. Zudem beschreibt eine formatierte Auszeichnung nicht die Art des Inhalts es wird nur eine Unterscheidbarkeit der Textelemente erreicht. Handelt es sich um stark strukturierte Texte, werden teilweise unterschiedliche Elemente gleich formatiert, womit die Inhalte interpretationsbedürftig sind [a.a.o.; II.B.1. S. 8]. In XML hingegen erfolgt eine semantische Auszeichnung, d.h. die Bezeichnung des Elements kann die Art des Inhalts näher beschreiben. Der Nutzer verfügt über die Freiheit, diese Bezeichnung selbst festzulegen [a.a.o.; II.B.1. S. 6f.]. Die automatisierte Erstellung und Formatierung von Dokumenten hat jedoch auch Grenzen. Diese Grenzen werden sichtbar, wenn der gestalterische Aspekt einer Publikation eine tragende Bedeutung beigemessen wird. Vor allem Publikumszeitschriften, wie beispielsweise Modezeitschriften, verfügen über zahlreiche unterschiedliche Textformatierungen, Bildpositionen usw. Diese Unterschiede können nur dann automatisiert erzielt werden, wenn sich in der XML-Datei die Elemente voneinander unterscheiden. Denn bei einer Automatisierung werden alle gleichartigen Objekte, gleich behandelt [GR 2001; S. 9f.]. Zudem kann in manchen Situationen die subtile Bearbeitung eines Menschen den entscheidenden Effekt hervorbringen. Eine Aufwand-Nutzen-Analyse sollte Aufschluss darüber geben, ob eventuell eine teilautomatisierte Lösung diesem Verhältnis gerecht werden kann [a.a.o.; S. 26ff.]. Somit ist ein gegensätzliches Verhalten zwischen der Strukturierung und einer anspruchsvollen Gestaltung von Texten erkennbar [K 2004; I.B.3 S. 3]. Es ist möglich, dass XML-Dokumente medienspezifische Informationen enthalten. So werden Ressourcen wie Videos, Sounds oder animierte Grafiken und den dazugehörigen Erläuterungen vom Autor, an der entsprechenden Position, eingebunden. Solche Informationen werden jedoch für die Printpublikation, in dieser Form, nicht benötigt. Dieser Wiederspruch zur medienneutralen Datenhaltung muss jedoch in Kauf genommen werden, um eine automatisierte Mehrfachverwertung des Contents zu gewährleisten [GR 2001; S. 14]. Abschließend soll die Frage erläutert werden, wie XML-Daten zu erstellen sind. Die erste Möglichkeit medienneutralen Content zu erfassen, ist das Erstellen eines XML-Dokuments. Ein einfacher Texteditor ist hierzu schon ausreichend. Desweiteren stellen spezielle XML-Editoren weiterreichende Funktionen zur Verfügung, wie zum Beispiel implementierte Autorenmodule, welche nach dem WYSIWYG-Prinzip funktionieren. Jedoch 9

12 3 Single-Source-Multi-Channel-Publishing muss berücksichtigt werden, dass der Autor in seiner eigentlichen Kompetenz, der inhaltlichen Erstellung, unterstützt und nicht eingeschränkt werden sollte. Daher muss die Grundvoraussetzung, dass der Autor über XML-Kenntnisse verfügt und somit den Unterschied zwischen Strukturierung und Formatierung nachvollziehen kann, gegeben sein. Die zweite Möglichkeit strukturierte Daten zu erhalten, ist die Nutzung der XML-Schnittstelle eines konventionellen Textverarbeitungsprogrammes. Der Autor kann in seiner gewohnten Arbeitsumgebung tätig sein, während der Text als XML-Datei abgespeichert oder exportiert wird [GR 2001; S. 23f.]. Auf Grund der Gegensätzlichkeit von Strukturierung und Formatierung, ist es möglich, dass der Inhalt zwar in XML-Form vorliegt, dieser aber mit Informationen über Seitenlayout, Absatzvorlagen und ähnlichem angereichert ist und somit die XML-Daten nicht dem Trennungsprinzip von Inhalt, Struktur und Layout gerecht werden. In diesem Fall ist ein zusätzlicher Aufwand notwendig, um die gestellten Kriterien der Medienneutralität zu erfüllen (siehe Kapitel Medienneutrale Archivierung in einem geeigneten XML-Dokumentenformat). 10

13 4 Das Konzept der XML-Technologien 4. Das Konzept der XML-Technologien 4.1. Der XML-Standard Geschichte 1994 wurde das World Wide Web Consortium (W3C) von u.a. Tim Berners-Lee gegründet. Dieses Konsortium besteht aus 412 Mitgliedern, darunter Firmen wie Adobe Systems Inc., HP, Fujitsu Limited, Microsoft Corporation, aber auch verschiedene Institutionen wie die Frauenhofer Gesellschaft, CERN oder Universitäten aus Budapest, Kalifornien, Bologna oder China gehören diesem Konsortium an [W3C_Mem 2008]. Ziel ist es:»dem World Wide Web dadurch seine vollen Möglichkeiten zu erschließen, dass Protokolle und Richtlinien entwickelt werden, die ein langfristiges Wachstum des Web sichern.«[w3c_1 2004]. Die Web-Technologien sind dabei so gestaltet, dass sie untereinander kompatibel sind (Interoperabilität)[W3C_1 2004]. Im Rahmen dieser Anstrengungen wurde 1998 die extensible Markup Language Spezifikation (XML) verabschiedet [W3C_2 2004]. XML ist eine eingeschränkte Form der Standard Generalized Markup Language (SGML) [XML 2002; Kap.1]. SGML besteht seit 1986 und ist eine Metasprache zur Beschreibung von Dokumentenstrukturen [HV 2004; S. 27]. Diese konnte sich allerdings auf Grund des enormen Umfangs und der Komplexität der Anwendung nicht durchsetzen. Immerhin benötigte man zur Definition von SGML zirka 500 Seiten [HV 2004; S.29]. XML selbst, ist ebenfalls eine Metasprache, also eine Sprache»zur Erzeugung von konkreten Auszeichnungssprachen«[HV 2004; S. 28]. Für diesen Standard waren nur zirka 40 Seiten notwendig, wobei die Flexibilität kaum geringerer als bei SGML ist [HV 2004; S. 29] [W3C_3 o.j.] Aufbau eines XML-Dokumentes Der XML-Standard enthält 89 Produktionen, in denen die Syntax von XML-Dokumenten dargestellt ist. Jedes XML-Dokument kann dabei auf zwei unterschiedliche Art und Weisen betrachtet werden. Die physische Sicht beschreibt den Aufbau eines XML-Dokumentes aus Speicherungseinheiten (sog. Entities; Entitäten), welche»entweder analysierte (parsed) 1 oder nicht analysierte (unparsed) Daten enthalten.«[xml 2002; Kap. 1]. Eine geparste Entität enthält Text, also»eine Folge von Zeichen, die entweder Markup oder 1 Der Vorgang des Parsens wird vom XML-Prozessor durchgeführt (siehe hierzu Kapitel Wohlgeformtheitsbeschränkung) 11

14 4 Das Konzept der XML-Technologien Zeichendaten darstellen.«[xml 2002; Kap. 2.2]. Eine nicht geparste Entität ist eine Ressource, welche Text sein darf und nicht XML zu sein braucht [XML 2002; Kap. 4]. Im einfachsten Fall ist diese ein Verweis auf ein Bild, ein Video, Sound oder ähnliches. Das Dokument selbst ist ebenfalls eine Entität (gen. document entity) [XML 2002; Kap. 4.8]. Aus logischer Sicht wird das Dokument durch die oben genannten Markups ausgezeichnet. Diese Markups beginnen immer mit einer öffnenden spitzen Klammer (<) oder dem kaufmännischen Und-Zeichen (&) [XML 2002; Kap. 2.4]. Anhand des Werts zwischen den Markupbegrenzungen lassen sich verschiedene Markups identifizieren. Weitere Erläuterungen lassen sich an Hand eines Beispieldokuments»Kochrezepte«verdeutlichen: <?xml version="1.0" encoding="utf-8" standalone= yes?> <!DOCTYPE Kochrezepte[ [...] ]> <Kochrezepte> <Kochrezept sprache="de"> <Name>gekochtes Ei</Name> <Zutaten> <Zutat> <Zutat_Name>Ei</Zutat_Name> <Zutat_Menge>1</Zutat_Menge> </Zutat> <Zutat> <Zutat_Name>Salz</Zutat_Name> <Zutat_Menge>Prise</Zutat_Menge> </Zutat> </Zutaten> <Zubereitung> <Schritt nummer="1">ein Topf mit Wasser auf der Herdplatte zum Kochen bringen.</schritt> <Schritt nummer= 2 >Das Ei in das kochende &w; legen und je nach Wunsch 4 bis 6 Minuten kochen.</schritt> <Schritt nummer= 3 >Das Ei entnehmen, schälen und mit einer Prise Salz verzehren </Schritt> </Zubereitung> </Kochrezept> </Kochrezepte> Der Aufbau eines XML-Dokuments lässt sich von der ersten Produktion ableiten: [1] document ::= prolog element Misc* 2 Sowie der Produktionen für den Prolog: [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)? Der Prolog muss vor dem ersten Element im Dokument definiert werden und enthält in erster Linie die XML-Deklaration (vgl. ) und die Dokumententyp-Deklaration( ). Die XML- 2 Dabei können nachfolgende Operatoren folgende Werte annehmen: (*) Sternchen bedeutet, kein oder mehrfaches Auftreten (+) Plus bedeutet, ein oder mehrfaches Auftreten (?) Fragezeichen bedeutet, optionales Auftreten ( ) Trennungsstrich bedeutet, oder - Ein fehlender Operator bedeutet, genau ein einmaliges Auftreten [XML; Kap ] 12

15 4 Das Konzept der XML-Technologien Deklaration enthält Informationen über die Versionsnummer und der Zeichenkodierung. Die Zeichenkodierung ist standardgemäß auf UTF-8 und UTF-16 (Unicode Transformation Format) eingestellt. Sollte eine andere Kodierung verwendet werden, ist es notwendig diese anzugeben [XML 2002; Kap ]. Die Dokumententyp-Deklaration»enthält oder verweist auf die Markup-Deklaration, die eine Grammatik für eine Klasse von Dokumenten bilden.«[ XML 2002; Kap. 2.8]. Die genannte Markup-Deklaration ist in diesem Fall eine DTD. Das Beispieldokument»Kochrezepte«enthält innerhalb der XML-Deklaration die Angabe standalone= yes. Dass bedeutet, die Markup-Deklarationen sind innerhalb dieses XML-Dokuments festgelegt worden. Die Informationseinheit Element wird wie folgt deklariert: [39] element ::= EmptyElemTag STag content ETag Die Informationseinheit Attribut: [41] Attribute ::= Name Eq AttValue Nach Produktion 39 kann ein Element leer sein oder es muss über einen Start- und End-Tag, sowie Inhalt verfügen. Dieser Inhalt können unter anderem andere Elemente, Text oder Kommentare sein [XML 2002; Produktion 43]. Jedes Dokument muss ein Element besitzen, welches alle anderen Elemente, wenn es welche geben sollte, einschließt [XML 2002; Prod. 1] genannt Wurzelelement. Im Beispieldokument»Kochrezepte«ist das Kochrezepte. Attribute haben die Funktion Elemente näher zu definieren. So wird das Kochrezept ( ) dadurch näher beschrieben, dass ein Attribut namens sprache über den Wert de verfügt. Attribute sind entweder im Start-Tag oder im Leer-Element-Tag enthalten, wobei der Name und der Wert durch ein Ist-Gleich-Zeichen getrennt werden und der Wert mit einfachen oder doppelten Anführungszeichen eingeschlossen wird [XML 2002; Prod.10/ Prod. 41]. Werden Sonderzeichen benötigt, welche nicht direkt über die Tastatur eingegeben werden können, können Zeichenreferenzen genutzt werden. Diese beginnen mit &# oder &#x (für dezimale und hexadezimale Darstellung) und enden mit dem Semikolon. So wurde in dem Beispieldokument ein»smiley«als Zeichenreferenz eingefügt ( ) [XML 2002; Kap. 4.1]. Desweiteren sind in XML fünf Entitäten vordefiniert: Apostroph, Anführungszeichen, Größer-als- und Kleiner-als-Zeichen, sowie das kaufmännische Und-Zeichen. Um zum Beispiel das Kleiner-als-Zeichen innerhalb eines Texts zu nutzen und damit dieses Zeichen 13

16 4 Das Konzept der XML-Technologien nicht als Beginn eines Markups interpretiert wird, muss es»geschützt«bzw.»maskiert«(engl. escape) werden [XML 2002; Kap. 4.6]: Einzubindende Entität &apos; " > < Bedeutung Apostroph Anführungszeichen Größer-als-Zeichen Kleiner-als-Zeichen & Kaufmännisches Und Tabelle 1: voreingestellte Eintitäten Die Maskierung erfolgt über ein beginnendes»kaufmännisches Und«und dem abschließenden Semikolon. Dem Nutzer ist es auch möglich, eigene Entitäten zu definieren welche ebenfalls diese formale Schreibweise einhalten müssen. Solche Entitäten werden beispielsweise in einer DTD definiert (siehe Kapitel Einbinden einer DTD in die Transformationsdatei) [XML 2002; Kap. 4.1] Wohlgeformtheitsbeschränkung Jedes XML-Dokument muss wohlgeformt (wellformed) sein, um als XML-Dokument zu gelten [XML 2002; Kap. 2]. Nach [XML 2002; Kap. 2.1] bedeutet wohlgeformt: Die erste Produktion document muss in ihrer Gesamtheit auf das Textobjekt passen (d.h. die definierte Syntax des XML-Standards muss von XML-Dokumenten eingehalten werden) Die in der Spezifikation enthaltenen Wohlgeformtheitsbeschränkungen müssen erfüllt sein Die geparsten Entitäten müssen wohlgeformt sein Da es im Rahmen dieser Arbeit nicht möglich ist, sämtliche Beschränkungen zu erläutern, werden nur einige Verstöße gegen die Wohlgeformtheit am Beispiel verdeutlicht: <Kochrezept sprache=de> <Name>gekochtes Ei</name> <Zutaten> <Zutat> <Zutat_Name>Ei</Zutat_Name> <Zutat_Menge>1</Zutat_Menge> <Zutat> </Zutat> <Zutat_Name>Salz</Zutat_Name> <Zutat_Menge>Prise</Zutat_Menge> </Zutat> </Zutaten> </Kochrezept> 14

17 4 Das Konzept der XML-Technologien Es ist erkennbar (Auszeichnung: fett), dass das Attribut sprache in einer nicht bekannten Notation geschrieben ist [XML 2002 Prod. 10]. Zwar verfügt das Element Name über einen Start- und End-Tag, jedoch stimmen diese nicht überein es gilt Groß- und Kleinschreibung zu beachten [XML 2002; Kap. 3]. Ein weiterer Fehler ist die falsche Verschachtelung der beiden Zutat-Elemente, denn»kein Start-Tag, End-Tag, Leeres- Element-Tag, Element, Kommentar, Verarbeitungsanweisung, Zeichen- oder Entity-Referenz kann in einem Entity beginnen und in einem anderen enden.«[xml 2002; Kap ]. Um ein Dokument auf Wohlgeformtheit zu prüfen, wird ein XML-Prozessor benötigt. Dieser analysiert das Dokument. Tritt eine Verletzung der vorher genannten Bestimmungen auf, ist dies ein kritischer Fehler (fatal error) und der Prozessor darf»die normale Verarbeitung nicht fortsetzen.«[xml 2002; Kap. 1.2]. Dass heißt, sobald ein kritischer Fehler auftritt, wird die Prüfung abgebrochen. Ein Prozessor, welcher nur auf Wohlgeformtheit prüfen kann, wird nicht-validierender Prozessor genannt. Von W3C wird jedoch die Nutzung eines validierenden Prozessors empfohlen [XML 2002; Kap. 5.2] Baumansicht eines XML-Dokuments Neben der Quellcodeansicht kann jedes Dokument als Baummodell abgebildet werden. Voraussetzung für eine solche Visualisierung ist, dass das Dokument wohlgeformt sein muss. Das unter Aufbau eines XML-Dokumentes vorgestellte Beispiel, lässt sich als Baum wie folgt darstellen: Kochrezepte 2, 15 Kochrezept 3 Name 4 Zutaten 5, 8 Zutat 6, 9 Zutat_Name 7, 10 Zutat_Menge 11 Zubereitung 12, 13, 14 Schritt Abbildung 1: Baumdarstellung (Eigene Darstellung) 15

18 4 Das Konzept der XML-Technologien Bei dieser Baummetapher wird nun von Knoten gesprochen und nicht mehr von Informationseinheiten [XP 2002; Kap. B]. Die Reihenfolge der Start-Tags der Elemente im Quellcode gibt die Reihenfolge der Knoten im Baum an (document order) [LL 2002; Kap. 5]. Dementsprechend werden bei der, in der Abbildung angegebenen Nummerierung, zuerst die Kind- und Nachfahrenknoten angegeben. Die Baumdarstellung erfolgt mittels der XML Path Language (XPath). Das Datenmodell von XPath unterscheidet dabei in verschiedene Knotentypen. Die wichtigsten Typen sind [XP 2002; Kap. 5][FB 2008; S. 58ff.]: Der Dokument bzw- Wurzelknoten Elementknoten Attributknoten Textknoten In einer konventionellen Baumdarstellung eines XML-Dokuments werden aus Übersichtlichkeitsgründen nur die Elementknoten wiedergegeben entsprechend der Abbildung 1. In dieser Darstellung wird nicht der Dokumentknoten berücksichtigt, welcher für das Dokument»an sich«steht und alle Knoten eines Dokuments enthält äquivalent zur Dokumentenentität [a.a.o.]. Orientierend am Beispiel»Kochrezepte«kann ein Elementknoten unter anderem Attribut-, Text- und andere Elementknoten enthalten. So enthält der Elementknoten Schritt sowohl einen Attributknoten namens nummer als auch einen Textknoten, welcher Zeichendaten enthält. Dieses abstrakte Modell der Knotendarstellung ist für eine eventuelle Transformation mittels XSLT von Relevanz und dient als Grundlage für weitere Erläuterungen im Kapitel Adressierung innerhalb eines XML-Baums Gültigkeitsbeschränkung Über die Wohlgeformtheit von XML-Dokumenten hinaus, ist es möglich, zu prüfen, ob die in der Dokumenten-Deklaration erfolgten Beschränkungen, d.h. ob das definierte Vokabular, befolgt wurde [XML 2002; Kap. 2.8]. Die Dokumentendefinition kann einerseits durch eine DTD beschrieben werden, andererseits durch ein XML-Schema [HV 2004; S.107]. Sinn und Zweck bei der Verwendung einer DTD oder 16

19 4 Das Konzept der XML-Technologien eines XML-Schema ist es, dass jedes XML-Dokument dieses Vokabulars, einen vorgegebenen Aufbau einhält, wobei die Inhalte, zum Beispiel zu verwendende Elemente und Attribute,»vorgegeben«werden. Zurückzuführen ist eine solche Notwendigkeit auch auf die Tatsache, dass die medienneutrale Speicherung des Contents nur dann effektiv ist, wenn die XML-Dokumente weitestgehend automatisiert verarbeitet werden können die Erkenntnis, dass gleiche Objekte gleich behandelt werden, ist hierbei von Relevanz. Grundvoraussetzung zur Prüfung der Gültigkeit ist ein validierender XML-Prozessor, welcher»jeden Teil eines Dokuments lesen und alle Verletzungen von Wohlgeformtheit und Gültigkeit melden«muss [XML 2002; Kap. 5.2]. Somit muss ein validierender Prozessor in der Lage sein, externe Deklarationen in einer DTD oder einem XML Schema interpretieren zu können.»verletzungen von Gültigkeitsbeschränkungen sind Fehler [error]«, wobei die Konsequenzen nicht definiert sind, d.h. im Gegensatz zu einer Verletzung der Wohlgeformtheit, also bei Auftreten eines kritischen Fehlers, darf die»konforme Software [ ] Fehler erkennen und anzeigen und anschließend weiterarbeiten.«[xml 2002; Kap. 1.2] Namensräume Innerhalb der vorliegenden Diplomarbeit ist das Definieren eines eigenen Vokabulars mittels einer DTD oder eines XML-Schemas nicht von Bedeutung, wohl aber die Verwendung von Vokabularen. Einen Aspekt dieser Verwendung stellen Namensräume (Namespaces NS) dar. In einigen Situationen kann es sinnvoll sein, schon definierte Markup-Vokabulare zu nutzen, um eine neue Dokumentenklasse zu beschreiben. Dieser Weg ist sinnvoll, da sonst ein neues Vokabular, bestehend aus schon definierten Teilmengen, deklariert werden müsste. Dass heißt, innerhalb des XML-Dokuments werden mehrere Vokabulare genutzt, um den Content weitreichend zu speichern. In einigen Fällen kann es jedoch passieren, dass die verschiedenen Vokabulare gleiche Bezeichnungen für Elemente enthalten. Um nun solche Kollisionen zu vermeiden, dass bedeutet, um die Eindeutigkeit jedes Namens zu garantieren, werden Namensräume verwendet [NS 2001; Kap. 1]. 17

20 4 Das Konzept der XML-Technologien Angenommen ist ein XML-Beispieldokument, welches Informationen zu dem Eigentümer verschiedener Bücher enthält: <Buchsammlung> <Eigentümer> <Anrede>Herr</Anrede> <Name>Oliver Zmorek</Name> <Tätigkeit>Diplomand</Tätigkeit> </Eigentümer> <Bücher> <Buch> <Titel>XSLT 2.0 & XPath 2.0</Titel> <Autor> <Anrede>Herr</Anrede> <Name>Frank Bongers</Name> </Autor> </Buch> <Buch> <Titel>CSS-Praxis</Titel> <Autor> <Anrede>Herr</Anrede> <Name>Kai Laborenz</Name> </Autor> </Buch> </Bücher </Buchsammlung> Wie dem Beispiel zu entnehmen ist, enthalten die Elemente Eigentümer und Autor sowohl eine Anrede als auch das Element Name. Beide Bezeichnungen stimmen überein, werden jedoch in einem jeweils anderen Kontext verwendet. Es sei weiter angenommen dass zur Speicherung der Informationen des Eigentümers und der Buchsammlung schon jeweils ein Vokabular vorhanden ist. Die Zuordnung der Elemente wird durch die Erweiterung der Elementbezeichnung realisiert. Dass bedeutet, dass der Name des Elements durch ein vorangestelltes Präfix erweitert wird. An Hand der sechsten Produktion des Namespace-Standards der W3C lässt sich diese Erkenntnis ableiten [NS 2001; Prod. 6]: [6] QName ::= (Prefix : )? LocalPart Im Zusammenhang einer solchen Erweiterung wird von einem qualifizierten Namen (QName) gesprochen, welcher sich, wie schon genannt, aus dem Präfix und der Bezeichnung (LocalPart) zusammensetzt, wobei eine Trennung dieser Bestandteile mit Hilfe eines Doppelpunkts vorgenommen wird. Angenommen für die Angabe eines Eigentümers wird der Präfix inh synonymisch für Inhaber genutzt und für die Buchsammlung bzw. den Autor eines Buchs wird der Präfix b genutzt. Beide Personen werden wie folgt angegeben: 18

21 4 Das Konzept der XML-Technologien <inh:anrede>herr</inh:anrede> <inh:name>oliver Zmorek</inh:Name> <b:anrede>herr</b:anrede> <b:name>frank Bongers</b:Name> Allerdings ist klar, dass die Namensräume inh und b noch zu einem Markup-Vokabular zugeordnet werden müssen. So erfolgt die Einbindung des Namensraum inh in folgender Form: <inh:eigentümer xmlns:inh= > <inh:anrede>herr</inh:anrede> <inh:name>oliver Zmorek</inh:Name> </inh:eigentümer> Innerhalb des Elements Eigentümer wird der Namensraum durch die Angabe xmlns:inh= eingebunden und ist ab diesem Element für alle Kind- und Nachfahrenelemente gültig. Zu erkennen ist, dass der Wert des Attributs xmlns:inh eine URI (Uniform Resource Identifier) ist. Tatsächlich handelt es sich um keine URI im eigentlichen Sinn, sondern diese dient lediglich dazu, um die Eindeutigkeit des Namensraums zu gewährleisten 3. Denn das Präfix eines qualifizierten Namens ist lediglich ein»platzhalter«für die URI-Angabe [NS 2001; Kap. 3]. Diese Vorgehensweise kann nun auch für die Angabe der Bücher genutzt werden. Hierbei erfolgt jedoch die Einbindung eines Default-Namespaces bzw. es wird ein voreingestellter Namensraum genutzt. Dass bedeutet, dass die Angabe des Präfixes entfällt: <Buchsammlung xmlns= > <inh:eigentümer xmlns:inh= > <inh:anrede>herr</inh:anrede> <inh:name>oliver Zmorek</inh:Name> <inh:tätigkeit>diplomand</inh:tätigkeit> </inh:eigentümer> <Bücher> <Buch> <Titel>XSLT 2.0 & XPath 2.0</Titel> <Autor> <Anrede>Herr</Anrede> <Name>Frank Bongers</Name> </Autor> </Buch> <Buch> <Titel>CSS-Praxis</Titel> <Autor> <Anrede>Herr</Anrede> <Name>Kai Laborenz</Name> </Autor> </Buch> </Bücher </Buchsammlung> 3 Der XML-Prozessor wird die URI nicht prüfen, nur die Eindeutigkeit dieser [HV 2004; S. 64]. 19

22 4 Das Konzept der XML-Technologien Der Namensraum der Buchsammlung wird im Element Buchsammlung eingebunden, wobei die Angabe xmlns= den Präfix nicht enthält. Alle Elemente ohne Präfix in der Bezeichnung, welche Nachfahrenelemente von Buchsammlung sind, gehören diesem Vokabular an. Allerdings liegt, trotz fehlenden Präfix, immer noch ein qualifizierter Name zu Grunde [Sch 2001; Kap. 3.2]. Die Namensraum-URI bzw. Präfix wird innerhalb eines XML Schema definiert. Bei der Verwendung von DTD s ergeben sich eine Reihe von Grenzen und Nachteile. Innerhalb eines XML-Dokuments ist es nicht möglich, mehrere externe DTD s einzubinden. Dass bedeutet, um mehrere Vokabulare zu verwenden, ist es notwendig diese in einer DTD zusammenzuführen, wobei nun der qualifizierte Name eines Elements oder Attributs angegeben werden muss [NS 2001; Kap. 4]: <!ELEMENT inh:eigentümer (inh:anrede, inh:name, inh: , inh:tätigkeit)> Eine solche Vorgehensweise negiert jedoch die Vorteile von Namensräumen. In diesem Fall ist die Verwendung von XML Schema eindeutig günstiger. 20

23 4 Das Konzept der XML-Technologien 4.2. Das Dokumentenformat DocBook Geschichte Einer der bekannteren Dokumentenbeschreibungssprachen ist DocBook. Der ursprüngliche Verwendungszweck war die Beschreibung von technischen Dokumentationen und Büchern über Computerhardware und software entwickelten HaL Computer Systems und O Reilly & Associates die DTD 4 von DocBook als Dokumentenaustauschformat für das Textsatz-Programm troff [TROFF_1 o.j.]. In der Folgezeit haben verschiedene Softwarehersteller begonnen, DocBook in ihren Umgebungen zu implementieren. Zudem stellten die Nutzer fest, dass DocBook über den eigentlichen Verwendungszweck hinaus, auch für andere Print- und Onlineformate genutzt werden kann [DOC_1 o.j.] hat die Leitung der Entwicklung der Dokumentenbeschreibungssprache DocBook das OASIS 5 Konsortium übernommen. Dieses Konsortium beschäftigt sich mit offenen Standards einer globalen Informationsgesellschaft [OASIS 2008]. Dementsprechend ist DocBook ein OASIS-Standard, welcher zudem frei zugänglich ist. DocBook kann unter anderem sowohl als DTD als auch XML Schema genutzt werden. Dabei ist festzuhalten, dass die Versionen nicht abwärtskompatibel sind 6 [DOC_1 o.j.]. Dieser Sachverhalt ist auf die Tatsache zurückzuführen, dass strukturelle Veränderungen vorgenommen oder z.b. neue Elemente und Attribute definiert werden und diese im Sinne älterer Spezifikationen nicht gültig sind. Jedoch bieten die DocBook-Entwickler Möglichkeiten an, ein Update älterer auf neuere Versionen durchzuführen, zum Bespiel von Version 4 auf die aktuelle Version 5 [DOC_2 2008] Der Aufbau eines DocBook-Dokuments Generell unterscheidet DocBook die zwei Dokumentenarten book oder article. Letztere wird nachfolgend erläutert, da im Praxisteil der Diplomarbeit die medienneutrale Datenhaltung von Zeitschriftenartikeln von Relevanz ist. Zudem beschränkt sich diese Betrachtung auf die Version 5.0 (Update: ). 4 Dementsprechend wurde die DTD zuerst in einer SGML- und nachfolgend in einer XML-Umgebung implementiert 5 Organization for the Advancement of Structured Information Standards [OASIS 2008] 6 Die Konformität ist jedoch gewährleistet, wenn z.b. die Versionen 5.0 und 5.1. u.ä. vorliegen [DOC_1 2006] 21

24 4 Das Konzept der XML-Technologien Ein Beispieldokument sei gegeben: <?xml version= 1.0 encoding= UTF-8?> <article xmlns= version= 5.0 > <info> <title>ein Beispieldokument</title> <author> <personname> <firstname>oliver</firstname> <surname>zmorek</surname> </personname> </author> </info> <sect1> <title>ein DocBook-Artikel<footnote> <para>gemäß der fünften Version</para></footnote> </title> <para>die Untergliederung eines Artikels </para> <sect2> <title>der Anhang</title> <para><emphasis>docbook</emphasis> ermöglicht es...</para> </sect2> </sect1> <appendix> <title>der Anhang</title> <bibliography> [...] </bibliography> </appendix> </article> In diesem Beispieldokument wurde der DocBook-Sprachraum als ein Default-Namespace eingebunden. Das Wurzelelement ist article, wobei durch das Attribut version eine nähere Spezifikation erfolgt. Der Artikel selbst lässt sich in drei Bestandteile untergliedern: info, appendix und den Textbereich [NW 2008; Kap. 2]. Der Textbereich kann durch das Element sect1 beschrieben werden, wobei mittels einer rekursiven Verschachtelung weiterer sect-elemente (d.h. sect2-sect5) eine Kapitel-Unterkapitel-Beziehung hergestellt werden kann. Im info Bereich werden die Meta-Informationen hinterlegt, wie z.b. Autoren-, Verlagsinformationen oder Keywords. Der Anhang (appendix) ist optional und kann aus Bibliographien, einem Index, Glossar etc. bestehen [a.a.o.]. An Hand des Schemas von DocBook lassen sich folgende Erkenntnisse ableiten. Einige Elemente müssen zwingend über weitere Kindelemente verfügen, damit das Dokument den Gültigkeitsbeschränkungen entspricht. So benötigt beispielsweise das Element author immer ein Kindelement personname oder orgname [DOC_Sch 2008] [DOC_SchSp 2008; Kap. 2.8]. 22

25 4 Das Konzept der XML-Technologien Desweiteren muss ein Kapitel (sect1-5) immer über ein title-element und mindestens einen Absatz als para-element beinhalten [a.a.o.]. Diese Strenge lässt sich sicherlich auf den ursprünglichen Verwendungszweck von DocBook zurückzuführen. Technische Dokumentationen verfügen, im Gegensatz zu Texten der Belletristik o.ä., über einen im Wesentlichen gleichen Dokumentenaufbau. DocBook verfügt über einen sehr umfangreichen Element- und Attributkatalog. An dieser Stelle sei auf den Praxisteil der Diplomarbeit verwiesen. Weitere Informationen sind ebenfalls unter der Adresse: verfügbar [Norman Walsh (2008): DocBook 5.0: The Definitive Guide. O Reilly Media, Inc.]. 23

26 4 Das Konzept der XML-Technologien 4.3. Das Dokumentenformat XHTML Geschichte Die Geschichte der HyperText Markup Language (HTML) ist stark mit den historischen Ereignissen des World Wide Webs (WWW) verbunden. Der Erfinder des WWW, Tim Berners-Lee, hat im März 1989 den Fachartikel»Information Management: A Proposal«am CERN-Institut vorgestellt und somit die Entwicklung von HTML zum»austausch wissenschaftlicher und anderer technischer Dokumente«eingeleitet [W3C_4 2004]. Seit der Entstehung von HTML gab es eine umfassende, teils stürmische Weiterentwicklung dieses Standards. Im Jahr 2000 wurde der mittlerweile vierte Standard von HTML an Hand der XML- Spezifikationen reformuliert. Dass bedeutet, ein XHTML-Dokument (extensible HTML) muss, im Gegensatz zu einem HTML-Dokument, den XML-Spezifikationen entsprechen. Dieser Schritt wird von der W3C als»weiterentwicklung des Internets«bezeichnet und soll in erster Linie die Kompatibilität der verschiedenen Anwendungen erhöhen [XHTML 2002; Kap. 1]. Da in der vorliegenden Arbeit der XHTML-Standard von Interesse ist, konzentrieren sich die weiteren Erläuterungen auf den XHTML-Standard des strict Vokabulars Aufbau eines XHTML-Dokumentes Der Grundaufbau eines XHTML-Dokumentes: <?xml version= 1.0 encoding= ISO ?> <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN > <html xmlns= > <head> <meta name= autor content= Oliver Zmorek /> <title>ein Beispieldokument</title> </head> <body> <h1>ein Beispieldokument in XHTML</h1> <p> Es erfolgt eine Untergliederung in diverse <em>inlineelemente</em>.</p> <p>strukturell gibt es ehrhebliche Unterschiede zu DocBook.</p> </body> </html> Im Sinne der XHTML-Spezifikation muss jedes XHTML-Dokument die Angabe der DTD enthalten und auch der Namensraum muss im Wurzelelement html eingebunden werden 24

27 4 Das Konzept der XML-Technologien [XHTML 2002; Kap ]. In diesem Beispiel wurde zudem noch die XML-Deklaration angegeben. XHTML Dokumente können auch mit anderen Namensräumen verwendet werden, nur handelt es sich im Sinne der Spezifikation nicht mehr um ein streng konformes Dokument [XHTML 2002; Kap ]. Der Inhalt selbst, lässt sich in zwei Bereiche unterteilen. Im head Bereich werden vornehmlich die Meta-Informationen hinterlegt, während im body Bereich der eigentliche Dokumenteninhalt beschrieben wird [HTML 2000; Kap. 7]. Da XHTML-Dateien vornehmlich über einen Browser ausgegeben werden, ist die Formatierung von Elementen von entscheidender Bedeutung. Die Eigenschaften einer Formatierung kann in einer CSS-Datei festgelegt werden (Cascading Style Sheets; siehe hierzu Kapitel 4.5. Darstellung mittels CSS). Man unterscheidet in erster Linie in Block- und Inlineelemente diese Tatsache findet sich ebenfalls in anderen XML-Dokumenten wieder. Blockelemente haben die Eigenschaft, dass sie einen Absatz im Textfluss erzeugen. Blockelemente enthalten Zeichendaten, Inlineelemente und unter Umständen andere Blockelemente. Inlineelemente sind zum Beispiel Auszeichnungen und können nur andere Inlineelemente und Zeichendaten enthalten [HTML 2000; Kap ]. Weiterhin ist es möglich, Elemente durch die Attribute id und class näher zu spezifizieren. In erster Linie können diese Attribute zur unterschiedlichen Visualisierung mit Hilfe von CSS genutzt werden. Eine ID bietet jedoch darüber hinaus die Sicherheit einer Einmaligkeit im Dokument, könnte aber auch als Anker genutzt werden [HTML 2000; Kap ]. Eine weitere Möglichkeit zur Formatierung bieten die Elemente div und span, welche wiederum durch die Attribute class und id näher beschrieben werden. Das span Element dient als Inlineelement, während div zur Gruppierung von Blockelementen genutzt werden kann [HTML 2000; Kap ]. 25

28 4 Das Konzept der XML-Technologien 4.4. Transformation mittels XSLT Die extensible Style Language Transformations (XSLT) wurde 1999 von der W3C verabschiedet wurde zudem XSL-FO (XSL- Formatting Objects) verabschiedet. Beide Sprachen sind zusammen mit XPath unter der Bezeichnung XSL bekannt [XSL o.j.]. In dieser Diplomarbeit wird verstärkt auf XSLT und XPath Bezug genommen. In diesem Kapitel erfolgt nun eine Einführung des Aufbaus von XSLT-Dateien an Hand ausgewählter Beispiele. Die Bedeutung der Speicherung von Informationsbeständen in XML-Form korrespondiert mit der Möglichkeit mittels XSLT XML-Daten in beliebige Dokumentenvokabulare zu überführen. Schließlich sehen sich im Alltag Anwender und Nutzer von XML mit der Tatsache konfrontiert, dass XML-Dokumente beliebig verschieden aufgebaut seien können. In solchen Fällen entstehen keine Informationsbarrieren, da XSLT nun als Werkzeug dient, um einen Informationsaustausch zu ermöglichen. XML-Dokumente werden jedoch nicht nur für die medienneutrale Archivierung genutzt. Eine Vielzahl an Softwareanwendungen verfügen über eine XML-Schnittstelle, wobei in einigen Fällen eine separate Aufbereitung der XML-Daten notwendig ist (siehe hierzu die Erläuterungen im Kapitel 3. Single-Source-Multi-Channel-Publishing). Hierbei sind nicht nur, die für Unternehmen der Medienbranche relevanten Anwendungen wie beispielsweise die Adobe CS Anwendungen oder einfache Texteingabeprogramme wie Microsoft Office oder Open Office zu nennen, sondern ebenfalls die Präsentation von XML-Dokumenten, zum Beispiel bei Ausgabe in einem Internetbrowser, über Handy oder PDA. Bei all diesen Aspekten nimmt XML eine zentrale Stellung ein und XSLT ist wohl eines der wichtigsten Werkzeuge bei der Verarbeitung XML-basierter Informationen Überblick über einen Transformationsprozess Für einen Transformationsprozess muss zwingend ein Quelldokument vorliegen. Dieses wird durch die in der XSLT-Datei (XSLT-Stylesheet) enthaltenden Anweisungen verarbeitet und es wird ein Ergebnis- bzw. Zieldokument erzeugt. Strukturell können sich das Quell- und das Ergebnisdokument völlig voneinander unterscheiden [FB 2008; S. 31f.]. Denn XSLT ermöglicht es, Elemente des Quelldokuments zu filtern, umzuordnen und eine beliebige Struktur hinzuzufügen [Vgl. XSLT 2002; Kap. 1]. Die in dem XSLT-Stylesheet enthaltenen Anweisungen werden durch den XSLT-Prozessor umgesetzt. Dabei ist in erster Linie darauf zu achten, dass ein der XSLT-Version 26

29 4 Das Konzept der XML-Technologien entsprechender Prozessor verwendet wird. Einige Hersteller solcher Prozessoren haben zudem, die von der W3C definierte Spezifikation, durch eigene Vorschriften erweitert. Sind diese bei einer Transformation von Relevanz, müssen alle Nutzer zwingend diesen Prozessor verwenden [FB 2008; S. 1125f.] Adressierung innerhalb eines XML-Dokuments mittels XPath Um überhaupt einen Transformationsprozess definieren zu können, muss eine Möglichkeit gegeben sein, die hinterlegten Informationsbestandteile des XML-Quelldokuments»aufzufinden«. An dieser Stelle wird nun die Baummetapher, welche im Kapitel Baumansicht eines XML-Dokuments schon kurz vorgestellt worden ist, aufgegriffen und am Beispiel»Kochrezepte«weitreichend erläutert Relative und absolute Pfadausdrücke Ziel einer Adressierung mittels XPath, im Kontext einer Transformation, ist es, Knoten auszuwählen und diese anschließend zu verarbeiten. Um nun Knoten zu selektieren, wird ein Pfadausdruck bzw. ein Lokalisierungspfad angegeben. Dabei navigiert man»schritt für Schritt«durch den Baum. Jeder dieser Schritte nennt man Location Steps und sie werden mittels Schrägstrich voneinander getrennt [FB 2008; S. 67ff.]. Betrachten wir nun zuerst die Angabe eines Pfadausdrucks in absoluter Weise. In diesem Fall ist der Ausgangspunkt immer der Dokument- bzw. Wurzelknoten. Da dieser für das Dokument»an sich«steht, besitzt er keinen konkreten Namen bzw. Bezeichnung. Synonymisch wird daher der Schrägstrich verwendet [XP 2002; Kap. 5]. Der Pfadausdruck zur Selektion der Knoten mit der Bezeichnung Zutat des Beispiels Kochrezept wird wie folgt angegeben (wobei der erste Schrägstrich den Dokumentknoten darstellt) siehe Abbildung nächste Seite: /Kochrezepte/Kochrezept/Zutaten/Zutat Ein Pfadausdruck selektiert jedoch nicht einen Knoten, sondern immer eine Menge an Knoten (Sequenz 7 ) [XP 2002; Kap. 3.3]. Die jeweiligen Sequenzmitglieder werden Items genannt, wobei deren Reihenfolge sich nach der document order, also der Reihenfolge der Start-Tags im Quelldokument, richtet [FB 2008; S. 69]. Selbst wenn nur ein Knoten selektiert wird, handelt es sich um eine Sequenz, welche eben nur ein Item enthält. Der eigentliche Vorgang einer Knotenselektion ist, dass bei jedem Location Step eine 7 Prinzipiell, wie nachfolgend noch aufgezeigt wird, kann eine Sequenz nicht nur aus Knoten bestehen. Daher müsste korrekterweise die Bezeichnung Knotensequenz verwendet werden [a.a.o.] 27

30 4 Das Konzept der XML-Technologien Sequenz von Knoten gebildet wird, welche nun der Ausganspunkt des nachfolgenden Location Steps ist wobei dann wiederum eine Knotensequenz erzeugt wird. Nach dem letzten Lokalisierungsschritt liegt die Ergebnissequenz vor [a.a.o.; S. 324]. Eine weitere Möglichkeit der Pfadangabe ist der relative Pfadausdruck. In diesem Fall adressiert man ausgehend von einem Knoten im Dokument zu einem anderen. Eine Verarbeitung mittels XSLT kann als Cursor beschrieben werden, welcher stets auf einen Knoten fokussiert wird. Dieser Knoten ist nun Gegenstand der Verarbeitung daher wird die Bezeichnung current node bzw. Kontextknoten verwendet [Vgl. FB 2008; S. 62]. Ist beispielsweise der Knoten Kochrezept Kontext der Verarbeitung werden die Knoten Schritt folgendermaßen selektiert (der Kontextknoten ist dabei nicht anzugeben): Zubereitung/Schritt Achsen eines XML-Baums Der Transformationsprozess wäre äußerst eingeschränkt, wenn die Verarbeitung des Baums nur vorwärtsgerichtet, also von oben (Dokumentenknoten) nach unten (Leaf- Knoten), stattfinden könnte [a.a.o.; S. 70]. Um nun die Bewegungsrichtung selbst zu bestimmen und eventuell eine rückwärtsgerichtete Bewegung zu ermöglichen, werden Achsen angegeben. XPath stellt 13 Achsen zur Verfügung, wobei an dieser Stelle nur exemplarisch auf einige eingegangen werden kann [a.a.o.; S. 290ff.]. preceding ancestor 1 following self 11 1 Kochrezepte 2, 15 Kochrezept 3 Name self Zutaten , 8 Zutat 6, 9 Zutat_Name 7, 10 Zutat_Menge 11 Zubereitung , 13, 14 Schritt descendant Abbildung 2: Achsendarstellung (Eigene Darstellung vgl. FB 2008; S. 291) 28

31 4 Das Konzept der XML-Technologien Erfolgt die Angabe nun in absoluter Weise und es sollen die Knoten Zutat selektiert werden, dann ist die Bewegungsrichtung die descendant-achse (Nachfahren-Achse) [XP 2002; Kap. 2.2]. Der Achsenbezeichner muss vom Knotenbezeichner mittels doppelten Doppelpunkt getrennt werden. Die Angaben könnten nun in unterschiedlicher Weise erfolgen: /Kochrezepte/descendant::Zutat /Kochrezepte/Kochrezept/descendant::Zutat Je nach Kontextknoten können nun die verschiedenen Achsen verwendet werden, um Knotenmengen auszuwählen. In der Abbildung 2 ist der Kontextknoten Zutaten, welcher sich auf der self-achse befindet und der einzig enthaltende Knoten dieser Achse ist. Die Achsen preceding und following können noch durch die Angabe sibling spezifiziert werden. In diesem Fall werden die jeweiligen Geschwisterknoten des Kontextknoten ausgewählt: preceding-sibling::name following-sibling::zubereitung Ausgehend von der self-achse kann auf den Elternknoten bzw. auf die Kindknoten wie folgt zugegriffen werden: parent::kochrezept child::zutat XPath stellt für einige Achsen verkürzte Notationen zur Verfügung. So könnten die vorangegangenen Beispiele auch so wiedergeben werden:../kochrezept Zutat Für die child-achse wird schlicht der Bezeichner weggelassen [FB 2008; S. 72ff.]. Eine weitere Besonderheit sind Attributknoten. Diese besitzen zwar einen konkreten Elternknoten, in Form des jeweiligen Elementknoten, jedoch gilt dies nicht umgekehrt dass heißt, der Attributknoten gilt nicht als Kindelement des Elementknotens [XP 2002; Kap. 5.3]. Der Pfadausdruck erfolgt exemplarisch am Beispiel des Knotens Schritt, welcher einen Attrbutknoten nummer»enthält«: /attribute::nummer oder 29

32 4 Das Konzept der XML-Technologien Filterbedingungen in Form von Prädikaten Die Lokalisierung von Knoten mittels des entsprechenden Pfadausdrucks kann noch weiter eingeschränkt werden. In einem solchen Fall werden sogenannte Prädikate (Predicates) genutzt, welche nach Angabe der Knotenbezeichnung in eckigen Klammern formuliert werden. Je nachdem, welche Knoten zu selektieren sind, können beliebig viele Lokalisierungsschritte durch eine bzw. mehrere Filterbedingungen erweitert werden. Die Auswertung von Predicates kann einen booleschen Wert ergeben, dass heißt die gestellte Bedingung trifft für einen Knoten zu oder eben nicht (der Wert ist entweder true oder false) [FB 2008; S. 321]. Angenommen einige Kochrezepte enthalten Bilder. Mittels dem Pfadausdruck Kochrezept[child::Bild] bzw. Kochrezept[Bild] wird nun eine Sequenz aus den Elementen Kochrezept erzeugt, welche über ein Kindelement Bild verfügen. Alle anderen Elemente Kochrezept sind nicht in dieser Sequenz enthalten. XPath beschränkt sich jedoch nicht nur auf die Adressierung von Knotenmengen, sondern es ist ebenfalls möglich mittels XPath-Funktionen weiterreichende Verarbeitungen durchzuführen. In einigen Fällen kann es sinnvoll bzw. notwendig sein, Knoten an Hand ihrer Position zu differenzieren. In Verbindung mit einem Predicate kann für die Selektion des zweiten Knoten Kochrezept folgender Pfadausdruck angegeben werden: Kochrezept[position()=2] bzw. Kochrezept[2] Um die Filterbedingung zu definieren, wird ein Operand in Form eines Ist-Gleich-Zeichen verwendet [XP 2002; Kap. 3.4]. Dass bedeutet, dass die Auswertung des Predicates in diesem Fall keinen booleschen Wert ergibt, sondern eine Dezimalzahl in Form der Itemposition innerhalb der Sequenz hierbei spricht man von einem numerischen Prädikat [FB 2008; S. 323 ff.]. Predicates können in beliebiger Form miteinander verknüpft werden. Angenommen es sollen nur jene Rezepte selektiert werden, welche weniger als vier Zutaten besitzen und zudem über ein Bild verfügen. Der entsprechende absolute Pfadausdruck lautet: /Kochrezepte/Kochrezept[count(descendant::Zutat) < 4][child::Bild] /Kochrezepte/Kochrezept[count(Zutaten/Zutat) < 4 and Bild] Die XPath-Funktion count() ermöglicht es die Knoten mit der Bezeichnung Zutat zu zählen. Beachtet werden muss, dass sowohl das Kleiner-als als auch das Größer-als- Zeichen maskiert werden [XP 2002; Kap. 1]. Die Verknüpfung mehrerer Filterbedin- 30

33 4 Das Konzept der XML-Technologien gungen kann durch separate eckige Klammern erfolgen oder in dem der Operand and verwendet wird Verarbeitung eines XML-Dokuments mittels XSLT Jede XSLT-Datei ist selbst XML und muss demnach die Prüfung auf Wohlgeformtheit und Gültigkeit, im Sinne der XSLT-Spezifikation, bestehen. Ein XSLT-Dokument kann als Wurzelelement entweder xsl:stylesheet oder xsl:transform beinhaltet. XSLT-Elemente werden zudem mit dem Präfix xsl versehen, um sie so den XSLT-Namensraum zuzuordnen 8 [XSLT 2002; Kap. 2.1]: <?xml version= 1.0 encoding= UTF-8?> <xsl:stylesheet xmlns:xsl= version= 2.0 > [ ] </xsl:stylesheet> Zudem werden XSLT-Elemente klassifiziert [Vgl. FB 2008; S. 109]: Root-Element Wurzelelement Toplevel-Elemente Kindelemente des Wurzelelements Instruktionen Kind- und Nachfahrenelemente von Toplevel-Elementen Sub-Instruktionen Nachfahrenelemente von Toplevel-Elementen, aber niemals Kindelement dieser In erster Linie wird die Art des Ergebnisdokuments festgelegt. Dazu bedient man sich dem Toplevel-Element xsl:output: <xsl:output doctype-public= -//W3C//DTD XHTML 1.0 Strict//EN doctype-system= method= xhtml indent= yes encoding= UTF-8 /> Mittels dem Attribut method kann die Art des zu erzeugenden Dokuments festgelegt werden. In diesem Fall soll eine XHTML-Datei generiert werden. Im Sinne der XHTML- Spezifikation erfolgt noch die Einbindung der DTD. Das Attribut indent dient dazu, um Einzüge dem Quellcode des Zieldokuments hinzuzufügen so erschließt sich die Struktur dem Nutzer besser [XSLT 2002; Kap. 16] Verarbeitung des Dokumentknotens Nun sind die Rahmenbedingungen festgelegt und die eigentliche Verarbeitung des Inhalts kann erfolgen. Hierzu werden Template-Regeln mittels dem Toplelevel-Element xsl:template definiert: 8 XSL-FO-Elemente werden durch das Präfix fo gekennzeichnet [XSL 2006; Kap. 2.2] 31

34 4 Das Konzept der XML-Technologien <xsl:template match= / > <html> <head> <title/> </head> <body> <xsl:apply-templates select= Kochrezepte /> </body> </html> </xsl:template> Diese Template-Regel stellt den Beginn der Verarbeitung durch den XSLT-Prozessor dar. Denn es ist die Template-Regel für den Dokumentknoten, welcher mittels des match- Attributs ausgewählt wurde. Genauer gesagt,»passt«diese Template-Regel nur auf den Dokumentknoten der angegebene Pfadausdruck / dient als Vergleichsmuster (XPath-Pattern) [FB 2008; S. 41]. Innerhalb dieser Template-Regel wird nun der Aufbau des Zieldokuments festgelegt. Hierzu werden die Elemente einfach eingebunden. In diesem Fall spricht man von Literal Result Elements (LRE), welche so wie sie sind, in das Zieldokument übernommen werden [a.a.o.; S. 47]. An dieser Stelle wird nur der formal gültige Aufbau eines XHTML- Dokuments festgelegt. Das LRE body enthält eine Instruktion xsl:apply-templates. Diese Instruktion ruft nun die Template-Regeln der Kindknoten auf, welche mittels dem select-attribut ausgewählt worden sind. Werden die Template-Regeln aller Kindknoten aufgerufen, dann muss das select-attribut nicht angegeben werden [XSLT 2002; Kap. 5.3f.]. Liegt keine explizite Template-Regel für ein Kindelement vor, welches aufgerufen wurde, dann ist zu beobachten, dass der Text trotzdem im Ergebnisdokument erscheint. Dieser Faktor lässt sich auf die sogenannten Default-Template-Regeln zurückführen. Diese treten in Kraft, so bald keine entsprechenden Template-Regeln definiert worden sind. Diese Template-Regeln werden vom XSLT-Prozessor ausgeführt (vielmehr lässt sich das Verhalten in der XSLT-Syntax abbilden). Einer dieser Default-Template-Regeln»kopiert«nun alle Textknoten der mittels xsl:apply-templates angegebenen Kind- bzw. derer Nachfahrenelemente [FB 2008; S. 102f.]. Bevor weitere Verarbeitungsanweisungen konkretisiert werden, wird nochmals die Verarbeitung mittels xsl:template erläutert. Es wurde gesagt, dass wenn das Vergleichsmuster (XPath-Pattern) passt, die Verarbeitungen innerhalb von xsl:template durchgeführt werden. Es wird jedoch keine Sequenz verarbeitet, sondern immer nur ein Knoten der Sequenz dieser ist der Kontextknoten bzw. current node. Die Reihenfolge 32

35 4 Das Konzept der XML-Technologien der Verarbeitung richtet sich wiederum nach der document order. Da es nur einen Knoten gibt, welcher aktuell verarbeitet wird, gibt es auch nur eine aktuelle Template-Regel [XSLT 2002; Kap. 4; Kap. 5.6.] Sequenzen innerhalb der Instruktion xsl:value-of Ein Bestandteil dieser Template-Regel für den Elementknoten Kochrezept ist: <xsl:template match= Kochrezept > <h1><xsl:value-of select= Name /></h1> <h2>zutaten</h2> Es wird das Literal h1 erzeugt, welches wiederum die Instruktion xsl:value-of enthält. Diese wird immer dann verwendet, wenn ein Textknoten erzeugt werden soll. Hierzu werden die Zeichenketten, aller mittels select angegebenen Textknoten der Elemente, zu einem Textknoten zusammengeführt [XSLT 2002; Kap ]. In diesem Fall wird ausschließlich der enthaltene Text des Elements Name verarbeitet. Der im Literal h2 enthaltene Text wird ebenfalls in das Ergebnisdokument kopiert. <xsl:for-each select= Zutaten/Zutat > <p> <xsl:value-of select= ( Zutat:, Zutat_Menge, Zutat_Name) /> </p> </xsl:for-each> [...] </xsl:template/> Bei der nachfolgenden Verarbeitung mittels xsl:for-each, welches wiederum sequenziell jeden Knoten des entsprechenden XPath-Pattern verarbeitet, soll jeweils ein Element p erzeugt werden. Da das Element Zutat kein direkter Nachfolger ist, muss der relative Pfad, abhängig von Kontextknoten angegeben werden. In einigen Fällen ist es jedoch recht umständlich, solche umfangreichen Pfadangaben auszudrücken. Daher ist die Verwendung des XPath-Pattern s //Zutat ebenfalls möglich. Der doppelte Schrägstrich ermöglicht sozusagen das Überspringen. Tatsächlich ist es ähnlich der Angabe»descendant::«[FB 2008; S. 76]. XSLT 2.0 ermöglicht es innerhalb der xsl:value-of-instruktion eine Sequenz zu bilden, welche mit runden Klammern angegeben werden muss. In diesem Fall handelt es sich um eine gemischte Sequenz, da neben den Elementknoten Zutat_Menge und Zutat_Name Zeichendaten angegeben sind. Zeichendaten müssen mittels Apostroph gekennzeichnet werden [a.a.o.; S. 91ff.]. In dem Ergebnisdokument ist zu erkennen, dass zwischen allen angegebenen Bestandteilen (Items) der Sequenz ein Leerzeichen hinzugefügt wurde. Dass hängt damit zusammen, dass das XSLT-Element xsl:valueof ebenfalls ein Attribut separator enthält. Dieses Attribut ermöglicht es Trennzeichen 33

36 4 Das Konzept der XML-Technologien anzugeben, wobei der Default-Wert ein Leerzeichen ist somit ist die explizite Angabe nicht notwendig [a.a.o.; S. 965f.]. Die Verarbeitung der Elemente Zubereitung und Schritt kann in vergleichbarer Art und Weise erfolgen und wird deshalb an dieser Stelle vernachlässigt Attributwert-Templates An dieser Stelle soll noch die Verwendung von sogenannten Attribute Value Templates (AVT) erläutert werden. Hierzu nehmen wir nochmals das Element Bild als Kindelement von Kochrezept an: <Bild href= bild.jpg >der Alternativtext</Bild> Die entsprechende Template-Regel ist wie folgt aufgebaut: <xsl:template match= Bild > <img src= alt= {current()} /> </xsl:template> Alle zu erzeugenden Bestandteile werden literal definiert, die Attribute eingeschlossen. Da die Attributwerte nicht statisch sind, sondern dynamisch bestimmt werden, dass heißt in diesem Fall aus dem Attribut href und dem Inhalt des Elements Bild der Quelldatei, müssen spitze Klammern angegeben werden [FB 2008; S. 42f.]. Der Inhalt des zu erzeugenden Attributs alt ist {current()}, womit der Inhalt des Kontextknotens gemeint ist. Eine alternative Schreibweise ist {.}. Das AVT {Bild} führt in diesem Kontext zu keinem Ergebnis, da Bild bereits Kontext der Verarbeitung ist und dementsprechend nicht nochmals ausgewählt werden kann [XSLT 2002; 12.4] Entfernung von Whitespace-Nodes Als Whitespace-Nodes werden jeglicher Leerraum 9 zwischen Elementen bezeichnet. Für das Quelldokument werden diese, im Gegensatz zum Leerraum in der XSLT-Datei, als signifikant betrachtet und daher in das Ergebnisdokument kopiert [FB 2008; S. 88]. So könnte sich zum Beispiel folgendes Bild im Quelltext eines Ergebnisdokuments ergeben: <sect1> <title> </title> <info> Neues aus dem Streifband-Büro 9 Genauer gesagt handelt es sich um das Leerzeichen, Zeilenumbruch, Tabulator und Wagenrücklauf [FB 2008; S. 928] 34

37 4 Das Konzept der XML-Technologien <abstract> <para> Das letzte Redesign liegt fünf Jahre zurück. Ab dieser 14. Ausgabe zeigt sich das Projekt Streifband im neuen Layout. </para> </abstract> </info> Die Whitespace-Nodes erweisen sich in dieser Hinsicht durchaus als störend, da sie im Inhalt selbst enthalten sind. Um solche Problematiken zu vermeiden, stellt XSLT das Toplevel-Element xsl:strip-space zur Verfügung. <xsl:strip-space select= * /> In der Regel werden alle Knoten selektiert, um die unerwünschten Whitespace-Nodes zu entfernen [XSLT 2002; Kap. 3.4][FB 2008; S. 88ff.] Gruppierung mittels der Instruktion xsl:for-each-group Die Instruktion xsl:for-each-group ist funktional gesehen vergleichbar mit xsl:foreach. Allerdings können mittels xsl:for-each-group mehrere Knoten mit unterschiedlicher Bezeichnung gruppiert und verarbeitet werden. Auf den ersten Blick scheint eine solche Notwendigkeit nicht zwingend gegeben sein. Angenommen man möchte ein HTML-Dokument in das DocBook-Vokabular überführen. Der Nutzer sieht sich nun mit der Tatsache konfrontiert, dass ein flach strukturiertes Dokument in ein stärker strukturiertes Dokument transformiert werden soll. Die nachfolgende Abbildung verdeutlicht, welche Vorgehensweise notwendig ist: Gruppe Gruppe Gruppe <h1>xml</h1> <p>xml ist eine... </p> <p>so lassen sich folgende... </p> <h1>word 2007</h1> <p>word 2007 stellt endlich...</p> <p>diese Punkte lassen sich...</p> <ol> <li>ooxml</li> <li>odf</li> <ol> <h1>e-learning</h1> <p>es sind...</p> Abbildung 3: Gruppierung mittels xsl:for-each-group 35

38 4 Das Konzept der XML-Technologien Die genannte Instruktion muss wie folgt definiert werden: <xsl:for-each-group select= * group-starting-with= h1 > <xsl:choose> <xsl:when test= h1 > <sect1> <xsl:apply-templates select= current-group() /> </sect1> </xsl:when> <xsl:otherwise> <xsl:apply-templates select= current-group() /> </xsl:otherwise> </xsl:choose> </xsl:for-each-group> Zuerst müssen die zu gruppierenden Knoten selektiert werden. In diesem Fall wurden mittels des Sternchens alle Knoten ausgewählt. Die Instruktion benötigt jedoch darüber hinaus noch ein weiteres Gruppierungskriterium. In diesem Fall wird mittels groupstarting-with die in der Abbildung 3 zu erkennende Gruppierung durchgeführt. Dass bedeutet, jede Gruppe beginnt mit dem Element h1 und umfasst darüber hinaus alle nachfolgenden Knoten bis zu dem nächsten h1-element [FB 2008; S. 749ff.]. Die verwendete xsl:choose-anweisung untergliedert sich in zwei Sub-Instruktionen xsl:when und xsl:otherwise. Wird die Wenn-Bedingung abgelehnt, treten die unter xsl:otherwise formulierten Verarbeitungsanweisungen in Kraft [XSLT 2002; Kap. 9.2]. Da der im Attribut group-starting-with angegebene Knoten gleichzeitig der aktuelle Knoten ist, kann eine Unterscheidung innerhalb von xsl:choose stattfinden. In diesem Fall wird die Wenn-Bedingung für alle Knoten vor dem ersten h1-element abgelehnt da der aktuelle Knoten nicht h1 sein kann. Trifft die Bedingung zu, wird das LRE sect1 erzeugt und die Template-Regeln für die Items der aktuellen Gruppe mittels <xsl:apply-templates select= current-group() /> aufgerufen [FB 2008; S. 749ff.]. 36

39 4 Das Konzept der XML-Technologien 4.5. Darstellung mittels CSS Der Begriff Cascading Style Sheets (CSS) wurde im Laufe dieser Arbeit schon an einigen Stellen genannt und soll im nachfolgenden Kapitel noch etwas näher vorgestellt werden. Wie im Kapitel 3. Single-Source-Multi-Channel-Publishing und im Kapitel 4.3. Das Dokumentenformat XHTML schon erwähnt wurde, kann CSS genutzt werden, um strukturierte Dokumente, welche XML-basiert oder HTML sind, zu formatieren [CSS 1998; Zusammenfassung]. CSS liegt momentan in der Version 2.1 vor und ist ebenfalls eine Spezifikation der W3C. Der Ursprung von CSS ist auf das Bedürfnis der Nutzer zurückzuführen, HTML- Dokumente von Formatierungsbefehlen weitestgehend zu»befreien«[vgl. KL 2006; S. 23]. Fortan sollte es ermöglicht werden, Formatierungseigenschaften in einer separaten Datei zu hinterlegen, was den Aspekt der Trennung von Inhalt und Gestaltung unterstreicht. Zudem brachte die CSS-Syntax eine Reihe von neuen Formatierungsmöglichkeiten mit sich, die beispielsweise den Einsatz von sog. blinden Tabellen, welche den Quellcode unnötig»aufgebläht«haben, unzweckmäßig erscheinen lässt [KL 2006; S. 21]. CSS kann als einer der vielen Schritte auf dem Weg der Interoperabilität beschrieben werden Probleme bei der Ausgabe im Web Vor allem die Produzenten, welche ihren Content ins Web publizieren, sehen sich mit einigen Problemstellungen konfrontiert. Damit die Konsumenten Zugang zu dem Content haben, muss dieser grundsätzlich fehlerfrei zur Verfügung gestellt werden. Im Angesicht der Tatsache, dass heute auch ältere Browserversionen genutzt werden, welche die CSS-Spezifikationen unterschiedlich umsetzen (können), ist die fehlerfreie Präsentation nicht zu garantieren, wenn man sich ausschließlich auf die letzte Spezifikation von CSS bezieht. Zudem gibt es eine Vielzahl an unterschiedlichen Browsern, wie beispielsweise den Internet Explorer, Modzilla Firefox, Opera oder Google Chrome, um einige zu nennen, welche ebenfalls die CSS-Spezifikationen unterschiedlich umsetzen. Die Produzenten, welche mit Hilfe von CSS ihre Webinhalte präsentieren, sind daher teilweise»gezwungen«, Formatierungseigenschaften Browser- bzw. Versionsspezifisch zu definieren [KL 2006; S. 91ff.]. Erstaunlicherweise sind einige Formatierungsbefehle in den Browsern nicht so implementiert, wie es die Spezifikationen vorsehen grundsätzlich muss dies auch nicht 37

40 4 Das Konzept der XML-Technologien geschehen, da es sich ja nur um eine Empfehlung seitens der W3C handelt. Um solche»fehlerscheinungen«(bugs) zu korrigieren, können Hacks verwendet werden. Die W3C ihrerseits verweist auf verschiedene Webseiten, welche sich dem Thema Bugs und Hacks in CSS widmen [W3C_4 2009][KL 2006; S. 119f.] Einbinden einer CSS-Datei Da sich weitestgehend alle formatierungsrelevanten Eigenschaften in einer externen Datei befinden, muss diese in die Inhaltsdatei eingebunden werden. Bevor diese Vorgehensweise dargelegt wird, ist noch anzumerken, dass die CSS-Datei natürlich in beliebig viele Dateien eingebunden werden kann somit können die Formatierungseigenschaften besser gesteuert werden (da sie ja nur einmalig geändert werden müssten) und es tritt eine Datenredundanz ein. Um CSS-Dateien in XML-basierte Dateien einzubinden, kann im Prolog folgende Angabe hinterlegt werden: <?xml version= 1.0 encoding= ISO ?> <?xml-stylesheet type= text/css href= test.css?> <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN > <html xmlns= > [...] </html> Problematisch gestaltet sich an dieser Stelle die Ausgabe im Web. Der Internet Explorer ist selbst in der aktuellen Version 8 nicht in der Lage, XHTML-Dateien anzuzeigen [ix_1 5/2008; S. 55]. Daher ist die Einbindung in dieser Form, für eine Webausgabe, nicht sinnvoll. Es empfiehlt sich daher, einen persistenten CSS-Link einzubinden. Es wird das Element link als Kindelement von head einer (X)HTML-Datei notiert [KL 2002; S. 66]: <link rel= stylesheet type= text/css href= test.css /> Selektoren An dieser Stelle kann nicht auf alle Möglichkeiten der Formatierung von Textinhalten eingegangen werden. Daher werden, nur einige Beispiele aufgeführt. Um nun ein Element zu formatieren, muss der Name des Elements angegeben werden, wobei in nachfolgenden spitzen Klammern die Formatierungseigenschaft und der Wert 38

41 4 Das Konzept der XML-Technologien angegeben werden. In diesem Fall findet wie bei XPath ein Mustervergleich (Pattern) statt [CSS 1998; Kap. 5.1][KL 2006; S. 41ff.]. p, h1 {font-family: Verdana; color: red;} In diesem Fall wurden dem Element p und dem Element h1 die Schriftfamilie Verdana und die Schriftfarbe Rot zu gewiesen - mehrere Eigenschaften werden immer durch Semikolon voneinander getrennt. In erster Linie wird der Nutzer seinen Content mittels den Attributen id und class differenzieren. In CSS stellen diese beiden Attribute eigene Selektoren dar: p.abstract {...} div#literaturempfehlung {...} In der HTML-Datei finden sich die genannten Elemente in folgender Form: <p class= abstract >...</p> <div id= literaturempfehlung >...</div> Der Punkt steht synonymisch für das Attribut class, während id durch eine Raute beschrieben wird [CSS 1998; Kap ; Kap. 5.9.]. Weitere Differenzierungsmöglichkeiten stellt das Selektieren eines Elements an Hand seiner Kontextposition dar. So wählt die Angabe p em {...} alle Elemente em aus, welche Nachfahren von dem Element p sind [CSS 1998; Kap. 5.1] Vererbung und Kaskadierung CSS verinnerlicht ein Vererbungsprinzip, welches definierte Eigenschaften eines Elements an die Nachfahren weiterverbt [CSS 1998; Kap. 6.2]. Verfügt das Element p über die Schriftfarbe rot, so wird auch das Kindelement em rot sein, ausgenommen diese Eigenschaft wurde für das Element em schon definiert. Dabei ist darauf zu achten, dass nicht alle Eigenschaften weitervererbt werden können [KL 2006; S. 55]. Für ein Element können unterschiedliche Definitionen auftreten. Welche Eigenschaften für das Element letztlich visualisiert werden, lässt sich an Hand konkreter Zahlenwerte ausdrücken: 39

42 4 Das Konzept der XML-Technologien id = Wertigkeit 100 class = Wertigkeit 10 normal = Wertigkeit 1 Wird ein Element einfach definiert, besitzt es eine Wertigkeit von 1. Je genauer es definiert wurde, desto höher ist der Wert [CSS 1998; Kap ]. Dass bedeutet: span {...} (1) p span {...} (2) p span.bold {...} (12) Dabei werden nur jene Eigenschaften»überschrieben«, welche explizit genannt werden. Die anderen Eigenschaften hält das Element bei. Desweiteren gilt [CSS 1998; Kap. 6.4]: bei mehrfach gleichen Selektor, gilt die Letzte Definition Erfolgt eine Kennzeichnung mittels!important, ist diese Definition höherwertig als andere (z.b. p {color:red!important; }) Benutzerdefinierte Stylesheets sind höherwertiger als die dem Dokument zu Grunde liegenden Stylesheet-Eigenschaften, wobei diese höherwertiger sind, als vom Anzeigeprogramm (Browser) 40

43 5 Die XML-basierte Textverarbeitung mittels Microsoft Word Die XML-basierte Textverarbeitung mittels Microsoft Word Verwendung von Templates Die Verwendung von Templates in Textverarbeitungsprogrammen ist mittlerweile Verlagsalltag. Dass hängt maßgeblich damit zusammen, dass gewisse Herstellungsprozesse (teil)-automatisiert werden können, was wiederum zeit- und kosteneinsparend ist. Zudem können aufwändige Nacharbeiten vermieden werden. Diese Aspekte treffen dabei keinesfalls nur auf mittlere und größere Medienunternehmen zu. In der vorliegenden Arbeit spielt die Verwendung von Templates ebenfalls eine wichtige Rolle. Auf den nachfolgenden Seiten soll ein kurzer Einblick gegeben werden, wie sich der Umgang mittels definierter Formatvorlagen und dem Dokumentenschutz gestaltet. Weitere Informationen lassen sich der Microsoft Office Word Homepage: [Microsoft Corporation (2009): Word-Homepage Microsoft Online Office] entnehmen. Die nachfolgenden Erläuterungen, im Umgang mit Formatvorlagen in Word 2007, lassen sich in drei Schritte untergliedern: 1. Definieren von Formatvorlagen Word 2007 bietet, die schon aus vorherigen Versionen, bekannten Einstellungsmöglichkeiten von Formatvorlagen. Allerdings bringt Word 2007 eine vollständig überarbeitete Oberfläche mit sich und so wird auch das Handling für Formatvorlagen verbessert. In Word 2007 wurde nun eine Schnellformatierungsleiste integriert, wobei elf Formatvorlagen direkt angezeigt werden können. Zudem können über diese Leiste die Eigenschaften der jeweiligen Formatvorlage definiert werden. Daher muss das Fenster»Formatvorlagen«nur geöffnet werden, wenn neue Formatvorlagen erstellt bzw. die Verwaltung der Formatvorlagen verändert werden soll. Abbildung 4: Übersicht Formatvorlagen (Eigene Darstellung) 41

44 5 Die XML-basierte Textverarbeitung mittels Microsoft Word Verwalten von Formatvorlagen Das Verwalten von Formatvorlagen ermöglicht es u.a. die Schnellformatierungsleiste einzustellen. So können nicht verwendete Formatvorlagen, zum Beispiel Vorlagen, welche nicht für einen Autor oder Redakteur von Interesse sind, über einen Button ausgeblendet werden. Der Button»Wert zuweisen «ermöglicht es, die Reihenfolge der angezeigten Formatvorlagen der Schnellformatierungsleiste zu verändern. Abbildung 5: Formatvorlagen verwalten(eigene Darstellung) 3. Der Dokumentenschutz Abbildung 6: Formatieren bei aktiven Dokumentenschutz (Eigene Darstellung) Der Dokumentenschutz ist die einfachste Möglichkeit, um die Textformatierung zu kontrollieren. Unter dem Reiter»Überprüfen«kann dieser aktiviert werden, wobei ein Aufheben des Schutzes nur bei Eingabe des Passworts möglich ist. Bei aktivem Dokumentenschutz sind keine manuellen Textformatierungen möglich. Es können ausschließlich die vorgegebenen Formatvorlagen, welche in der Schnellformatierungsleiste angezeigt sind, genutzt werden. Somit ist die Grundlage für eine (teil)-automatisierte Verarbeitung gegeben. Weitere Erläuterungen lassen sich dem Kapitel Das Dokumentenformat OOXML entnehmen. 42

45 5 Die XML-basierte Textverarbeitung mittels Microsoft Word Kompatibilität zu älteren Wordversionen Word 2007, die neuste Version dieses Textverarbeitungsprogramms von Microsoft, bringt das neue Dateiformat»DOCX«bzw. für Templates»DOTX«mit sich. Dass»X«ist laut Microsoft der Hinweis darauf, dass es sich um XML-Dateitypen handelt [MS_Word 2008]. Nachfolgend wird kurz erläutert, wie die Abwärtskompatibilität zu den Versionen 2002 und 2003 sichergestellt werden kann und welche eventuellen Änderungen in den Templates vorgenommen werden müssen. Die erste Möglichkeit, um die Verarbeitung der neuen Dateiformate in den genannten älteren Versionen sicherzustellen, ist das Installieren des»microsoft Office Compatibility Pack für Dateiformate von Word, Excel und PowerPoint 2007«. Dieses ermöglicht das Öffnen und Bearbeiten der neuen»x-formate«[ms_word_2 2008]. Die zweite Möglichkeit bietet Word 2007 selbst. So ist es möglich, Dokumente im älteren Dateiformat, zum Beispiel»DOC«oder»DOT«speichern und öffnen zu können. Die weitere Vorgehensweise lässt sich daher in zwei Schritten beschreiben: 1. Öffnen von abwärtskonvertierten Dateien in Word 2002 und Word 2003 Da die Verwendung von Templates von Relevanz ist, ist nachfolgend zu untersuchen, welche Änderungen nach der Speicherung in Word 2007 im»dot«format beim Öffnen in Word 2002 bzw notwendig sind. Es kann festgestellt werden, dass die angelegten Formatvorlagen vorhanden sind und diese ohne weiteres auch genutzt und verändert werden können. Einzig der Umstand, dass im Klappmenü alle Formatvorlagen des Dokuments sichtbar sind, Abbildung 7: Formatvorlagen ausblenden in Word 2002 (Eigene Darstellung) muss korrigiert werden. Hierzu wird das Fenster»Formatvorlagen und Formatierung «aufgerufen und unter dem Punkt»benutzerdefinierte Formatvorlagen«können nun alle nicht gewünschten Formatvorlagen ausgeblendet werden. Ebenfalls ist es möglich einen Dokumentenschutz zu aktivieren, um manuelle Formatierungen auszuschließen. 43

46 5 Die XML-basierte Textverarbeitung mittels Microsoft Word Konvertieren der Dateien in das»docx«format Ältere Dateiformate werden in Word 2007 im Kompatibilitätsmodus geöffnet. Es sind keine weiteren Korrekturen notwendig, d.h. alle Formatierungen liegen wie gewünscht vor. Nun kann über den Menüpunkt»Konvertieren«das Dokument in das neue Dateiformat überführt und final abgespeichert werden 10 [MS_Word 2008] Das Dokumentenformat OOXML Geschichte Die Integration einer XML-Schnittstelle, für die Officeanwendungen Word, Excel und Power Point, begann im Jahr Doch erst die Version 2007 verfügt über ein international standardisiertes Dokumentenformat, genannt Office Open XML (Open XML, OOXML) [MICRO_1 2008]. Open XML wird u.a. von Microsoft entwickelt, wobei dieser plattformunabhäniger Standard es ermöglichen soll, die oben genannten Officeanwendungen in automatisierte Prozesse von Nutzern, zum Beispiel Unternehmen oder öffentliche Einrichtungen, zu integrieren. Am 7. Dezember 2006 wurde Open XML von der Ecma 11 als Standard, mit der Nummer 376, verabschiedet [OpenCom_2 2008]. Die Ecma ihrerseits leitete Open XML an das Technische Komitee der International Standard Organisation/International Electronical Commission (ISO/IEC) weiter. Am 17. November 2008 wurde Open XML unter Bezeichnung ISO/IEC als Standard verabschiedet [ISO_1 2008]. Jedoch muss berücksichtigt werden, dass der ISO/IEC Standard nicht mit dem Ecma-Standard übereinstimmt, da jedes zugehörige technische Komitee eines angehenden Standards, Bedingungen formuliert, welche für eine Veröffentlichung erfüllt werden müssen [ISO_2 2008]. Da dieser ISO/IEC Standard nicht in der bisherigen Word 2007 Version implementiert wurde, beziehen sich die nachfolgenden Erläuterungen auf den Ecma Standard Schwächen des Dokumentenformats OOXML Die Implementierung von Open XML als internationaler Standard wird auch kritisch betrachtet. So wird der Umfang des Standards mit mittlerweile 6000 A4 Seiten stark kritisiert. Die ISO/IEC ihrerseits behauptet, dass ein solcher Umfang für einen IT Standard 10 An dieser Stelle ist anzumerken, dass die erzeugten OOXML-Daten von der Konvertierung nicht beeinflusst werden und korrekt vorliegen. 11 Ecma ist eine internationale Gesellschaft, welche sich mit der Standardisierung von Informations- und Kommunikationstechnologien befasst [ECMA o.j.] 44

47 5 Die XML-basierte Textverarbeitung mittels Microsoft Word 2007 nicht ungewöhnlich sei [ISO_2 2008]. Microsoft und die Ecma erklären, dass für einfache Anwendungen nicht die Berücksichtigung im vollen Umfang notwendig ist [OpenCom_1 2008]. Allerdings sind Kritiker der Meinung, dass die angestrebte Interoperabilität durch einen solchen Umfang behindert werde [ix 5/2008; S. 3]. Weiterhin besteht ein konkurrierendes Dokumentenformat Open Document Format (ODF), welches schon 2006 durch die ISO/IEC ratifiziert wurde. Die Entwickler von Open XML sehen jedoch keinen Wiederspruch darin, ein weiteres Dokumentenformat zu erstellen, da zwar gewisse Gemeinsamkeiten erkennbar sind, jedoch die Architektur und die Nutzung sich unterscheiden [OpenCom_3 2008]. Die ISO äußerte zudem, dass der Markt selbst entscheiden muss, ob und in wie weit sich diese Standards etablieren können [ISO_2 2008]. Im Juni 2008 gestand jedoch der Microsoft Manager Stuart McKee ein, dass ODF diesen Wettbewerb klar gewonnen habe und die zukünftigen Officeanwendungen, neben OOXML, auch ODF unterstützen werden. Skeptiker äußern, dass Microsoft»nur auf einen fahrenden Zug aufspringen und Geld verdienen wolle.«[hei 2008] Speicherung eines OOXML-Dokuments als ZIP-Archiv OOXML-Dokumente werden immer als ZIP-Container hinterlegt [OOXML:P1 2006; S.16]. Dabei werden, je nach Anwendung, drei unterschiedliche Markup Languages genutzt. Word nutzt»wordprocessing ML«, Excel»Spreadsheet ML«und Power Point»Presentation ML«. Zudem können u.a. die Dokumentenbeschreibungssprachen Drawing ML, VML oder Math ML in allen drei Dokumentenklassen eingebunden werden [OOXML:P1 2006; S.11ff.]. Um ein solches ZIP-Archiv zu erstellen, kann es notwendig sein, die Dokumentenanwendung mit den Dateiendungen».docx«,».xls«oder».ppt«manuell in».zip«zu ändern 12. Abschließend wird das Archiv entpackt. Abbildung 8: ZIP-Archiv eines Worddokuments (eigene Darstellung) 12 Einige Archivierungsprogramme erkennen automatisch ein Archiv, womit diese Vorgehensweise entfällt 45

48 5 Die XML-basierte Textverarbeitung mittels Microsoft Word 2007 Der eigentliche Dokumenteninhalt wird im Ordner word unter document.xml abgespeichert. Die anderen Dateien dieses Ordners beinhalten Font- oder Layouteigenschaften. Nur die Fuß- oder Endnoten werden in der separaten Datei footnotes.xml gespeichert [OOXML:P1 2006; S.26]. Im Ordner word/media befinden sich eingebundene Ressourcen, wie zum Beispiel Bilder. Werden Smart-Grafiken wie Diagramme oder Formen im Dokument benutzt, werden diese ebenfalls in separaten Unterordnern von word, mit entsprechender Bezeichnung, hinterlegt [OOXML:P1 2006; a.a.o.]. Im Ordner docprops werden einerseits Metadaten hinterlegt (core.xml), andererseits werden allgemeine Dokumenteneigenschaften hinterlegt (app.xml), z.b. die Anzahl der Seiten, Wörter, Erstellungsdatum etc. [OOXML:P2; S. 36][OOXML:P1; S. 26]. Die Dateien in den jeweiligen Unterordnern _rels enthalten Informationen über die Beziehungen, zum Beispiel zwischen der Quelldatei und den eingebundenen Ressourcen [OOXML:P2; S. 16ff.] Speicherung des Dokumenteninhalts in der Datei»document.xml«Die Datei document.xml enthält, wie vorher genannt, fast den gesamten Dokumenteninhalt. Daher erfolgen einige Erläuterungen zum Aufbau dieser XML-Datei. Da die Spezifikation sehr umfangreich ist, werden der allgemeine Aufbau, sowie die Speicherung von Absatz- und Zeichenformatvorlagen und Tabellen, dargestellt. Weitere Informationen und Erläuterungen lassen sich dem Praxisteil der Diplomarbeit, sowie der Ecma-Spezifikation 376 unter: standards/ecma-376.htm [Standard ECMA-376 (2006): Office Open XML File Formats. Ecma TC 45] entnehmen. Der Grundaufbau der document.xml: <?xml version= 1.0?> <w:document xmlns:w= wordprocessingml/2006/main > <w:body> [...] </w:body> </w:document> Das Wurzelelement ist w:document, wobei alle genutzten Schema-Dateien als Namespace eingebunden werden 13. Innerhalb des w:body-elements wird der eigentliche Dokumenteninhalt hinterlegt, z.b. Text, Tabellen, Referenzen für Grafiken, Diagramme 13 Je nach Dokumenteninhalt müssen die Namespaces für Math ML, Drawing ML, VML etc. an dieser Stelle eingebunden werden 46

49 5 Die XML-basierte Textverarbeitung mittels Microsoft Word 2007 usw. [OOXML:P1 2006; S. 2f.]. Das Anlegen von Formatvorlagen in einem Word-Dokument dient dazu, die einzelnen Textbestandteile innerhalb der document.xml zu unterscheiden. Demnach ist ein Worddokument, welches Text beinhaltet, welcher ausschließlich manuell, dass heißt ohne Formatvorlagen, formatiert wurde, für eine eventuelle automatisierte Verarbeitung ungeeignet, da die Textelemente nicht weitreichend voneinander unterschieden werden können. Daher ist das Anlegen von Formatvorlagen in einem Worddokument grundlegend. Ein Satz mit der Absatzformatvorlage Fließtext und einer Auszeichnung Kursiv wird in OOXML folgendermaßen beschrieben: <w:p> <w:ppr> <w:pstyle w:val= Fließtext /> </w:ppr> <w:r> <w:t>ein Satz mit </w:t> </w:r> <w:r> <w:rpr> <w:rstyle w:val= Kursiv /> </w:rpr> <w:t>auszeichnung</w:t> </w:r> <w:r> <w:t>.</w:t> </w:r> </w:p> Das Element w:p ist ein Kindelement von w:body und definiert einen Absatz (paragraph). Der Wert des Attributs w:val, im w:pstyle-bereich, enthält die Information, welche Absatzformatvorlage genutzt wurde. Der eigentliche Text ist im Element w:t hinterlegt. Da die Auszeichnung über eine neue Formateigenschaft verfügt, wird dementsprechend ein neues Element w:r mit zugehörigen w:rstyle-bereich erzeugt, welches wiederum die Information enthält, mittels welcher Zeichenvorlage der enthaltene Text formatiert wurde [OOXML:P1 2006; S.4ff.]. Die Speicherung von Tabelleninhalten ist für die vorliegende Diplomarbeit ebenfalls von Interesse und soll daher an dieser Stelle vorgestellt werden. Welcher Tabelleninhalt vorliegt, kann in OOXML nur an Hand eines Absatzelements w:p vor oder nach der eigentlichen Tabelle festgestellt werden. Das nachfolgende Beispiel ist nicht als vollständig anzusehen: 47

50 5 Die XML-basierte Textverarbeitung mittels Microsoft Word 2007 <w:p> <w:ppr> <w:pstyle w:val= Beschriftung /> </w:ppr> <w:r> <w:t>beispiel einer Tabelle</w:t> </w:r> </w:p> <w:tbl> [ ] <w:tr> <w:tc> <w:tcpr> [ ] </w:tcpr> <w:p> <w:ppr> [ ] </w:ppr> <w:r> <w:t>erste Spalte, erste Reihe</w:t> </w:r> </w:p> </w:tc> <w:tc><!-- zweite Spalte, erste Reihe --> [ ] </w:tc> </w:tr> <w:tr><!-- zweite Reihe --> [ ] </w:tr> </w:tbl> OOXML-Tabellen werden recht konventionell abgespeichert. Dass heißt jede Tabelle wird nach Reihen w:tr (table row) unterschieden, wobei jede Reihe aus den Spaltenelementen w:tc (table cell) bestehen, welche wiederum den eigentlichen Inhalt jeder Tabellenzelle gespeichert haben (wiederum als Absatzelement w:p). Die Inhalte der Tabelle können nur an Hand ihrer Reihen- und Spaltenposition identifiziert werden [OOXML: P3 2006; S. 9]. 48

51 6 Didaktische Aufbereitung für E-Learning 6. Didaktische Aufbereitung für E-Learning Im nachfolgenden Kapitel sollen die Grundlagen des E-Learning dargelegt werden. In erster Linie wird der Begriff des E-Learnings erläutert. Da es sich dabei um einer Form des Lernens handelt, erfolgen zum Beginn dieses Kapitels allgemeine Erläuterungen zum Lehr-Lernprozess. Abschließend wird das Instruktionsdesign, also wie E-Learning- Konzepte zu entwickeln sind, dargelegt. Die nun folgenden Erläuterungen orientieren sich grundlegend an den Zielstellungen der Diplomarbeit. Daher wird diese Thematik nicht in ihrer Vollständigkeit beleuchtet, sondern begrenzt sich auf die in der Methodik relevanten Sachverhalte Grundlagen des Lehrens und Lernens Begriffsdefinition Um das Konzept des E-Learnings zu verstehen, muss in erster Linie der Lehr-Lernprozess verstanden werden. Zu erst muss geklärt werden, was die Begriffe Lernen und Lehren bedeuten. Lernen bedeutet, dass eine Person sich, allgemein gesagt, Inhalte aneignet [AB 2007; S. 19]. Der Lehrende formuliert hierzu Lehrziele, welche»inhaltlich gesehen [ ], Umschreibungen von bestimmten Persönlichkeitseigenschaften (Fähigkeiten, Fertigkeiten, Neigungen, Gesinnungen, Haltungen), die es bei einem Schüler [Lerner] zu verwirklichen gilt.«[hl 1998; S. 433]. Dabei sollte der Lehrende den Lernenden beim Aneignen dieser Eigenschaften informieren (Wissen vermitteln), motivieren, das Verstehen, sowie das Behalten und Anwenden des Wissens fördern [Vgl. HN 2004; S. 110]. Lehrziele dienen sowohl dem Lehrenden als auch Lernenden, um an jeder Stelle des Lehr-Lernprozesses den Fortschritt zu beurteilen und»ihre Fähigkeiten auf das zu erreichende Ziel auszurichten.«[hl 1998; S. 433]. Dabei gilt es zu beachten, diese Lehrziele möglichst konkret zu formulieren, um Störungen auf diesen Prozess zu vermeiden [a.a.o.]. Jedoch ist zu beachten, dass die Ziele des Lerners nicht zwingend mit den Lehrzielen übereinstimmen müssen die Erreichung der definierten Lehrziele bleibt somit vorerst offen [a.a.o.; S. 432]. Ferner beschreibt Lukesch, dass es keine»beste«methode gäbe, Inhalte zu vermitteln dies sei vielmehr ein»historisches Relikt«[a.a.O.; S. 254]. So wird der Lehr-Lernprozess durch die Persönlichkeitsmerkmale des Lehrenden, der Lernenden, aber auch durch das gegebene Umfeld individuell beeinflusst [a.a.o.; S. 255; S. 263]. 49

52 6 Didaktische Aufbereitung für E-Learning Lehrzieltaxonomien Taxonomien (griechisch, Einordnung in ein System) sind Ordnungsvorschläge, welche»den Ablauf eines Lernprozesses angeben können«[a.a.o.; S. 434] und Lehrziele nach inhaltlichen Gesichtspunkten differenzieren, sowie nach dem Schwierigkeitsgrad, der zu vermittelnden Inhalte, hierarchisieren [Vgl. UN 2002; S. 89]. Die wohl bekanntesten Taxonomien wurden von der Arbeitsgruppe um Bloom entwickelt und untergliedern sich in folgende Bereiche [HL 1998; S. 435]: Kognitiv Wissen aneignen und intellektuell anwenden Affektiv Veränderung von Interessen, Einstellungen, emotionalen Haltungen und Werten [Vgl. AB 2007; S. 22] Psychomotorisch motorische Fähigkeiten Sozial-kommunikativ Ausbildung sozial-kommunikativer Fähigkeiten Die einzelnen Lehrzielbereiche lassen sich dabei nicht unabhängig von einander betrachten. So können die affektiven und psychomotorischen Bereiche als»spezielle Ausprägungen«kognitiver Lehrziele angesehen werden [AB 2007; S. 22]. Die Vermittlung kognitiver Lehrziele kann nach Nikolaus [2002; S. 91] als»klassische«aufgabe des Lehrens verstanden werden und steht auch»heute noch im Mittelpunkt vieler Lehr-/Lernmaßnahmen«[a.a.O.]; So auch bei E-Learning. Im Rahmen dieser wissenschaftlichen Arbeit sind die affektiven, psychomotorischen und sozial-kommunikativen Lehrzielbereiche nicht von essentieller Bedeutung und werden an dieser Stelle vernachlässigt. Daher wird nachfolgend nur der kognitive Bereich erläutert. Die Taxonomien der Lehrziele im kognitiven Bereich lassen sich in folgende sechs grobe Bereiche unterscheiden, wobei ein Anstieg der Aufgabenkomplexität grundlegend zu verzeichnen ist [HL 1998; S. 436f.]: Wissen»Erinnern von Besonderheiten und Allgemeinheiten, Erinnern von Methoden und Prozessen, Erinnern von Strukturen, Mustern, Festlegungen.«[a.a.O.] Verständnis niedrigste Stufe des Begreifens Materialien zu nutzen, wobei dieses nicht zwingend mit anderen Materialien in Beziehung gesetzt oder deren umfassende Bedeutung erkannt wird Anwendung Anwenden des Erlernten auf neue Situationen Analyse»Zerlegen einer Information in ihre grundlegenden Elemente [ ], so daß eine Hierarchie von Ideen oder die Beziehung zwischen den Ideen deutlich wird.«[a.a.o.] 50

53 6 Didaktische Aufbereitung für E-Learning Synthese Im Anschluss einer Analyse werden diese Elemente»zu einem neuartigen Ganzen«[a.a.O.] zusammengefügt Evaluation Den Wert zweckgebundener Materialien oder Methoden beurteilen Innerhalb des Lehr-Lernprozesses wird deutlich, dass der Nutzen reinen Faktenwissens sich dem Lerner nur dann erschließt, wenn er weiß, in welchem realen Kontext diese zu betrachten sind. In diesem Zusammenhang ist die Theorie der»anchored Instruction«zu nennen. Die Forschergruppe um Bransford kritisiert die strikte getrennte Vermittlung von Wissen und deren Anwendungssituationen, wodurch die Produktion»trägen«Wissens gefördert wird, da die Lernenden zwar über das Wissen verfügen, jedoch dieses nicht konkret anwenden können [HN 2004; S. 29]. Das Anchored-Instruction-Modell verfolgt den Ansatz, einen Anker(-reiz) zu nutzen, welcher das Interesse des Lerners weckt und»die Aufmerksamkeit auf das Wahrnehmen und Verstehen der gestellten Probleme lenken soll.«[a.a.o.]. Dabei müssen die Aufgaben- bzw. Problemstellungen möglichst praxisnah gestaltet werden, da nur dann ein echter Wissenstransfer (Anwendung des Wissens seitens des Lernenden) sichergestellt werden kann [Vgl. UN 2002; S. 178]. Analyse, Synthese und Evaluation können in dieser Betrachtung vernachlässigt werden, da der Rahmen dieser Diplomarbeit, konkreter, die definierten Zielstellungen vom Lernenden nicht verlangen 14, Informationen zu beurteilen, zu untergliedern und neu zusammen zu setzen (wie es beispielsweise bei der zu Grunde liegenden Diplomarbeit der Fall ist) Erläuterungen zum Begriff E-Learning Der Begriff des E-Learnings lässt sich nicht, wie sich zuerst vermuten lässt, pauschal beschreiben. Vielmehr existiert eine Vielzahl an unterschiedlichen Auffassungen, wie dieser Begriff zu verstehen ist. Schmale et. al beschreiben E-Learning als»facettenreich«, wobei sich die Angebote»hinsichtlich ihrer Ziele, Ansprüche [und] Methoden«stark voneinander unterscheiden [WS 2007; S. 34]. So kann man das»electronic learning«im Sinne eines Computergestützten Lernens (computer-based training; CBT) verstehen, weiterführend als Web-basiertes Lernen (web-based training; WBT) [AB 2006; S.5f.], bis hin zum Einsatz komplexer multimedialer Lernsysteme [WS 2007; S. 34]. Grundlegend lässt sich festhalten, das E-Learning - im Gegensatz zum Präsenzlehren (als»klas- 14 Siehe hierzu Kapitel 7.4. Beschreibung des XML-Workflows in Form von Tutorials 51

54 6 Didaktische Aufbereitung für E-Learning sische«lehrmethode) das Lernen mittels digitaler Medien ist. So bezeichnen Schmale et. al schon allein die Recherche im Internet als partielle Form des E-Learnings [a.a.o.; S.40]. Auf der anderen Seite verinnerlicht das Konzept des E-Learnings auch einen virtuellen Klassenraum oder, wie oben schon genannt, eine komplexe Lernsoftware, welche es dem Nutzer ermöglicht, selbstständig Lerneinheiten durchzuführen und anschließend den Lernerfolg festzustellen [AB 2007; S. 29ff.]. Werden sowohl Methoden des E-Learnings und des Präsenzlehrens kombiniert, spricht man vom sog. blended learning. Als Beispiel sind die Kombination konventioneller Vorlesungen und die Diskussion in eingerichteten Internetforen oder Blogs genannt [WS 2007; S. 37/40]. Wie in den nachfolgenden Abschnitten dieses Kapitels erläutert wird, kann der Vorstellung, dass die klassische Form des Präzenslehrens durch E-Learning-Konzepte vollständig ersetzt werden kann, jedoch nicht entsprochen werden [AB 2007; S. 32]. Der Lernerfolg wird nicht allein durch den Einsatz von E-Learning gesteigert. Letztendlich stehen die zu vermittelnden Lehrinhalte im Mittelpunkt. Sind diese unstrukturiert oder die Lehrziele erschließen sich nicht dem Lerner, dann wird der Einsatz digitaler Medien dieses Defizit nicht vermindern können. Dass heißt, der»aufbau dauerhaften, anwendbaren Wissens«wird durch die elektronische Aufbereitung der Inhalte nicht gesichert [HN 2004; S. 16]. Schmale et. al stellen jedoch fest, dass diese Ansicht nicht empirisch belegt werden kann [WS 2007; S. 36]. Die unterschiedlich ausgeprägten Konzepte des E-Learnings und deren Einflussfaktoren lassen keine generalisierten Aussagen zu. Diese Tatsache ist wiederum auf Lukesch zurückzuführen, dass es keine»beste«methode des Lehrens und Lernens gibt. Ein Grund für den Einsatz elektronischer Medien, im Lehr-Lernprozess, begründet sich in der Möglichkeit Inhalte auch multimedial 15 darstellen zu können. Dabei ist zu beachten, dass eine nachweisbare Steigerung des Lerneffekts, sich vorwiegend auf die Vermittlung komplexer Sachverhalte beschränkt. Gemeint sind vor allem plastische Inhalte, welche durch Animationen oder ähnlichem, sich dem Lernenden eher erschließen als dass bei einer textuellen Form der Fall wäre [UN 2002; S. 166ff.][AB 2007; S. 16]. Werden hingegen Inhalte vermittelt, welche genauso gut im gedruckten Pendant lernbar sind, ist 15 In Anlehnung an [UN 2002] ist zu erwähnen, dass E-Learning nicht zwingend multimedial sein muss. Daher wird multimediales Lernen als Untermenge von E-Learning verstanden [a.a.o.; S. 24] 52

55 6 Didaktische Aufbereitung für E-Learning abzuwägen, ob eine elektronische Aufbereitung notwendig ist (z.b. unter Beachtung der Kosten)[HN 2004; S. 16]. Neben der Möglichkeit multimediale Inhalte darzustellen, ist sicherlich der größte Vorteil, dass sich dem Nutzer die Möglichkeit bieten kann, orts- und zeitunabhängig Lerneinheiten durchzuführen. Dem Lerner kann so die Chance geboten werden, die gegebenen Inhalte individuell zu erarbeiten, dass heißt der Lernende bestimmt das Tempo, den Lernweg und die Kontrollen selbst [Vgl. AB 2007; S. 31]. Ferner beschreiben Niegemann et. al [2007; S. 16], dass die anfängliche Euphorie, zu Beginn dieses Jahrzehnts, einer massiven Kostenersparnis durch den Einsatz von E- Learning Umgebungen, realen Tatsachen gewichen ist. Auch Nikolaus [2002; S. 196f.] bestätigt diese Tendenz, dass multimediales Lernen, oder allgemeiner E-Learning, per se nicht zur Kostensenkung führt und situativ entschieden werden müsse, ob der Aufwand in Bezug auf den Nutzen gerechtfertigt werden kann Grundlagen des Instruktionsdesigns Um E-Learning-Konzepte zu erstellen, kann man sog. Instructional-System-Design- Modelle nutzen. Der Begriff Instruktionen bezeichnet ein systematisches Arrangement von Umgebungsbedingungen zur Förderung von Kompetenzen [Vgl. HN 2004; S. 19]. Der»Vater«dieses Ansatzes Robert M. Gagné verfolgte die Idee, je nach Umwelt, die optimale Lernumgebung zu schaffen [a.a.o.]. Dabei sind Entwickler solcher E-Learning- Umgebungen keinesfalls»gezwungen«sich an ein bestimmtes Modell zu orientieren. Es ist ebenfalls möglich, Modelle zu kombinieren oder gar ein individuelles Konzept zu erstellen [a.a.o.; S. 71]. Der Kern solcher Modelle ist jedoch im Wesentlichen identisch und besteht aus den fünf Phasen: Analyse, Design (Konzeption), Development (Entwicklung), Implementation und Evaluation 16 dem sog. ADDIE-Modell [a.a.o.; S. 22]. Zudem sollte man dieses Prozessmodell als nicht linear ansehen, da Entscheidungen einer Phase auf andere Phasen rückwirkend Einfluss haben können, zum Bespiel wird das Budget nicht während der Entwicklung ermittelt, sondern wird schon zu Beginn vorgegeben [a.a.o.; S. 47]. Im nachfolgenden Abschnitt dieses Kapitels wird nur auf die Phase der Analyse eingegangen, da diese eine besondere Rolle für diese Arbeit einnimmt. Die Analyse bildet die Grundlage für die weitere Vorgehensweise bei der Konzeption von 16 Niegemann et. al weisen darauf hin, dass die Verwendung des Begriffs Qualitätssicherung zweckmäßiger ist als Evaluation 53

56 6 Didaktische Aufbereitung für E-Learning E-Learning Umgebungen. Eine Vernachlässigung könnte eine Fehlinvestition darstellen, da die Kosten nicht zu rechtfertigen sind oder die definierten Lehrziele nicht erreicht werden. Ein Zeichen für eine Vernachlässigung ist, dass der Instruktionsdesigner seine Entscheidungen nicht rational belegen kann [a.a.o.; S. 51f.]. Zuerst sollte festgestellt werden, ob die zu entwickelnde Lernumgebung letztlich die Problemstellung lösen kann oder ob nicht eventuell Fehler des Managements o.ä. zu Grunde liegen [a.a.o.; S. 52]. Ist die Entwicklung eines E-Learning-Konzepts zu rechtfertigen, sollten die Rahmenbedingungen festgelegt werden. Zum Beispiel sollte zu Beginn der Analyse bekannt sein, welches Material, Budget, Personal und wie viel Zeit zur Verfügung stehen (Ressourcenanalyse). Anschließend muss der Bedarf festgestellt und die Zielgruppe bzw. Adressaten analysiert werden. Der Begriff Bedarf meint in erster Linie ein Wissensdefizit im unternehmerischen Bereich versteht man es als»differenz zwischen tatsächlichen und erwarteten [ ] Arbeitsleistungen«[a.a.O.; S. 53]. Um einen Bedarf überhaupt zu spezifizieren, müssen die Merkmale der Adressaten bekannt sein. Zum Beispiel über welches Vorwissen sie verfügen, ob der Umgang mit E-Learning Umgebungen bekannt ist oder welche Interessen sie haben [a.a.o.; S. 56]. Ein weiterer Bestandteil der Analyse ist das Definieren der Lehrziele und das Festlegen der zugehörigen Lehrinhalte 17. Voraussetzung ist, dass sich der Instruktionsdesigner und eventuell beteiligte Inhaltsexperten einen Überblick über Themen verschaffen und diese anschließend strukturieren [a.a.o.; S. 58]. Diese Vorgehensweise hebt die von Gagné et. al formulierten Grundprinzipien hervor. Sie gehen von einer Lehrzielhierarchie aus, d.h. die Lehrziele bauen aufeinander auf. Der Lernende kann kein übergeordnetes Lehrziel erreichen, wenn dass vorherige nicht erfüllt worden ist (in diesem Sinne ist das untergeordnete Lehrziel als Lernvoraussetzung zur Erreichung des übergeordneten Lehrziels zu betrachten) [a.a.o.; S. 23]. Weiterhin muss analysiert werden, in welchem Kontext das E-Learning-Konzept eingesetzt wird. So sollte bekannt sein, welche Medien zur Nutzung bereitstehen, wie viele Arbeitsplätze zur Verfügung stehen, ob Lerngruppen gebildet werden können oder ob ein Einsatz im Ausland vorgesehen ist, um kulturelle Eigenheiten zu berücksichtigen [a.a.o.; S. 68f.]. 17 Niegemann et. al sprechen in diesem Sinne von einer Wissens- und Aufgabenanalyse 54

57 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess 7. Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Die Erarbeitung eines XML-Workflows und dem entsprechenden Dateiverwaltungssystem erfolgte in Zusammenarbeit des Autors und der Diplomandin Angela Böhl. Gegenstand des Workflows und des Dateiverwaltungssystems ist es, nicht nur eine einheitliche Archivierung des Contents zu gewährleisten, sondern ebenfalls eine automatisierte Verarbeitung dessen mittels XSLT sicherzustellen. Dabei sind einige Rahmenbedingungen gegeben: Der Autor der Diplomarbeit hat die Aufgabe die Automatisierung, beginnend mit der Texteingabe in Microsoft Word und abschließender Ausgabe im Dokumentenformat XHTML in Form einer Webpräsenz, weitestgehend zu garantieren. Hierzu wird, wie in Kapitel 5. Die XML-basierte Textverarbeitung mittels Microsoft Word 2007 erläutert, das OOXML-Dokumentenformat genutzt. Parallel dazu wurde ein XML-Printworkflow von der Diplomantin Angela Böhl angefertigt. Zur Texteingabe wird das Programm Open Office genutzt, welches wiederum die Möglichkeit bietet XML-Daten in Form des Dokumentenformats ODF zu exportieren. Die erzeugten XML-Daten dienen als Grundlage für das Anfertigen der Printausgabe im Textsatzprogramm InDesign. Der Webworkflow und der Printworkflow sollen dabei nicht getrennt von einander gestaltet werden, sondern es soll Single-Source-Multi-Channel-Publishing ermöglicht werden. Dass bedeutet, unabhängig vom Texteingabeprogramm soll der Content sowohl für die Print- als auch für die Webproduktion aufbereitet werden können. Daher nimmt die Speicherung des Contents in einem geeigneten XML-Dokumentenformat eine zentrale Stellung im zu erstellenden Workflow ein. Darüber hinaus soll es ermöglicht werden, weitere Publikationskanäle hinzuzufügen. Es werden nur Artikelinhalte berücksichtigt, dass heißt andere zusätzliche Inhalte müssen medienspezifisch aufbereitet werden. MS Word Template OOXML??? Web Open Office Template ODF Print Abbildung 9: erste Rahmenbedingungen des zu erstellenden Workflows (eigene Darstellung) 55

58 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Das fünfte Kapitel der vorliegenden Diplomarbeit hat aufgezeigt, dass zur automatisierten Verarbeitung von OOXML-Dokumenten ein Wordtemplate zwingend vorausgesetzt werden muss. Diese Tatsache spiegelt sich auch in Open Office bzw. dem XML-Dokumentenformat ODF wider. Es ist für die nachfolgenden Abschnitte nicht notwendig zu wissen, wie die Templates aufgebaut sind. Die Erläuterungen hierzu finden sich im nachfolgenden Kapitel 8.2. Anfertigung von Autorentemplates in Microsoft Word 2007 wieder. Der erste Schritt zur Erarbeitung des Workflows und des Dateiverwaltungssystems ist eine Analyse des bisherigen Workflows, um eventuelle Sachverhalte berücksichtigen zu können oder eventuell zu übernehmen. Anschließend erfolgt die Suche nach einem geeigneten XML-Dokumentenformat. Am Ende des Kapitels wird der erarbeitete Gesamtworkflow und das Dateiverwaltungssystem präsentiert und erläutert Allgemeine Informationen zur HTWK-Zeitschrift»Streifband«Streifband ist eine Zeitschrift für Auszubildende und Studenten in der Medienbranche. Seit 1996 erscheint diese Zeitschrift jährlich im März zur Leipziger Buchmesse. Das Streifband-Team besteht aus Studenten des Studiengangs Verlagsherstellung an der HTWK Leipzig und wird durch Prof. Dr. oec. habil. Thomas Heß betreut. Da es sich um ein Projekt im Rahmen der Lehrveranstaltung Projektmanagement, des vierten und fünften Fachsemesters des genannten Studiengangs, handelt, wird nach jeder Ausgabe das Team neu besetzt 18. An Hand des Projektes sollen die Studenten die gelernten Methoden dieser Lehrveranstaltung praxisnah umzusetzen. Dass heißt, das Streifband- Team muss redaktionelle Arbeit verrichten, die Produktion und den Vertrieb sicherstellen, sowie die Finanzierung gewährleisten. Seit dem Wintersemester 2002/2003 wurde durch ein zusätzliches Projektteam eine Onlinepräsenz der Zeitschrift umgesetzt. Für die Ausgabe Nummer 14, welche zur Buchmesse 2009 erscheint, wurde von der Redaktion das Layout überarbeitet Streifband Ist-Zustand Zweck einer Analyse des bisherigen Workflows ist es, ob eventuelle Rahmenbedingungen oder allgemeine Vorgehensweisen bei der Gestaltung des neuen Gesamtworkflows, 18 Die Umstellung von Diplom- auf Bachelorstudium seit dem Wintersemester 2008 hat keine Auswirkungen auf die hier dargestellten Aspekte 56

59 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess zum Beispiel bei der Art und Weise der Datenspeicherung, zu berücksichtigen sind. Desweiteren stellt sich die Frage, ob bestimmte relevante Aspekte der Verarbeitung des Contents so oder in ähnlicher Form genutzt werden könnten. Für die Zielstellungen der vorliegenden Diplomarbeit nimmt die Onlinepräsenz bzw. das Einbinden des Contents einer neuen Ausgabe eine zentrale Stellung ein Anmerkungen zum bisherigen Workflow Auf Grund fehlender und unvollständiger Dokumentationen, der jeweiligen Teams, ist es nicht möglich, einen repräsentativen Gesamtworkflow darzustellen. Weiterhin existieren keine Dokumente, welche eine einheitliche Arbeitsweise, die Art und Weise der Datenarchivierung inbegriffen, festlegen. Somit sind die Erfahrungen der Vorgänger-Teams weitestgehend verloren gegangen. Auch muss berücksichtigt werden, dass die jeweiligen Streifband-Redaktionen mit unterschiedlicher Software gearbeitet haben. Es ist anzunehmen, dass weitestgehend die Programme Microsoft Word, zur Texteingabe und korrektur und InDesign, für den Satz und das Erstellen der Printdaten, genutzt worden sind. Die Funktionalität dieser Programme hat sich jedoch im Laufe des Langzeit-Projekts»Streifband«verändert. Das Projektteam von»streifband Online«verfolgte den Ansatz einer medienneutralen Datenspeicherung mittels XML. Die XML-Daten jedes Artikel sollten sowohl für die Printproduktion als auch für die Internetpräsenz genutzt werden. Für die Nachfolger ergaben sich jedoch zwei grundsätzliche Probleme. Erstens, wurde die Problemstellung, wie XML-Daten zu erstellen sind, nur ungenügend geklärt. Zweitens, klärte die hinterlegte Dokumentation nur, wie neuer Content zur Webseite hinzugefügt wird, nicht aber, wie die, sehr komplex gestaltete, Funktionalität dauerhaft zu gewährleisten ist. Seit Anfang 2007 kann Streifband nicht mehr Online bereitgestellt werden. Grund ist, dass die implementierten Funktionen, nach dem Übertragen der Daten auf einen neuen Server, nicht mehr vollständig ausgeführt werden konnten [MAIL 2007] Beschreibung des bisherigen Workflow Der Ausgangspunkt des dargestellten Workflows (siehe nächste Seite) ist, dass der Autor seinen verfassten Text als Word-Datei der Redaktion zur Verfügung stellt. Die Redaktion muss entscheiden, ob der Artikel in dieser Form weiterverarbeitet werden kann oder ob Korrekturen notwendig sind. Parallel dazu, werden entsprechende Bilder ausgewählt 57

60 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Ist-Workflow: Verarbeitung eines Streifband-Artikels Artikel in MS Word verfassen NEIN Freigabe Bilder auswählen Bilder bearbeiten Bilder im Archiv speichern Herstellung - Web Herstellung - Print Bildrepro Redaktion Autor Webversion Printversion Artikel korrigieren Artikel abspeichern Importieren des jeweiligen Artikels in das InDesign- Satztemplate Artikel in XML medienneutral erfassen Die Notation des Workflows: Prozess Meilenstein Entscheidung Beispiel.php Skriptdatei, um den Prozess zu realisieren Satz manuell nacharbeiten Artikel im Web- Archiv speichern Druckdaten erstellen upload.php Webseite aktualisieren Abbildung 10: Der IST-Workflow 58

61 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess und an die Repro zur Bearbeitung weitergeleitet. Die Speicherung des gesamten finalen Contents kann als Meilenstein angesehen werden der vollständige Content bildet die Grundlage für die darauf folgende Produktion. Um die Druckdaten des Printprodukts zu erstellen, wird für den Satz Adobe InDesign verwendet. Die gesamte Ausgabe wird in einem einizgen InDesign-Template gesetzt. Prinzipiell gibt es nun mehrere Möglichkeiten, die Inhalte der Artikel im InDesign-Template zu platzieren. Die erste Möglichkeit ist das Importieren von XML-Daten. Allerdings ist diese Vorgehensweise äußerst unwahrscheinlich. In erster Linie ist dies auf pragmatischen Gründen zurückzuführen. In dieser Zeit des Studienabschnitts des vierten und fünften Semesters ist das Zusammenspiel von InDesign und Word den Studenten bekannt ist, jedoch verfügen sie unter Umständen über keinerlei Erfahrungen im Umgang mit XML-Daten und InDesign. Daher ist es wahrscheinlicher, dass die gespeicherten Wordinhalte im InDesign-Template platziert worden sind. In diesem Fall wurden entweder die Texte in Word vorformatiert oder die Texte worden unformatiert eingeladen und anschließend formatiert. Sind die Nachbearbeitungen abgeschlossen und die Ausgabe ist druckfertig, wird eine PDF-Datei erstellt. Um die Webpräsenz zu aktualisieren, muss der Content zwingend in XML-Form vorliegen. Das Projektteam»Streifband Online«fertigte zu diesem Zweck ein eigenes XML- Vokabular in Form einer DTD an. Diese sieht vor, dass jeder Artikel in einer separaten XML-Datei zu hinterlegen ist. Die Inhalte werden dabei mittels»copy & Paste«entweder der Word- oder der InDesign-Datei entnommen und in einem Text-Editor getagged. Anschließend werden die Metainformationen und die Bildressourcen hinzugefügt und es findet eine Prüfung auf Wohlgeformtheit und Validität statt. Final wird die XML-Datei im Web-Archiv gespeichert. Durch Auslösen des Skripts upload.php erfolgte die automatisierte Aktualisierung der Webseite bzw. das Integrieren des neuen Contents der jeweiligen Ausgabe Ergebnis der Analyse Wie in den beiden vorangegangenen Abschnitten beschrieben, kann keine Vereinheitlichung der Arbeitsweise oder der Datenspeicherung bzw. bei der Erstellung medienneutraler XML-Daten abgeleitet werden. Somit muss der zu erstellende Workflow für die Print- und Onlineproduktion vollständig neu definiert werden. In dieser Hinsicht erweist sich diese Tatsache nachteilig, da keinerlei nutzbare Grundlagen vorhanden sind. Allerdings ist der Vorteil, dass der Workflow nun so gestaltet werden kann, dass dieser der 59

62 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess gestellten Anforderung einer automatisierten Lösung in vollem Umfang gerecht werden könnte. Einzig die vorhandene Streifband-DTD könnte als Grundlage zur medienneutralen Datenarchivierung genutzt werden. Die Erläuterungen hierzu finden sich in den nachfolgenden Abschnitten Streifband Soll-Zustand Medienneutrale Archivierung in einem geeigneten XML-Dokumentenformat Zu Beginn der Untersuchung könnte eine Strukturanalyse der Streifband-Artikel durchgeführt werden. Diese wurde jedoch aus thematischen Gründen dem Kapitel 8. Realisierung und Beschreibung des Workflows in Form von Tutorials untergeordnet. Da es jedoch in der Regel möglich ist, an Hand einiger Merkmale feststellen, ob ein qualifiziertes XML-Dokumentenformat zu Grunde liegt, erweist es sich als ausreichend, anzumerken, dass ein Streifband-Artikel über den eigentlichen Inhalt hinaus, noch diverse zusätzliche Informationen enthält. Zuerst zu betrachten sind die XML-Dokumentenformate ODF, OOXML und XHTML. Sollte eines dieser Dokumentenformate den Anforderungen der Medienneutralität gerecht werden, sind zusätzliche Prozessschritte, wie es bei der Einbindung eines weiteren XML- Dokumentenformats der Fall ist, nicht notwendig. Hierzu zählt auch die Erweiterung des Dateiverwaltungssystems. Sollten die drei genannten XML-Dokumentenformate nicht geeignet sein, stehen drei weitere Optionen zur Verfügung: Nutzung des Dokumentenformats Streifband-XML (eventuelle Änderungen bzw. Erweiterungen inbegriffen) Definition eines neuen individuellen Dokumentenformats Nutzung eines schon vorhandenen anderen Dokumentenformats Die Grundlagen der nachfolgenden Erläuterungen zu OOXML und XHTML lassen sich den Kapiteln 5.3. Das Dokumentenformat OOXML sowie 4.3. Das Dokumentenformat XHTML entnehmen. 60

63 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Die Betrachtung des ODF-Formats hat ergeben, dass dieses nicht den medienneutralen Anforderungen von XML gerecht wird. Hierzu sei an die Diplomarbeit von Angela Böhl verwiesen Eignung des OOXML-Formats zur medienneutralen Archivierung Das OOXML-Format ist nicht mit einem konventionellen XML-Dokumentenformat vergleichbar. Schließlich liegt eine OOXML-Datei einem ZIP-Archiv zu Grunde, welches, wie in dem vorliegenden Fall, ein gesamtes Worddokument beinhaltet. Dass heißt, es ist nicht nur der eigentliche Inhalt in XML-Form enthalten, sondern ebenfalls eingebundene Medienobjekte und XML-Dateien, welche nur die einzeln enthaltenen Dateien miteinander verlinken. Betrachtet man sich die Speicherung des Contents in der Inhaltsdatei document.xml, kann festgestellt werden, dass keine Kapitel-Unterkapitel-Beziehung vorhanden ist, da sämtliche Absatzformatvorlagen, unabhängig von ihrer eigentlichen Bedeutung, zum Beispiel Überschrift und Fließtext, auf der gleichen hierarchischen Ebene abgespeichert werden. Da bei einer medienneutralen Archivierung die XML-Daten nicht visuell ausgegeben werden, sollten sie das Prinzip einer hierarchischen Strukturierung verinnerlichen. Fuelle et. al vergleicht eine solche Strukturierung mit dem Prinzip der Matrjoschka-Puppen [Vgl. K 2004; IIB1; S. 4]. Desweiteren sind auch formatierungsrelevante Informationen in der Datei document.xml abgespeichert. So ist es für eine medienneutrale Archivierung uninteressant, wie das Worddokument eingerichtet ist zum Beispiel die Anzahl der Spalten oder Höhen- und Breitenangaben. Aber auch Seitenumbrüche, Tabelleneigenschaften oder Eigenschaften der jeweiligen Formatvorlage sind nicht relevant. Zudem existiert ein überaus umfangreicher Element- und Attributkatalog 19. Wie noch im Kapitel 8.2. Anfertigung von Autorentemplates in Microsoft Word 2007 erläutert wird, bietet Word nur geringfügige Möglichkeiten zusätzliche Informationen zu einem Dokument zu hinterlegen. Daher werden alle Metainformationen in Tabellen gespeichert. Auch hier ergibt sich eine Grenze der Medienneutralität. Denn Inhalte eines XML-Dokuments sollten an Hand ihrer Bezeichnung voneinander unterschieden werden und nicht an Hand ihrer Position innerhalb einer Tabelle (siehe Kapitel Speicherung des Dokumenteninhalts in der Datei»document.xml«). 19 Beschrieben in einem Dokument mit 5220 A4 Seiten (Office Open XML Part 4 - Markup Language Reference) 61

64 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Infolge der Unterschiedlichkeit zwischen Strukturierung und Formatierung, sowie keiner strikten Trennung zwischen Inhalt und Gestaltung, wird OOXML den Rahmenbedingungen einer Medienneutralität nicht gerecht. Letztlich bildet ein solcher ZIP-Container des OOXML-Standards das ursprüngliche Worddokument vollständig ab Eignung des XHMTL-Formats zur medienneutralen Archivierung Da das Dokumentenformat XHMTL ebenfalls ein XML-Vokabular ist, könnte dieser Standard theoretisch zur Datenarchivierung in Betracht gezogen werden. Grundsätzlich wird das XHTML-Format wie das HTML-Format zur Ausgabe für einen Browser genutzt. Die Tatsache einer visuellen Ausgabe hat zur Folge, dass sich die Struktur des Textes dem Leser an Hand der unterschiedlichen Auszeichnungen der Textelemente ergibt. Somit kann die zu Grunde liegende Dokumentenstruktur flach sein, da solche strukturellen Informationen in Form einer Kapitel-Unterkapitel-Beziehung nicht relevant sind. Demnach tritt der gleiche Fall ein, wie es schon bei der Betrachtung von OOXML erläutert wurde. Jegliche Absatzelemente befinden sich, unabhängig von ihrer Bedeutung, auf der gleichen Hierarchieebene. Eine weitere Problematik, welche dem OOXML-Standard 20 ähnlich ist, ist die Kontrolle der Reihenfolge der Elemente. Der Standard vereinbart zum Beispiel nicht die Einhaltung der Überschriftenhierarchie. Dass heißt, nach einem Element erster Überschrift (h1) kann eine Überschrift vierten Grades in Form des Elements h4 folgen. Strukturell gesehen, ist eine solche Speicherung unlogisch, aber dennoch möglich (das Dokument ist valide). Der Element- und Attributkatalog den dieser Standard zur Verfügung stellt, ist zudem recht eingeschränkt. Dass bedeutet, dass eine Vielzahl von Informationen und Textelemente nur mittels der Attribute class und id bzw. deren Werte unterschieden werden kann wie es beispielsweise bei der Speicherung diverser zusätzlicher Informationen der Fall ist. Um nun jedoch konkrete Attributwerte zu vereinbaren, um eine Gültigkeitsprüfung weitreichend einzuschränken, müsste der XHTML-Standard individuell beschrieben werden. Die genannten Tatsachen verdeutlichen, dass das XHTML-Dokumentenformat ebenfalls für eine Datenarchivierung eher ungeeignet ist Medienneutrale Archivierung mittels dem DocBook-Format Da beide XML-Dokumentenformate nach einer Überprüfung sich als unzulänglich erwiesen haben, bleiben noch die Möglichkeiten, die schon definierte DTD von Streifband zu 20 Siehe Kapitel 5.3. Das Dokumentformat OOXML 62

65 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess nutzen, ein eigenes Dokumentenformat zu entwickeln oder auf einen schon vorhandenen Standard zurückzugreifen. Der Blickwinkel der nachfolgenden Betrachtung ist nicht die Darstellung, warum ein Dokumentenformat nicht geeignet ist, wie es in den vorangegangen Erläuterungen zu OOXML und XHTML der Fall war. Vielmehr soll in den Vordergrund gestellt werden, welche Vorteile ein schon vorhandenes Dokumentenformat bietet. Dabei spielt das eigentliche Vokabular nur eine untergeordnete Rolle, so lange es den Anforderungen des Umfangs der verschiedenen Textelemente eines Streifband-Artikels gerecht wird und die Strukturierung des Contents gewährleistet wird. Daher müssen allgemeingültigere Faktoren bzw. Gesichtspunkte für eine Wahl ausschlaggebend sein. Der Autor der Diplomarbeit und die Diplomandin Angela Böhl haben sich dazu entschieden, das XML-Dokumentenformat DocBook zur medienneutralen Speicherung in Betracht zu ziehen. Dieses XML-Vokabular wurde bereits im Kapitel 4.2. Das Dokumentenformat DocBook erläutert. Auf Grund der Menge an verschiedenen vorhandenen XML-Standards treffen die nachfolgend genannten Aspekte sicherlich nicht nur auf den DocBook-Standard zu: Es ist eine umfassende Element- und Attribut-Datenbank vorhanden unter an- derem sind Erläuterungen und Anwendungsbeispiele enthalten Tatsächlich wird nun ein Bruchteil des Element- und Attributkatalogs zur Spei- cherung von Streifband-Artikeln benötigt. Sind spätere Ergänzungen gewünscht oder gar notwendig, können diese problemlos eingearbeitet werden, so lange die Validität durch den DocBook-Standard der Version 5.0 gewährleistet ist Im Gegensatz zu Streifband-XML ist DocBook ein weltweit verwendeter Stan- dard. So könnte eine Zusammenarbeit mit externen Unternehmen/Dienstleistern vereinfacht werden Sollte einem Bearbeiter, welcher Änderungen oder Ergänzungen der Transforma- tionsprozesse durchführen soll, der DocBook-Standard bereits bekannt sein, fällt die Einarbeitung und der Umgang leichter Diese Aspekte waren letztlich ausschlaggebend, sich für das XML-Dokumentenformat DocBook für eine medienneutrale Archivierung zu entscheiden. 63

66 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Der Workflow kann somit um einen weiteren Prozessschritt ergänzt werden: MS Word Template OOXML Web DocBook Open Office Template ODF Print Abbildung 11: Rahmenbedingungen des zu erstellenden Workflows (eigene Darstellung) Der XML-Workflow und das Dateiverwaltungssystem An dieser Stelle wird darauf hingewiesen, dass die Entwicklung des neuen Workflows und des Dateiverwaltungssystems keine autonomen Prozesse darstellen. Die Erarbeitung des Aufbaus eines für die Automatisierung geeigneten Wordtemplates, sowie die Gestaltung der eigentlichen Transformationsprozesse, welche definiert worden sind, sind ebenfalls Bestandteil dieser Entwicklung. Es handelt sich also um keine aufeinander aufbauenden Vorgänge, sondern vielmehr um parallel ablaufende Handlungen, dessen Ergebnis in diesem Kapitel dargelegt wird. In erster Linie sollen die nachfolgenden Ausführungen einen Überblick geben. Es sollen noch keine detaillierten Problemstellungen erläutert werden Namensnotation der Dateien Desweiteren wird eine bestimmte Namensnotation der Dateien benötigt. Diese tritt dann in Kraft, wenn der Inhalt bzw. das Wordtemplate vollständig vorliegt bzw. die Bearbeitungen an dem zugehörigen Bildmaterial eines Artikels abgeschlossen sind. So soll nicht nur sichergestellt werden, dass die Dateien an Hand ihrer Bezeichnung eindeutig zugeordnet werden können, sondern es ist, wie das Dateiverwaltungssystem selbst, die Grundlage einer automatisierten Verarbeitung mittels XSLT. Um den Content eindeutig zu identifizieren, muss der Name der Datei folgende Angaben beinhalten: Ausgabennummer, Artikelnummer und im Fall eines Bildes eine zusätzliche Bildnummer. Jeder Content wird in verschiedene Dateitypen überführt: 64

67 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Dateityp Speicherverzeichnis Anmerkungen SB14_Artikel1.docx bzw. SB14_Artikel1.odt SB14_Artikel1.xml SB14_Artikel1_ID.xml SB14_Artikel1.html Redaktion/Ausgabe14/Artikel1/Bearbeitung/Text Herstellung/Archiv/Ausgabe14/DocBook-XML Herstellung/Print/Ausgabe14/Einzeldaten Herstellung/Web/Ausgabe14/Einzeldaten Das Word- bzw. Open Office- Template während der Bearbeitung Der Artikel, in medienneutraler Form Aufbereitung des XML- Dokuments für den Import in InDesign Ausgabe des Artikels über einen Browser SB14_Artikel1_Bild1.tif Herstellung/Archiv/Ausgabe14/Bilder_Print SB14_Artikel1_Bild1.jpg Herstellung/Archiv/Ausgabe14/Bilder_Web Tabelle 2: Darstellung der Dateinotationen am Beispiel Bild, welches für die Printausgabe aufbereitet wurde Bild, welches für die Webausgabe aufbereitet wurde Die Nummer eines Artikels kann zum Beispiel bei der Erarbeitung eines Seitenbelegplans festgelegt werden. Die Artikel einer Ausgabe müssen dabei nicht zwingend durchgängig nummeriert werden. Denn im Mittelpunkt steht die eindeutige Bezeichnung eines Artikels. Allerdings ist es wahrscheinlich, dass erst nach Beendigung der Korrekturen aller Artikel, diese medienneutral im Archiv hinterlegt werden bzw. abschließend der Content für die Print- und Webproduktion aufbereitet wird. Daher wäre es nicht notwendig, Artikel, welche von der Redaktion letztlich doch abgelehnt wurden, zu speichern Erläuterungen zu dem XML-Workflow und dem Dateiverwaltungssystem Bevor der eigentliche Workflow abschließend erläutert wird, folgen noch einige Anmerkungen zum Dateiverwaltungssystem. Dieses untergliedert sich in erster Linie in die zwei verschiedenen»abteilungen«redaktion und Herstellung. Der Ordner Herstellung wiederum ist in die Bildrepro untergliedert, sowie in das Archiv selbst und in die Ordner Print und Web für die jeweilige medienspezifische Aufbereitung. Alle genannten Ordner werden ausgabenspezifisch untergliedert und enthalten darüber hinaus sonstige Bestandteile, zum Beispiel Transformationsskripte, Templates oder andere relevante Dateien. Um die Erklärungen des erarbeiteten XML-Workflows und des Datenverwaltungssystems übersichtlicher zu gestalten, hat sich der Autor entschieden, von einer fließtextlichen Erläuterung abzusehen. Stattdessen werden die Prozesse des zugehörigen Tätigkeitsbereichs benannt und beschrieben. Dabei werden nicht alle Prozesse aufgeführt, da einige Prozesse sich aus dem Kontext der Beschreibung anderer Prozesses ableiten. Die jeweiligen Prozessschritte beziehen sich auf den Beispiel-Artikel Nummer 1 der Ausgabe 14: 65

68 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Soll-Workflow: Verarbeitung eines Streifband-Artikels MS Word-/ OOWriter- Template Autor zusenden Artikel verfassen NEIN Freigabe Bilder auswählen Bilder bearbeiten Bilder im Archiv speichern Artikel korrigieren Template vervollständigen Aritkel entpacken Artikel in XML- DocBook transformieren Satz manuell nacharbeiten Herstellung - Web Herstellung - Print Bildrepro Redaktion Autor Webversion Printversion MS Word Die Notation des Workflows: Prozess Meilenstein Entscheidung Beispiel.xslt Transformationsdatei, um den Prozess zu realisieren OOXML_to_DocBook.xslt OOWriter ODF_to_DocBook.xslt DocBook_to_InDesign.xslt Artikel für den Import in InDesign aufbereiten Halbautom. Satz durch Importieren des Artikels in das entsprechende InDesign- Satztemplate DocBook_to_XHTML.xslt Artikel in XHTML- Format transformieren Glossar.xslt Begriffe und Erklärungen zum Glossar hinzufügen Glossar_Sort.xslt Beispiel.xslt Transformationsdatei, welche auf eine Referenzdatei zugreift, um den Prozess zu realisieren Artikel im Archiv speichern Artikel via Buchfunktion von InDesign mit anderem Content der Ausgabe zusammenführen IV_Ausgaben.xslt Ausgabennavigation aktualisieren Glossar sortieren IV_Artikel.xslt Artikelnavigation erstellen Druckdaten erstellen Abbildung 12: Der SOLL-Workflow 66

69 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Streifband Redaktion Herstellung Allgemein OpenOfficeWriter Artikel.odt Interview.odt Anleitung.pdf XSLT ODF_to_DocBook.xslt OOXML_to_DocBook.xslt ooxml_pfad_entities.dtd Ausgabe1... Autorentemplates MSWord Artikel.dot, Artikel.dotx Interview.dot, Interview.dotx Ausgabe14 Artikel1 Input Artikel.doc oder Artikel.odt oder Interview.doc oder Interview.odt Bild1.png Artikel Cover Bearbeitung sonstiges Text Artikel.docx oder Artikel.odt Bilder Bild1.jpg Bild2.tif Auftrag.pdf Output Artikel.zip (entpackt )oder Artikel.odt Artikel2... Anleitung.pdf Entwurf1 Content1.png Content2.tif Entwurf2 Bildrepro Allgemein Arbeitsanweisung_ Bildrepro.pdf Ausgabe1... Ausgabe14 Cover Entwurf1 Cover.psd Grafik.psd Artikel1 Bild1.psd Bild2.psd Grafik.psd Diagramm.ai Artikel2... Artikel Entwurf2... Entwurf Archiv Print Web siehe nächste Seite Abbildung 13: Das Dateiverwaltungssystem - Teil I 67

70 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess... Archiv Ausgabe1... Ausgabe14 DocBook-XML SB14_Artikel1.xml SB14_Artikel2.xml SB14_Artikel3.xml SB14_Artikel.xml SB14_Referenz.xml Bilder_Print SB14_Cover.tif SB14_Artikel1_Bild1.tif SB14_Artikel1_Bild2.tif SB14_Artikel1_Bild3.tif SB14_Artikel1_Bild4.tif SB14_Artikel2_Bild1.tif SB14_Artikel _Bild.tif Bilder_Web SB14_Cover.jpg SB14_Artikel1_Bild1.jpg SB14_Artikel1_Bild2.jpg SB14_Artikel1_Bild3.jpg SB14_Artikel1_Bild4.jpg SB14_Artikel2_Bild1.jpg Print Allgemein Arbeitsanweisung_Satz.pdf XSLT XML_to_InDesign.xslt Satztemplates Artikel.indd Interview.indd sonstige Templates Gewinnspiel.indd Impressum.indd Editorial.indd IV.indd Ausgabe1... Ausgabe14 SB14_gesamt.indb SB14_printPDF.pdf Einzeldaten XML SB14_Artikel1_ID.xml SB14_Artikel _ID.indd Satz SB14_Editorial.indd SB14_Artikel1.indd SB14_Artikel.indd SB14_Impressum.indd Web Allgemein Arbeitsanweisung_Web.pdf XSLT DocBook_to_HTML.xslt IV_Ausgaben.xslt IV_Artikel.xslt Glossar.xslt Glossar_Sort.xslt globaler Content dynamisch Glossar.html IV_Ausgaben.html statisch Impressum.html sb_online.css Layout.html FAQ.html sb_daten Ausgabe1... Ausgabe14 SB14_IV_Ausgabe.html Einzeldaten SB14_Artikel1.html SB14_Artikel2.html SB14_Artikel3.html SB14_Artikel.html SB14_Artikel _Bild.jpg Anzeigen SB14_Anzeige1.pdf SB14_Anzeige2.pdf Abbildung 14: Das Dateiverwaltungssystem - Teil II 68

71 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Redaktion MS Word-/OOWriter-Template Autor zusenden Quelldatei Ergebnisdatei Beschreibung Redaktion/Allgemein/Autorentemplates/MSWord/Artikel.dotx bzw. Redaktion/Allgemein/Autorentemplates/OpenOfficeWriter/Artikel.odt Redaktion/Ausgabe14/Artikel1/Input/Beispielautor.doc Die Redaktion sendet dem Autor ein Template der Anwendung Microsoft Word oder Open Office zu. Der Autor soll an Hand definierter Formatvorlagen seinen Text selbstständig formatieren. Zudem können im Template weitere Informationen vom Autor hinzugefügt werden. Template vervollständigen Quelldatei Ergebnisdatei Beschreibung Anmerkung Redaktion/Ausgabe14/Artikel1/Input/Beispielautor.doc Redaktion/Ausgabe14/Artikel1/Bearbeitung/Text/SB14_Artikel1.docx Es werden redaktionsinterne, sowie weitere relevante Informationen durch die Redaktionsmitglieder hinzugefügt. Handelt es sich um eine Worddatei älteren Dateityps (DOC), wird diese in das DOCX-Format konvertiert. In das Template müssen noch die zugehörigen Bilder eingebunden werden. Dabei werden die final ausgewählten und bearbeiteten Archivbilder des Printordners eingefügt. MS Word: Artikel entpacken Quelldatei Ergebnisdatei Beschreibung Redaktion/Ausgabe14/Artikel1/Bearbeitung/Text/SB14_Artikel1.docx Redaktion/Ausgabe14/Artikel1/Output/ Um die OOXML-Dateien eines Worddokuments zu erhalten, wird die Dateiendung von».docx«auf».zip«geändert. Der ZIP-Container wird anschließend vollständig in das genannte Zielverzeichnis entpackt. MS Word: Artikel in XML-DocBook transformieren Quelldatei Ergebnisdatei XSLT-Datei Beschreibung Redaktion/Ausgabe14/Artikel1/Output/word/document.xml Herstellung/Archiv/Ausgabe14/DocBook-XML/SB14_Artikel1.xml Redaktion/Allgemein/XSLT/OOXML_to_DocBook.xslt Transformiert wird ausschließlich die Datei document.xml des entpackten OOXML-Container. Diese Datei wird in einem XML-Editor geöffnet und mit der genannten Transformationsdatei verknüpft. Nach der Durchführung des Transformationsprozesses durch den XSLT-Prozessor erfolgt die Speicherung im Archivverzeichnis. Open Office: Artikel in XML-DocBook transformieren Quelldatei Ergebnisdatei XSLT-Datei Beschreibung Redaktion/Ausgabe14/Artikel1/Output/SB14_Artikel1.odt Herstellung/Archiv/Ausgabe14/DocBook-XML/SB14_Artikel1.xml Redaktion/Allgemein/XSLT/ODF_to_DocBook.xslt Open Office bietet die Möglichkeit einer direkten Transformation. Dass bedeutet, die Datei wird in Open Office geöffnet und beim XML-Export kann eine XSLT-Datei zugewiesen werden. Den Transformationsprozess führt Open Office bzw. ein intern vorhandener XSLT-Prozessor durch. 69

72 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Bilder auswählen Quellverzeichnis Zielverzeichnis Beschreibung Redaktion/Ausgabe14/Artikel1/Input Redaktion/Ausgabe14/Artikel1/Bearbeitung/Bilder Sollte der Autor der Redaktion Bilder zur Verfügung stellen, werden diese im Input-Ordner hinterlegt. In Frage kommendes Bildmaterial wird im genannten Zielverzeichnis gespeichert. Sollten Bilder oder Grafiken noch anzufertigen sein (z.b. Grafiken), dann ist es sinnvoll eine informelle Anweisung für die Bildrepro im Zielverzeichnis zu hinterlegen. Bildrepro Bilder bearbeiten Quellverzeichnis Zielverzeichnis Beschreibung Redaktion/Ausgabe14/Artikel1/Bearbeitung/Bilder Herstellung/Bildrepro/Ausgabe14/Artikel1 Die Bildrepro nimmt nun die gewünschten Bearbeitungen vor bzw. es werden weitere Bilder oder Grafiken angefertigt. Bilder bearbeiten Quellverzeichnis Zielverzeichnis Beschreibung Anmerkung Herstellung/Bildrepro/Ausgabe14/Artikel1 Herstellung/Archiv/Ausgabe14/Bilder_Print bzw. Herstellung/Archiv/Ausgabe14/Bilder_Web Sind alle Bildbearbeitungen abgeschlossen, muss jedes Bild für die Web- und Printpublikation aufbereitet werden. Dabei werden die Dateiformate JPEG bzw. TIFF gewählt. Die Dateien müssen nun eindeutig benannt werden. Zum Beispiel: SB14_Artikel1_Bild1.jpg bzw. SB14_Artikel1_Bild1.tif SB14_Artikel2_Bild2.jpg bzw. SB14_Artikel1_Bild2.tif Herstellung Print Artikel für den Import in InDesign aufbereiten Quelldatei Ergebnisdatei XSLT-Datei Beschreibung Herstellung/Archiv/Ausgabe14/DocBook-XML/SB14_Artikel1.xml Herstellung/Print/Ausgabe14/Einzeldaten/XML/SB14_Artikel1_ID.xml Herstellung/Print/Allgemein/XSLT/DocBook_to_InDesign.xslt Um den Satz von importierten XML-Daten so unkompliziert wie möglich zu gestalten, ist eine vorherige separate Aufbereitung des jeweiligen DocBook- Artikels nötig. Halbautom. Satz durch Importieren des Artikels in das entsprechende InDesign-Satztemplate Quelldatei Ergebnisdatei Beschreibung Herstellung/Print/Ausgabe14/Einzeldaten/SB14_Artikel1_ID.xml Herstellung/Print/Ausgabe14/Einzeldaten/Satz/SB14_Artikel1_ID.indd Die aufbereiteten XML-Daten des Artikels werden in das entsprechende Template eingeladen und halbautomatisch gesetzt. Daher sind nachträgliche manuelle Korrekturen notwendig. Artikel via Buchfunktion von InDesign mit anderem Content der Ausgabe zusammenführen Quelldateien Herstellung/Print/Ausgabe14/Einzeldaten/Satz (alle enthaltenden InDesign-Dateien) Ergebnisdatei Herstellung/Print/Ausgabe14/SB14_gesamt.indb Beschreibung Um die einzeln vorliegenden InDesign-Dateien und die sonstigen Zeitschriftenbestandteile zusammenzuführen, bietet InDesign eine Buchfunktion an. Abschließend kann die gesamte Ausgabe als PDF-Datei im Zielverzeichnis abgespeichert werden. 70

73 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Herstellung Web Artikel in XHTML-Format transformieren Quelldatei Herstellung/Archiv/Ausgabe14/DocBook-XML/SB14_Artikel1.xml Ergebnisdatei XSLT-Datei Beschreibung Herstellung/Web/Ausgabe14/Einzeldaten/SB14_Artikel.html Herstellung/Web/Allgemein/XSLT/DocBook_to_XHTML.xslt Bei diesem Transformationsprozess wird nicht nur der Inhalt in das XHTML-Format überführt, sondern dieser wird vollständig für die Webausgabe aufbereitet zum Beispiel wird die Navigationsleiste hinzugefügt, aber auch die CSS-Datei eingebunden. Ausgabennavigation aktualisieren Quelldatei Herstellung/Archiv/Ausgabe14/SB14_Referenz.xml Ergebnisdatei XSLT-Datei Beschreibung Anmerkung Herstellung/Web/globaler Content/dynamisch/ausgaben_navigation.html Herstellung/Web/Allgemein/XSLT/IV_Ausgaben.xslt Ist der gesamte Content einer Ausgabe transformiert, muss die aktuelle Ausgabe noch in der Ausgabennavigation hinzugefügt werden. Hierzu wird eine XML- Referenzdatei benötigt (siehe Tutorial 8). Der Ordner»globaler Content«enthält einerseits die statischen Komponenten der Webseite, d.h. Dateien, welche sich nicht verändern, andererseits dynamische Komponenten, wie die Ausgabennavigation und der Glossar, welche sich von Ausgabe zu Ausgabe ändern. Artikelnavigation erstellen Quelldatei Herstellung/Archiv/Ausgabe14/SB14_Referenz.xml Ergebnisdatei XSLT-Datei Beschreibung Anmerkung Herstellung/Web/Ausgabe14/SB14_IV_Ausgabe.html Herstellung/Web/Allgemein/XSLT/IV_Artikel.xslt Ebenfalls muss eine Artikelübersicht der Ausgabe erstellt werden. Der Nutzer wählt eine Ausgabe aus und gelangt dann zu dieser Navigationsebene Zwar ist die Artikelnavigation ebenfalls eine dynamische Komponente, jedoch hat sich der Autor dazu entschieden, das jeweilige Ergebnisdokument im Web- Ausgabenordner zu speichern. Glossar aktualisieren I - Begriffe und Erklärungen zum Glossar hinzufügen Quelldatei Herstellung/Archiv/Ausgabe14/SB14_Referenz.xml Ergebnisdatei XSLT-Datei Beschreibung Herstellung/Web/globaler Content/dynamisch/glossar_temp.html Herstellung/Web/Allgemein/XSLT/Glossar.xslt Für die Webpräsenz ist ein Glossar angelegt worden.in diesem ersten Schritt werden neue Begriffe und die Erklärungen hinzugefügt. Glossar aktualisieren II - Glossar sortieren Quelldatei Herstellung/Web/globaler Content/dynamisch/glossar_temp.html Ergebnisdatei XSLT-Datei Beschreibung Herstellung/Web/globaler Content/dynamisch/glossar.html Herstellung/Web/Allgemein/XSLT/Glossar_Sort.xslt Da es nicht möglich ist, in einem Transformationsprozess die Begriffe hinzuzufügen und alphabetisch zu sortieren, ist eine zweite Transformation notwendig. Die genannte Quelldatei besitzt nur temporären Charakter und kann daher abschließend gelöscht werden. 71

74 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess 7.4. Beschreibung des XML-Workflows in Form von Tutorials Eine weitere Zielstellung dieser Diplomarbeit ist es, den erstellten Workflow bzw. die Umsetzung dessen in Form von Tutorials zu beschreiben. Die Tutorials dienen zur Umsetzung einiger definierter Lernziele des Pflichtmoduls 4500»Electronic Publishing II«des Bachelorstudiengangs Verlagsherstellung. Zu Beginn der nachfolgenden Betrachtung erfolgen allgemeine Erläuterungen zu diesem Pflichtmodul, das heißt es werden die Lehrinhalte und Lernziele konkreter dargelegt. Anschließend wird die Bedeutung und der Aufbau der anzufertigenden Tutorials des Moduls»Electronic Publishing II«thematisiert. Im dritten Semester wird im Modul»Electronic Publishing I«erläutert, welche Bedeutung das elektronische Publizieren für die Medien-, spezieller der Verlagsbranche, hat. So werden Eigenheiten von Produktformen erläutert, es werden strategische und rechtliche Fragen geklärt, sowie Besonderheiten von Zielgruppen der unterschiedlichen Produkte dargelegt. Schwerpunkt der zu vermittelnden Inhalte sind Markt- und Marketingrelevante Aspekte des elektronischen Publizierens [MB_VH 2008; Modul 3500]. Somit erlangen die Studenten in diesem Modul keine ausführlichen technischen Kenntnisse über die medienneutrale Contentarchivierung in XML. Diese Lernziele finden sich erst im zweiten Modul dieses Themenkomplexes wieder, welches im vierten Semester des genannten Studiengangs stattfindet. Die Lehrinhalte dieses Modul untergliedern sich in zwei Bestandteile [MB_VH 2008; Modul 4500]: 1. Theoretische Inhalte zu unter anderem XML, DTD, CSS und XSLT werden an die Studenten vermittelt 2. Cross-Media-Projekt, dass heißt die Studenten sollen in der Lage sein, das er- lernte Wissen durch ein konkretes umfangreicheres Praxisprojekt zu vertiefen. Es lassen sich somit die drei ersten kognitiven Lehrzieltaxonomien ableiten: Die Studenten sollen Wissen zu den XML-Werkzeugen erlangen, Verständnis aufbauen und das Wissen anwenden können. Letzteres bezieht sich in erster Linie auf das Lösen einfacher Problemstellungen. Darauf aufbauend sollte es den Studenten möglich sein, das Praxisprojekt in seiner Gesamtheit nachvollziehen zu können. Das Praxisprojekt stellt dabei den erarbeiteten XML-Gesamtworkflow von»streifband«dar. Ziel dieser Lehrveranstaltung ist es, dass die Studenten in der Lage sind, das erworbene Wissen in realitätsnahen Cross-Media-Szenarien anwenden können [Vgl. a.a.o.]. 72

75 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Es werden Aspekte des Anchored-Instruction-Modells vermittelt, da sich den Studenten die Komplexität einer automatisierten Verarbeitung des Contents mittels XSLT erschließt. Es liegen keine unabhängig gestalteten Prozesse zu Grunde, sondern die Studenten werden mit Problemstellungen konfrontiert, die es erfordern den Gesamtzusammenhang zu verstehen. Die Inhalte des Praxisprojekts werden in Form von Tutorials vermittelt. Jedes Tutorial verinnerlicht einen Themenkomplex, äquivalent zum Aufbau des Kapitels 8. Realisierung und Beschreibung des Workflows in Form von Tutorials der vorliegenden Diplomarbeit. Die Studenten finden sich in Gruppen zusammen und müssen die enthaltenden Aufgabenstellungen eines der Tutorials lösen und anschließend die Ergebnisse vor den anderen Studenten vortragen, so dass letztlich alle Inhalte vermittelt worden sind. Die Ausarbeitung erfolgt weitestgehend selbstständig, trotzdem ist es den Studenten möglich, den Dozenten der Veranstaltung bei größeren Problemen zu konsultieren. Da die Verarbeitung von XML-Daten mittels XSLT eine zentrale Stellung der Tutorials einnimmt, müssen den Gruppen PC s zur Verfügung gestellt werden. Daher findet die Veranstaltung im Multimedia-Labor des Fachbereichs Medien statt. Neben den Tutorials, welche nur in Form von Text vorliegen, müssen den Studenten Beispieldateien, Transformationsskripte und weitere relevante Dateien zur Verfügung gestellt werden. Die Studenten haben so die Möglichkeit, zum Beispiel die Transformationsskripte zu verändern und die Auswirkungen zu untersuchen. Eine solche Vorgehensweise kann das Verständnis einzelner Verarbeitungsanweisungen einer XSLT-Datei fördern. Bei der Gestaltung der Tutorials hat sich der Autor nicht nur an den Theorien zum Instruktionsdesign orientiert, sondern ebenfalls an Tutorials, welche schon in Lehrveranstaltungen des Fachbereichs Medien der HTWK Leipzig erprobt worden sind. Konkret sind hier das Flash-Tutorial von Frau Kerstin Werner»1. Übung Flash: Oberfläche«und das Tutorial von Denise Lipfert, Prof. Dr. Ulrich Nikolaus und Dipl.-Ing. (FH) André Göhlich mit dem Titel»Kunst aufräumen WS 08/09 Umgestalten eines Kunstwerks«zu nennen. Das Design der Tutorials musste nicht entwickelt werden, da die HTWK Leipzig auch für solche Präsentationsformen ein Corporate Design zur Verfügung stellt. 73

76 7 Streifband Entwicklung eines XML-Workflows für den Gesamtproduktionsprozess Bei der inhaltlichen Gestaltung musste berücksichtigt werden, dass die Erläuterungen ausschließlich in Textform erfolgen. Zudem muss das sprachliche Niveau den Studenten angepasst werden. Da es sich hierbei um XSLT-Neulinge handelt, ist es wiedersinnig das Transformationsgeschehen mit Fachbegriffen und detaillierten theoretischen Erklärungen darzustellen. Daher wurden einfache sprachliche Mittel gewählt, um so das Hauptaugenmerk der Studenten auf die Besonderheiten einzelner XSLT-Anweisungen zu lenken. Allerdings war es dem Autor nicht möglich, die Transformationsskripte umfassend zu erläutern, da sonst die Tutorials zu umfangreich geworden wären. Der Beginn eines Tutorials stellt eine Gesamtübersicht aller Tutorials dar mit einer einführenden Erläuterung. Anschließend werden die Aufgabenstellungen dargelegt und es wird an notwendige Materialien, Programme oder eventuellen Literaturempfehlungen verwiesen. Erst dann erfolgen die eigentlichen inhaltlichen Erläuterungen. Zwei repräsentative Tutorials, die im Rahmen der Zielstellung der Diplomarbeit angefertigt worden sind, lassen sich der Anhang I-III entnehmen. Die Inhalte des nachfolgenden Kapitels sind als äquvialent zu den Inhalten des Cross Media Praxisprojekt bzw. zu den Tutorials anzusehen. 74

77 8 Realisierung und Beschreibung des Workflows 8. Realisierung und Beschreibung des XML-Webworkflows in Form von Tutorials In diesem Kapitel wird nun die Realisierung des XML-Webworkflows dargestellt und erläutert. Die ersten beiden Unterkapitel widmen sich einer Strukturanalyse eines Streifband-Artikels, sowie der Anfertigung der Autorentemplates in Word. Darauf aufbauend werden die Transformationsprozesse für eine medienneutrale Archivierung der Daten im XML-Dokumentenformat DocBook, sowie die medienspezifische Aufbereitung der Archivdaten für eine Webausgabe erläutert. Bei den Transformationsprozessen, welche mittels XSLT umgesetzt worden ist, ist darauf hinzuweisen, dass die Zielgruppe berücksichtigt werden muss. Hiermit sind die Studenten des Moduls 4500 gemeint, welche die Transformationsprozesse in Form von Tutorials nachvollziehen sollen. Dementsprechend mussten auch die Funktionen von XSLT umgesetzt werden, was teilweise dazu geführt hat, dass die Skripte umfangreicher, aber verständlicher sind Strukturanalyse eines Streifand-Artikels Grundlage für die Anfertigung eines Wordtemplates, zur automatisierten Weiterverarbeitung mittels XSLT, ist die Analyse eines Streifband-Artikels zur Bestimmung der vorhandenen Textelemente. Wie im Kapitel 7.1. Allgemeine Informationen zur HTWK-Zeitschrift»Streifband«erläutert, wurde von der Redaktion der Ausgabe 14 das Layout überarbeitet. Dabei sind einige Textelemente hinzugekommen, welche nun ebenfalls zur Sicherung der Nachhaltigkeit einer automatisierten Verarbeitung berücksichtigt werden müssen. Desweiteren sind Textelemente vorhanden, welche ausschließlich für die Webproduktion von Interesse sind. Bei der Untersuchung verschiedenster Artikel diverser Ausgaben konnte festgestellt werden, dass zwei Artikeltypen vorliegen. Der überwiegende Anteil der Artikel waren konventionell gestaltet, dass es wurde in Form eines Fließtexts ein Themenschwerpunkt erläutert. Darüber hinaus sind in der Regel in jeder Ausgabe einige Interviews enthalten. 75

78 8 Realisierung und Beschreibung des Workflows Nachfolgend können alle enthaltenen Block- und Inlineelemente des entsprechenden Texttyps in tabellarischer Form dargestellt werden: Textelemente (Block) Interview Konventioneller Artikel Anmerkungen Artikelüberschrift X X Zwischenüberschrift X Einleitung X X Fließtext X X Nummerierung X X Aufzählung X X Frage X Interviewpartner X Antwort X Textelemente (Inline) Interview Konventioneller Artikel Anmerkungen Fußnote X X Hervorhebung X X Glossarbegriff X X Ausschließlich für die Webproduktion von Bedeutung; in der finalen Webausgabe wird die Begriffserklärung nicht artikelspezifisch angelegt, sondern in einer externen Datei. Somit dient ein Glossarbegriff als Grundlage für einen Link. Hyperlink X X Ausschließlich für die Webproduktion von Bedeutung; Ermöglicht die Weiterleitung auf andere Webseite. Tabelle 3: Darstellung der Block- und Inlineelemente eines Artikels 76

79 8 Realisierung und Beschreibung des Workflows Weiterhin sind beide Artikeltypen mit zusätzlichen Informationen angereichert. Diese Form der Metainformationen lassen sich ebenfalls tabellarisch zusammenfassen: Metainformationen Informationen zum Autor / zu den Autoren Informationen zum Fragenden / zu den Fragenden Informationen zum Interviewpartner / zu den Interviewpartnern Interview Bildmaterial X X Erschienen in X X Literaturempfehlungen X X X X Konventioneller Artikel X Anmerkungen Gemeint sind die jeweils zugehörigen Bilder, inklusive der Bildunterschrift und Informationen zum Urheber und Veröffentlichungsjahr. wenn der Artikel/Interview bereits in einem anderen Medium veröffentlicht wurde Internetempfehlungen X X Keywords X X Tabelle 4: Darstellung der Metainformationen vorwiegend für die Webproduktion von Interesse, um das Auffinden von Artikeln zu einem bestimmten Thema zu erleichtern (z.b. bei der Nutzung einer Suchmaschine) 77

80 8 Realisierung und Beschreibung des Workflows 8.2. Anfertigung von Autorentemplates in Microsoft Word 2007 Nach der Textanalyse der Streifband-Artikel können nun die Templates in Word erstellt werden. Dabei haben sich der Autor und die Diplomantin Angela Böhl dafür entschieden, zwei Templates, entsprechend den beiden zu Grunde liegenden Texttypen, anzulegen. Beispiele für ein ausgefülltes Interview- und Artikel-Template lassen sich dem Anhang IV und Anhang V der Diplomarbeit entnehmen. Die nachfolgenden Aspekte treffen auch für die Templates der Anwendung Open Office zu. Der erste Schritt bei der Erstellung der Templates war das Anlegen der Absatz- und Zeichenformatvorlagen, analog zu den im Kapitel 8.1. Struktur eines Streifband-Artikels aufgeführten Block- und Inlineelementen. Dabei ist zu berücksichtigen, dass für das Hyperlink-Element und die Fußnoten keine zusätzlichen Formatvorlagen angelegt worden sind, da diese beiden Elemente bereits durch die Standardfunktionen von Word zur Verfügung gestellt werden. Gleiches gilt zwar für die Textelemente Aufzählung und Nummerierung, jedoch stehen diese nach Aktivierung des Dokumentenschutzes nicht mehr zur Verfügung, weshalb diese ebenfalls als separate Formatvorlagen angelegt werden mussten. Anschließend musste überlegt werden, wie die Metainformationen abzuspeichern sind. Einige Metainformationen, zum Beispiel Angaben zum Titel und Autor des Dokuments, Schlüsselwörter und ähnliches können in den Dokumenteneigenschaften eingetragen werden. Auch zusätzliche Informationen zu eingebetteten Medienobjekten können hinterlegt werden. Eine solche Vorgehensweise gestaltet sich jedoch nicht als sinnvoll, da sich diese Informationen hinter diversen Reitern»verstecken«. Zudem stellt sich immer noch die Frage, in welcher Art und Weise die anderen Metainformationen eines Artikels gespeichert werden sollen. Eine zuverlässigere und einfachere Methode stellt das Anlegen von Tabellen dar. An Hand der Beschriftung der Tabellen kann eine Unterscheidung der jeweiligen Metainformation vorgenommen werden. Bestimmte Tabellenbestandteile oder gesamte Tabellen wurden grau hinterlegt, womit dem Autor signalisiert werden soll, dass diese Informationen von der Streifband-Redaktion nachgetragen werden. Zusätzlich wurden die Tabellen»Daten zur Veröffentlichung«und»Glossar«angelegt. Letzere dient der Redaktion dazu, um die im Text ausgezeichneten Glossarbegriffe zu 78

81 8 Realisierung und Beschreibung des Workflows erläutern. Die hierbei einzuhaltenden Randbedingungen, beim Ausfüllen der Tabelle, sind von entscheidender Bedeutung für eine Verarbeitung mittels XSLT. An dieser Stelle gestaltet sich ein umfassendes Verständnis für die Problematik als schwierig, weshalb zur weiteren Erläuterung an das Kapitel Verarbeitung der Tabelle»Glossar«und der Glossarbegriffe (Seite 92) verwiesen wird. Eine Datei sollte nicht nur an Hand ihrer Bezeichnung unterschieden werden können. Auch nach dem Öffnen eines Artikels kann es sich als schwierig erweisen, den Text einer konkreten Ausgabe zuzuordnen. Zu diesem Zweck wurde die Tabelle»Daten zur Veröffentlichung«angelegt. Diese Tabelle beinhaltet neben der Ausgaben- und der Artikelnummer noch weitere Informationen, wie Erscheinungsjahr und Titel der Ausgabe. Diese Tabelle muss, wie nachfolgend noch erläutert wird, ausgefüllt sein besonders die Ausgaben- und Artikelnummer werden für einige Transformationsskripte benötigt. Ausgenommen den Tabellen»Daten zur Veröffentlichung«und»Erschienen in«besitzen alle restlichen Tabellen eine variable Reihenanzahl. Sollte sich die vorgegebene Reihenanzahl als nicht ausreichend erweisen, können dementsprechend Reihen hinzugefügt werden (auch bei aktivierten Dokumentenschutz). Die Transformation mittels XSLT berücksichtigt dabei eventuell vorhandene Leerreihen, dass heißt diese müssen nicht im Template gelöscht werden. Weitere Rahmenbedingungen beim Ausfüllen des Templates lassen sich der Anleitung im Ordner Redaktion/Allgemein/Autorentemplates entnehmen (siehe Daten-CD). Der Aufbau der Templates entspricht nicht, wie zuerst anzunehmen, den zwei Bestandteilen Metainformationen und Artikelinhalt. Die Untergliederung in die Bereiche Metadaten, Artikel und Anhang, sowie die Reihenfolge und der Aufbau der Tabellen wurden bewusst so vorgenommen. Die Entwicklung der Templates und die Problematik, wie die vorliegenden Informationen im XML-Dokumentenformat DocBook archiviert werden sollen, sind keine aufeinander aufbauenden Prozesse, sondern finden vielmehr parallel statt. Daher entspricht die Anordnung der Elemente des Templates dem zu erzeugenden Elementen in der XML-Archivdatei. In erster Linie wird dem Redakteur eine eventuelle Überprüfung der DocBook-Datei eines Artikels erleichtert. Zudem wird das Verständnis der, in der XSLT-Datei OOXML_to_DocBook.xslt formulierten Verarbeitungsanweisungen, verbessert 21. Diese Vorgehensweise hat zudem keinen negativen Einfluss auf den Umgang und die Bearbeitung des Templates seitens des Autors und des Redakteurs. 21 Diese Tatsache spiegelt sich ebenfall in dem vom Autor angefertigten Tutorial»XSL-Transformation von OOXML zu DocBook«wider 79

82 8 Realisierung und Beschreibung des Workflows 8.3. XSL-Transformation der OOXML-Daten in das XML-Dokumentenformat DocBook In den nachfolgenden Unterkapiteln wird erläutert, wie der Transformationsprozess zur medienneutralen Archivierung im Dokumentenformat DocBook vom Autor realisiert worden ist. Dabei können nicht alle Aspekte des Transformationsgeschehens erläutert werden. Daher finden sich in der Datei OOXML_to_DocBook.xslt zu allen Funktionen ausführliche Kommentare. An dieser Stelle sei noch auf den Anhang 3: Schema Word_DocBook verwiesen. Dieses Schema wurde im Rahmen der Erstellung des Tutorials»XSL-Transformation von OOXML zu DocBook«angefertigt. Dargestellt ist, wie die Inhalte des ausgefüllten Wordtemplates im XML-Dokumentenformat DocBook abgespeichert werden. Auch ist nochmals auf die Kapitel 4.2. Das Dokumentenformat DocBook und 5.3. Das Dokumentenformat OOXML, worin theoretische Inhalte zu den genannten Dokumentenformaten vermittelt worden sind, hinzuweisen. Im Gegensatz zur Anfertigung von zwei Wordtemplates ist es nicht notwendig, zwei separate Transformationsdateien anzufertigen. Dass erstellte Transformationsskript berücksichtigt beide Artikelsorten, dass heißt es wurden XSLT-Funktionen implementiert, welche nach einem konventionellen Artikel und Interview unterscheiden und die entsprechende Dokumentenstruktur erzeugen. Somit werden die Arbeitsabläufe, bezogen auf die Streifband-Teams, optimiert und die Fehleranfälligkeit reduziert Einbinden externer Entitäten in die Transformationsdatei Die Pfadnotationen, welche zur Verarbeitung der entsprechenden Elemente mittels XPath notwendig sind, sind im OOXML-Format recht komplex. Um den Aufwand und die Fehleranfälligkeit solcher XPath-Pattern s zu reduzieren, wurden Abkürzungs-Entitäten in der externen DTD-Datei ooxml_pfad_entities.dtd definiert. Durch die Angabe <!DOCTYPE xsl:stylesheet SYSTEM ooxml_pfad_entities.dtd > wird nun die DocType Definition in die XSLT-Datei eingebunden. Zur Erläuterung soll eine dieser Entitäten hier erklärt werden: <!ENTITY pstyle_zwischenüberschrift Zwischenberschrift ] > 80

83 8 Realisierung und Beschreibung des Workflows In diesem Fall, wurde die komplizierte Pfadangabe zur Auswahl aller Textelemente, welche mittels der Absatzformatvorlage»Zwischenüberschrift«formatiert worden sind, als Entität definiert. Die Einbindung innerhalb der XSLT-Datei erfolgt über den Ausdruck &pstyle_zwischenüberschrift;. Vorteil einer solchen Vorgehensweise ist, dass Änderungen nur einmalig vorgenommen werden müssen. Zudem ist die Bezeichnung der Entität so gewählt, dass sie leicht zu verstehen, zu merken und zu verwenden ist. Zu erkennen ist, dass der Wert der Formatvorlage des Attributs w:val nicht mit der angelegten Bezeichnung im Wordtemplate übereinstimmt. Denn Umlaute und sonstige Sonderzeichen werden automatisch von Word entfernt Einbinden der relevanten Namensräume in die Transformationsdatei In den OOXML-Ausgangsdaten sind die Namensräume w und wp eingebunden. Um nun eine Verarbeitung durchführen zu können, müssen diese in das Wurzelelement xsl:stylesheet eingebunden werden somit sind die Namensräume w und wp für das gesamte XSLT-Dokument gültig. Desweiteren wird der Namensraum von DocBook eingebunden. Damit nicht alle LRE mit Präfix versehen werden müssen, wird DocBook als Default-NS eingebunden: <xsl:stylesheet xmlns:xsl= version= 2.0 xmlns:w= xmlns:wp= Drawing xmlns= xmlns:xlink= exclude-result-prefixes= wp w > Zudem muss der Namensraum XLink eingebunden werden, da Links eines DocBook- Dokuments in diesem Namensraum angegeben werden müssen. Die Namensräume w und wp werden exkludiert, da diese sonst im Wurzelelement des Ergebnisdokuments erscheinen würden [XSLT 2002; Kap ] Erzeugung der Dokumentenstruktur des Ergebnisdokuments Die erste Template-Regel, welche vom Autor definiert worden ist, ist die Verarbeitung des Dokumentknotens zur Erzeugung der Dokumentenstruktur des Ergebnisdokuments. 81

84 8 Realisierung und Beschreibung des Workflows Wie dem vorherigen Kapitel zu entnehmen ist, ist der Aufbau der Wordtemplates äquivalent zu dem Aufbau im DocBook-Format. Dass bedeutet, die Bestandteile Metadaten, Artikel und Anhang eines Templates, lassen sich in gleicher Form in DocBook wiederfinden: info sect1 appendix Metadaten Tabelle: Daten zur Veröffentlichung Tabelle: Informationen zu Autoren Tabelle: Keywords Artikel Artikel-Titel Einleitung Absatz Absatz Zwischenüberschrift Absatz Anhang Tabelle: Bildmaterial Tabelle: Erschienen in Tabelle: Literaturempfehlungen Tabelle: Internetempfehlungen Tabelle: Glossar Abbildung 15: Der zu erstellende Aufbau des Ergebnisdokuments an Hand eines konventionellen Artikels (eigene Darstellung) Diese Bestandteile werden nun in der Template-Regel des Dokumentknotens nacheinander festgelegt. Beginnend mit dem info-bereich: <template match= / > <article version= 5.0 > <info> <xsl:apply-templates select= //&pstyle_artikeltitel; /> <xsl:apply-templates select= //&tab_veröffentlichung; //&tab_autor; //&tab_fragende; //&tab_keywords; /> </info> Da als Texttyp ein Artikel zu Grunde liegt, wird das Wurzelelement article gewählt. Zusätzlich muss das Wurzelelement ein Attribut version enthalten. Mittels xsl:apply-templates werden nun die Template-Regeln der genannten Tabellen aufgerufen. Der Dokumentknoten enthält zu erst ein Kindelement w:document, welches wiederum ein Element w:body enthält. Erst das letztgenannte Element enthält alle Textelemente bzw. den Textinhalt. Die Tabellen sind also Nachfahren-Elemente des Dokumentknotens. Um nicht alle Location Steps anzugeben, wird an dieser Stelle der Ausdruck // zum 82

85 8 Realisierung und Beschreibung des Workflows»Überspringen«genutzt. Innerhalb der zweiten xsl:apply-templates-anweisung werden die entsprechenden Tabellen durch den Operator voneinander getrennt angegeben es handelt sich dennoch um eine Sequenz. Die Reihenfolge der Verarbeitung der Knoten richtet sich nach der document order im Quelldokument (oder allgemeiner: nach der Reihenfolge im Worddokument). Möchte man diese ändern, ist eine separate xsl:apply-templates-anweisung nötig. In diesem Fall muss der Titel des Artikels zu Beginn des info- Bereichs stehen [FB 2008; S. 687]. Die Verarbeitung des Textinhalts erweist sich als so umfangreich, dass an dieser Stelle nur eine Unterscheidung zwischen konventionellen Artikel und Interview vorgenommen wird: <sect1> <xsl:choose> <xsl:when test= //&pstyle_zusatz_val_interview; > <xsl:call-template name= structure_interview /> </xsl:when> <xsl:otherwise> <xsl:call-template name= structure_article /> </xsl:otherwise> </xsl:choose> </sect1> Bei der Verwendung der Instruktion xsl:choose wird im einfachsten Fall eine Bedingung mittels xsl:when formuliert. Dabei wird ein booleanscher Wert erzeugt, dass heißt die Bedingung trifft zu oder nicht [FB 2008; S. 125f.]. Sollte die Bedingung nicht zutreffen, findet die unter xsl:otherwise formulierte Verarbeitung statt. Die eigentliche Unterscheidung wird mittels den XPath-Pattern bzw. der Entität &pstyle_zusatz_val_interview vorgenommen. Abbildung 16: Unterscheidung der Artikeltypen an Hand eines Textstrings (eigene Darstellung) 83

86 8 Realisierung und Beschreibung des Workflows Diese Entität ist synonymisch für folgenden XPath-Pattern: Zusatz and w:r/w:t[contains(., Interview )]] Wie der Abbildung 13 zu entnehmen ist, geben die ersten beiden Zeilen der Wordtemplates Auskunft darüber, welche Artikelsorte vorliegt. Die Formatierung erfolgte mittels der Absatzformatvorlage Zusatz. Mittels der XPath-Zeichenkettenfunktion contains() wird untersucht, ob der Textstring das Wort Interview beinhaltet. Wenn die Bedingung wahr ist, handelt es sich um das Interview-Template [XP 2002; Kap. 4.2]. Die eigentliche Verarbeitung bzw. Strukturierung ist sehr komplex und findet daher im jeweils benannten Template statt. Diese werden mittels xsl:call-template aufgerufen [XSLT 2002; Kap. 6]. Die Verarbeitungsanweisungen hierzu finden sich in den nachfolgenden Abschnitten. Abschließend wird der Anhang verarbeitet. Hierbei muss überprüft werden, ob dieser in DocBook als Element appendix überhaupt erstellt werden muss denn dieses darf nicht leer sein. Dies könnte zu Problemen führen, wenn keine Medienobjekte vorhanden sind in diesem Fall wäre der Anhang immer ungültig. An Hand einer Fallunterscheidung mittels der Funktion xsl:choose wird die Gültigkeit auch dann sichergestellt, wenn keine Bilder vorhanden sind durch Einfügen eines leeren Absatzelements para. <xsl:choose> <xsl:when test= //&tab_bildmaterial_bild_vorhanden; > <appendix> <title>anhang</title> <xsl:apply-templates select= //&tab_bildmaterial; /> <xsl:call-template name= build_bibliography /> <xsl:apply-templates select= //&tab_glossar; /> </appendix> </xsl:when> <xsl:otherwise> <appendix> <title>anhang</title> <para/> <xsl:call-template name= build_bibliography /> <xsl:apply-templates select= //&tab_glossar; /> </appendix> </xsl:otherwise> </xsl:choose> </article> </xsl:template> 84

87 8 Realisierung und Beschreibung des Workflows Die Informationen innerhalb der Tabellen»Erschienen in«,»literaturempfehlungen«und»internetempfehlungen«werden im Element bibliography hinterlegt. Hierzu wird die Template-Regel namens build_bibliography aufgerufen. Es erfolgt nun der Test, ob eine der an dieser Stelle möglichen Tabellen Einträge besitzt. Ist dies der Fall kann das Element bibliography erstellt werden: <xsl:template name= build_bibliography > <xsl:if test= //w:tbl[&erschienen_in; and &tabreihe_eintrag;] //w:tbl[&literaturempfehlungen; and &tabreihe_eintrag;] //w:tbl[&internetempfehlungen; and &tabreihe_eintrag;] > <bibliography> <xsl:apply-templates select= //&tab_erschienen_in; //&tab_literaturempfehlungen; //&tab_internetempfehlungen; /> </bibliography> </xsl:if> </xsl:template> Die erste Auffälligkeit an dieser Stelle ist, dass die XPath-Pattern s bzw. die Entitäten der Tabellen anders bezeichnet sind. Das ist darauf zurückzuführen, dass für jede der genannten Tabellen eine weitere Filterbedingung tabreihe_eintrag formuliert werden muss - damit ändert sich der Kontext der Betrachtung. Die Entität tabreihe_eintrag steht für den XPath-Ausdruck: w:tr[position!=1 and descendant::w:t] Somit wird untersucht, ob eine Tabellenreihe, welche nicht die Erste ist (=Tabellenkopf), Einträge in Form des Elements w:t besitzt. Ergibt die Auswertung des Predictates den Wert true, so ist anzunehmen, dass die Tabelle ausgefüllt worden ist. Dabei muss nicht kontextabhängig betrachtet werden, ob jede Reihe vollständig ausgefüllt wurde, da weder Autor noch Redakteur zwingend alle Angaben hinterlegen müssen Strukturierung des Textbereichs eines Artikels Nach der Unterscheidung zwischen einem konventionellen Artikel und einem Interview wird das jeweilige benannte Template aufgerufen. In diesem Abschnitt handelt es sich um das Template structre_article. Um nun eine Strukturierung des Textbereichs durchzuführen wird die Instruktion xsl:for-each-group benötigt. Grund ist, dass die Ausgangsstruktur von OOXML-Dokumenten flach ist, da alle Absatzformate, unabhängig von ihrer Bedeutung, auf der gleichen Hierarchieebene abgespeichert werden. DocBook hingegen verinnerlicht eine Kapitel-Unterkapitel-Beziehung, welche nun erstellt werden muss. 85

88 8 Realisierung und Beschreibung des Workflows Das Kapitelelement sect1 wurde schon erzeugt. Nachfolgend müssen alle Unterkapitel sect2 wie folgt erstellt werden: Artikel-Titel Einleitung Absatz sect2 sect2 Zwischenüberschrift Absatz Nummerierung Nummerierung Zwischenüberschrift Absatz Absatz Aufzählung Aufzählung Absatz Abbildung 17: Strukturierung des Textbereichs mittels xsl:for-each-group (eigene Darstellung) Das XSLT-Element xsl:for-each-group ermöglicht es nun, jegliche Absatzelemente w:p zu Gruppen zusammenzufassen. Weiterhin wird das Gruppierungskriterium groupstarting-with genutzt. Das Template namens structure_article ist wie folgt aufgebaut: <xsl:template name= structure_article > <xsl:for-each-group select= //w:p[not(ancestor::w:tbl)] group-starting-with= //&pstyle_zwischenüberschrift; > Selektiert werden alle Elemente w:p, ausgenommen es handelt sich im jene Elemente w:p, welche in Tabellen enthalten sind [not(ancestor::w:tbl)]. Grund für einen solchen expliziten Ausschluss, ist der Verarbeitungsknotext. Denn das benannte Template wurde in der Template-Regel des Dokumentknotens aufgerufen. Damit ist immernoch der Kontextknoten /. Würde an dieser Stelle kein Ausschluss erfolgen, würde der Textbereich des Ergebnisdokuments alle Tabelleneinträge beinhalten. ist: Die Gruppierung erfolgt nun nach dem Knoten w:p, welcher eine Zwischenüberschrift <xsl:choose> <xsl:when test= current() Zwischenberschrift ] > <sect2> <xsl:call-template name= structure_list /> </sect2> </xsl:when> <xsl:otherwise> <xsl:call-template name= structure_list /> </xsl:otherwise> </xsl:choose> </xsl:for-each-group> </xsl:template> 86

89 8 Realisierung und Beschreibung des Workflows In diesem Fall ist der current-node nun die Zwischenüberschrift. Daher kann eine Unterscheidung mittels xsl:choose vorgenommen werden. Trifft die Wenn-Bedingung zu, wird das LRE sect2 erzeugt. Die Bedingung wird für alle Knoten w:p vor der ersten Zwischenüberschrift abgelehnt genauer gesagt ist es der Artikel-Titel, die Einleitung und sonstige Fließtext-Absätze. Indirekt verinnerlicht die Vorgehensweise auch den Fall, wenn überhaupt keine Zwischenüberschrift vorhanden ist. Aufgerufen wird jeweils das Template namens structure_list da die Strukturierung der Listen nicht nur umfangreich ist, sondern ebenfalls Listen innerhalb eines Interviews berücksichtigt werden Strukturierung des Textbereichs eines Interviews Bei der Struktuierung eines Interviews gestaltet sich eine ähnliche Vorgehensweise. Bevor hierzu weitere Erläuterungen erfolgen, lässt sich die Struktur eines Interviews wie folgt abbilden: Artikel-Titel Einleitung Absatz qandaset info Tabelle: Interviewpartner qandaentry qandaentry Frage Interviewpartner Absatz Nummerierung Nummerierung Interviewpartner Absatz Frage Interviewpartner Absatz Interviewpartner Absatz question answer answer question answer answer Abbildung 18: Strukturierung eines Interviews (eigene Darstellung) Das Interview wird vollständig im Element qandaset hinterlegt. Zudem enthält dieses Element einen info-bereich, welcher Informationen zu den Interviewpartnern enthält. Das Element qandaentry beinhaltet die Frage und die Antworten der Interviewpartner. Es sind zwei Gruppierungsvorgänge notwendig: 87

90 8 Realisierung und Beschreibung des Workflows 1. Erzeugung des Elements qandaentry 2. Erzeugung der Elemente answer Da die Antworten-Elemente in dem Element qandaentry enthalten sind, ist eine Verschachtelung der xsl:for-each-group-anweisungen notwendig. Sollte das Interview nur mit einer Person geführt werden, ist die Angabe des Interviewpartners im Wordtemplate nicht notwendig. Dieser Fall hat jedoch keinen Einfluss auf die nachfolgende Strukturierung. Das Template structure_interview ist folgendermaßen aufgebaut: <xsl:template name= structure_interview > <xsl:apply-templates select= //&pstyle_artikeltitel; //&pstyle_einleitung; //&pstyle_fließtext; [following::&pstyle_frage;] /> <qandaset> <info> <xsl:apply-templates select= //&tab_interviewpartner; /> </info> Die xsl:apply-templates-anweisung ruft die Template-Regeln für den Artikel-Titel, die Einleitung und alle Fließtext-Absätze, welche nicht in Tabellen enthalten sind und sich vor dem Interview bzw. vor der ersten Frage befinden following::&pstyle_frage;. Der info-bereich des Interviews beinhaltet alle Angaben der Tabelle»Informationen zum Interviewpartner / zu den Interviewpartnern«. <xsl:for-each-group select= //&pstyle_frage; //&pstyle_interviewpartner; //&pstyle_antwort; //&pstyle_nummerierung; //&pstyle_aufzählung; group-starting-with= //&pstyle_frage; > <qandaentry> <question> <xsl:apply-templates select= current() /> </question> <xsl:for-each-group select= current-group()[position()!=1] group-starting-with= //&pstyle_interviewpartner; > <answer> <xsl:call-template name= structure_list /> </answer> </xsl:for-each-group> </qandaentry> </xsl:for-each-group> Bei der Gruppierung werden die Elemente Frage, Interviewpartner, Antwort, sowie Aufzählung und Nummerierung selektiert. Für jede Gruppe wird das LRE qandaentry erzeugt. Für jeden current node der Gruppe (Frage) wird das LRE question erzeugt. 88

91 8 Realisierung und Beschreibung des Workflows Die innere Gruppierungsfunktion selektiert nun die aktuell verarbeitete Gruppe. Das»Übergeben«der aktuellen Gruppe ist notwendig, da ansonsten der Strukturierungsvorgang kontextunabhängig stattfinden würde. Bei diesem Selektionsvorgang muss das Frage-Element ausgeschlossen werden, da diese nicht nochmals verarbeitet werden soll. Da es sich um das erste Item dieser Sequenz handelt, ist das XPath-Pattern [not(position!=1)] ausreichend. Jede Gruppe beginnt nun mit dem Interviewpartner group-startingwith= //&pstyle_interviewpartner;. Da die Antworten eventuell Listen enthalten, wird das Template structure_list aufgerufen. Abschließend werden alle Absatzelemente Fließtext nach dem Interview ausgegeben daher die Verwendung der preceding-achse: </qandaset> <xsl:apply-templates select= //&pstyle_fließtext;[preceding::&pstyle_frage;] /> </xsl:template> Strukturierung der Listen Die Strukturierung der Listen ist nicht so leicht, wie es auf den ersten Blick scheint. Jeder Listenpunkt wird wie ein konventionelles Absatzelement abgespeichert - es gibt kein Elternelement, welches die Listenelemente verinnerlicht. xsl:for-each-group stellt jedoch keine Funktion für eine Gruppierung gleichbezeichneter Elemente, welche nacheinander folgen, zur Verfügung. Eine einfache Ausgabe aller Fließtext-Elemente vor und nach einer Liste mittels xsl:apply-templates, wie es bei dem Interview getan wurde, ist nicht möglich. Denn jeder dieser Textabschnitte kann mehrere Listen beinhalten. Daher ist eine wesentlich umständlichere Lösung notwendig. Die Vorgehensweise lässt sich wie folgt darstellen: Absatz Absatz Absatz 1. Schritt Nummerierung Nummerierung Nummerierung Nummerierung Absatz Absatz 2. Schritt Abbildung 19: Gruppieren der Listenelemente (eigene Darstellung) 89

92 8 Realisierung und Beschreibung des Workflows Durch die vorherigen Strukturierungsvorgänge sind einige Knoten schon verarbeitet worden, so dass nur noch die Fließtext-/Antworten- und Listen-Elemente enthalten sind. Um nun eine Liste zu erzeugen, müssen die Absätze, welche nicht Listenelemente sind, ausgeschlossen werden. Hierzu werden im ersten Schritt alle Absatzelemente vor den Listenelementen ausgeschlossen und nachfolgend, jene Absatzelemente danach. Die in der Abbildung 16 fett/kursiv dargestellten Listenelemente dienen dabei als Gruppierungskriterium. Erst im letzten Schritt wird abgefragt, ob die Formatvorlagen»Aufzählung«oder»Nummerierung«zu Grunde liegen. Das Template structure_list ist wie folgt aufgebaut: <xsl:template name= structure_list > <xsl:for-each-group select= current-group() group-starting-with= &pstyle_nummerierung; [preceding-sibling::*[1] Nummerierung )]] &pstyle_aufzählung; [preceding-sibling::*[1] Aufzhlung )]] > <xsl:choose> <xsl:when test= current() [self::&pstyle_nummerierung; self::&pstyle_aufzählung;] > <!-- 2. Schritt (siehe nachfolgende Seite)--> </xsl:when> <xsl:otherwise> <xsl:apply-templates select= current-group() /> </xsl:otherwise> </xsl:choose> </xsl:for-each-group> </xsl:template> Betrachten wir zu erst den ersten Strukturierungsvorgang. An dieser Stelle muss die current-group() selektiert werden, da diese Strukturierung schon innerhalb eines anderen Strukturierungsvorgangs vorgenommen wird und der Kontext der Verarbeitung erhalten bleiben muss. Um nun die Absatzelemente vor den Listen auszuschließen, wird das Attribut groupstarting-with angegeben. Der darin angegebene Knoten ist immer das erste Element einer Liste. Da eine Aufzählung und eine Nummerierung unterschiedlich gespeichert werden, müssen beide Absatzelemente mittels Oder-Operator getrennt voneinander angegeben werden, wobei die Angaben äquivalent sind. Der Knoten, welcher als Gruppierungskriterium angegeben worden ist, muss ein Listenelement sein, wobei der direkte Vorgänger [preceding-sibling::*[1] selbst kein Listenelement sein darf Aufzhlung )]](in die- 90

93 8 Realisierung und Beschreibung des Workflows sem Fall für eine Aufzählung). Nun kann mittels xsl:choose eine Fallunterscheidung vorgenommen werden, wobei die formulierte Wenn-Bedingung dann abgelehnt wird, wenn es sich um jene Absatzelemente handelt, die sich vor einer Liste befinden diese Knoten werden ebenfalls gruppiert, wobei das erste Item der Sequenz bzw. der Kontextknoten kein Listenelement ist [FB 2008; S. 751f.]. Ist die Bedingung wahr, erfolgt ein weiterer Gruppierungsvorgang: <!-- 2. Schritt --> <xsl:for-each-group select= current-group() group-ending-with= &pstyle_nummerierung; [following-sibling::*[1] Nummerierung )]] &pstyle_aufzählung; [following-sibling::*[1] Aufzhlung )]] > Diese Gruppierung ähnelt dem ersten Vorgang. Unterschied ist nur, dass das Gruppierungskriterium group-ending-with implementiert wurde. Jedes letzte Listenelement stellt nun das Ende der Liste dar und es werden kategorisch nachfolgende Absatzelemente ausgeschlossen. <xsl:choose> <xsl:when test= current() [self::&pstyle_nummerierung; self::&pstyle_aufzählung;] > <xsl:choose> <xsl:when test= current()[self::&pstyle_nummerierung;] > <orderedlist> <xsl:apply-templates select= current-group() /> </orderedlist> </xsl:when> <xsl:when test= current()[self::&pstyle_aufzählung;] > <itemizedlist> <xsl:apply-templates select= current-group() /> </itemizedlist> </xsl:when> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:apply-templates select= current-group() /> </xsl:otherwise> </xsl:choose> </xsl:for-each-group> Sind alle Listenelemente gruppiert worden (d.h die Wenn-Bedingung ist wahr), kann eine Fallunterscheidung mittels xsl:choose erfolgen, ob es sich um eine nummerierte oder aufgezählte Liste handelt das entsprechende Literal wird erzeugt. Die Sub- Instruktion xsl:otherwise kann an dieser Stelle nicht verwendet werden, da sonst die current-group() noch die nachfolgenden Absatzelemente enthalten würde. 91

94 8 Realisierung und Beschreibung des Workflows Verarbeitung von OOXML-Tabellen mit variabler Reihenanzahl Im Wordtemplate sind die Tabellen»Daten zur Veröffentlichung«und»Erschienen in«einfach aufgebaut, da diese über eine feste Spalten- und Reihenanzahl verfügen. Die zu verarbeitenden Informationen befinden sich daher immer an der gleichen Position. Die anderen Tabellen verfügen über eine variable Reihenanzahl, dass heißt je nach Artikel kann eine Tabelle über eine unterschiedliche Reihenanzahl verfügen. Die Tabelle»Literaturempfehlungen«, welche im nachfolgenden Kapitel gesondert erläutert wird, verfügt zudem über eine variable Spaltenanzahl. Da es im Rahmen dieser Betrachtung nicht möglich ist, sämtliche Tabellen zu erläutern, werden die Tabellen»Informationen zum Autor / zu den Autoren«,»Informationen zum Interviewpartner / zu den Interviewpartnern«und die Tabelle»Informationen zum Fragenden / zu den Fragenden«repräsentativ erläutert. Bei den genannten Tabellen ist zu erkennen, dass jede Reihe w:tr Angaben zu einer Person enthält. Da diese Angaben in allen drei Tabellen identisch, können sie nach dem gleichen Muster verarbeitet werden. Hierzu wurde das benannte Template person erstellt. Da sich die Verarbeitung der Tabellen»Informationen zum Autor / zu den Autoren«und»Informationen zum Interviewpartner / zu den Interviewpartnern«nicht unterscheiden, können sie in der gleichen Template-Regel verarbeitet werden. Die Trennung erfolgt mittels dem Operator, wobei die Reihenfolge der Vergleichsmuster irrelevant ist [FB 2008; S. 100]. Es muss lediglich eine Unterscheidung stattfinden, ob eine oder mehrere Reihen ausgefüllt worden sind: <xsl:template match= &tab_autor; &tab_fragende; > <xsl:choose> <xsl:when test= count(&tabreihe_eintrag;) = 1 > <xsl:for-each select= &tabreihe_eintrag; > <author> <xsl:call-template name= person /> </author> </xsl:for-each> </xsl:when> <xsl:when test= count(&tabreihe_eintrag;) > 1 > <authorgroup> <xsl:for-each select= &tabreihe_eintrag; > <author> <xsl:call-template name= person /> </author> </xsl:for-each> </authorgroup> </xsl:when> <xsl:otherwise/> </xsl:choose> </xsl:template> 92

95 8 Realisierung und Beschreibung des Workflows Um die Tabellenreihen zu zählen wird die XPath-Funktion count() genutzt. Mittels eines Vergleichsoperators wird die Anzahl der Items der Eingabesequenz überprüft [FB 2008; S. 443f.]. Ist nur eine Person angegeben und demzufolge auch nur eine Reihe ausgefüllt, wird das Element author generiert und das Template person aufgerufen. Andernfalls muss zuerst das Element authorgroup erstellt werden. In beiden Fällen wird mittels xsl:for-each eine Sequenz aus den selektierten w:tr Elementen erstellt. Für jedes Item dieser Sequenz werden die enthaltenen Anweisungen des Templates person ausgeführt [a.a.o.; S. 745f.]. Da die Entität tabreihe_eintrag so formuliert wurde, dass nur die Reihen berücksichtigt werden, welche Einträge besitzen, sind Leerreihen nicht Bestandteil der Sequenz und werden demnach nicht verarbeitet. Zwar sollte zu jedem Artikel ein Autor angegeben werden, jedoch ist das nicht immer der Fall. Das Element author darf jedoch nie leer sein Werden beide Wenn-Bedingungen abgelehnt, dann tritt keine Verarbeitung in Kraft (<xsl:otherwise/>). Die Tabelle»Informationen zum Interviewpartner / zu den Interviewpartnern«wird in einer separat definierten Template-Regel verarbeitet. An dieser Stelle wird für jede Reihe bzw. Person das Element othercredit erzeugt unabhängig von der Personenanzahl: <xsl:template match= &tab_interviewpartner; > <xsl:for-each select= &tabreihe_eintrag; > <othercredit> <xsl:call-template name= person /> </othercredit> </xsl:for-each> </xsl:template> Das benannte Template person ist wie folgt aufgebaut: <xsl:template name= person > <personname> <honorific> <xsl:value-of select= &spalte1; /> </honorific> <firstname> <xsl:value-of select= &spalte2; /> </firstname> <surname> <xsl:value-of select= &spalte3; /> </surname> </personname> <affiliation> <shortaffil> <xsl:value-of select= &spalte6; /> </shortaffil> <jobtitle> <xsl:value-of select= &spalte5; /> </jobtitle> 93

96 8 Realisierung und Beschreibung des Workflows <orgname> <xsl:value-of select= &spalte4; /> </orgname> </affiliation> <address> <phone><xsl:value-of select= &spalte7; /></phone> < > <xsl:value-of select= w:tc[8]/w:p/w:hyperlink/w:r/w:t &spalte8; /> </ > </address> </xsl:template> Die Verarbeitungsanweisungen können als einfach angesehen werden, da sich die entsprechenden Informationen immer in der gleichen Spalte befinden. Der Wert der Entitäten für die jeweiligen Spalten sind in der Form w:tc[x]/w:p/w:r/w:t formuliert, wobei der Ausdruck x für die jeweilige Spaltenposition steht. Bei der Erzeugung des Elements wird aus Sicherheitsgründen auf zwei Pfade verwiesen. Der erste angegebene Pfad bezieht sich auf den Inhalt der achten Spalte (w:tc[8]). Ist ein Element w:hyperlink enthalten, soll dessen Inhalt extrahiert werden. In diesem Fall wurde im Wordtemplate ein Link ausgezeichnet. Die zweite Pfadangabe bezieht sich nun auf die Möglichkeit, dass der Hyperlink nicht erkannt worden ist (in diesem Fall fehlt das Element w:hyperlink) Verarbeitung von OOXML-Tabellen mit variabler Reihen- und Spaltenanzahl In dem vorherigen Kapitel wurde geschildert, dass mittels einer xsl:for-each Anweisung und dem entsprechenden XPath-Pattern für Tabellenreihen, eine Verarbeitung unabhängig von der Reihenanzahl realisiert werden kann. Die Tabelle»Literaturempfehlungen«verinnerlicht darüber hinaus eine variable Spaltenanzahl. Die Tabellen»Literaturempfehlungen«,»Internetempfehlungen«und»Erschienen in«werden als bibliografische Informationen bibliodiv hinterlegt. Dass bedeutet, der nachfolgende Grundaufbau der Tabelle»Literaturempfehlungen«stimmt mit den anderen genannten Tabellen überein. Einzig das title-element differenziert diese Informationen voneinander. Bei der Verarbeitung der Tabelle»Literaturempfehlungen«wird zuerst überprüft, ob das Element bibliodiv inklusive dem Titelelement überhaupt erstellt werden muss: 94

97 8 Realisierung und Beschreibung des Workflows <xsl:template match= &tab_literaturempfehlungen; > <xsl:if test= &tabreihe_eintrag; > <bibliodiv> <info> <title>literaturempfehlungen</title> </info> <xsl:for-each select= &tabreihe_eintrag; > <biblioentry> <xsl:call-template name= build_litentry /> </biblioentry> </xsl:for-each> </bibliodiv> </xsl:if> </xsl:template> Für jede Tabellenreihe w:tr wird nun das Element biblioentry erstellt. Nicht nur aus Gründen der Übersichtlichkeit findet die Verarbeitung der Reihen in einem anderen Template statt, sondern aus rein funktionalen Gründen, wie nachfolgend erläutert wird. <xsl:template name= build_litentry > <xsl:param name= sp select= 1 /> Zu Beginn des Templates wird ein lokaler Parameter sp mit dem Default-Wert 1 definiert. Lokal bedeutet, dass der Parameter ausschließlich innerhalb dieser Template-Regel genutzt werden kann globale Parameter werden als Kindelement von xsl:stylesheet eingebunden und sind für das gesamte Dokument gültig. Parameter müssen am Anfang einer Template-Regel definiert werden. Ihren Wert erhalten sie entweder über das select Attribut oder in dem Anweisungen innerhalb des Elements xsl:param definiert worden sind. Ein Default-Wert meint bei einem Parameter einen Anfangswert. Dass bedeutet, während der Verarbeitung des aktuellen Knotens kann sich der Wert des Parameters ändern. Die Referenzierung eines Parameters erfolgt über ein dem Namen vorangestelltes Dollar-Zeichen ($) [FB 2008; S. 177ff.]. Die nachfolgende Tabelle zeigt, welche Funktion der Parameter sp übernehmen soll: Autor/in Autor/in Jahr Titel Autor 1 $sp=1 $sp= $sp=3 XSLT $sp+1 Autor 1 $sp=1 Autor 2 $sp= $sp=3 XPath $sp+1 Tabelle 5: Beispiel der Verarbeitung mittels dem Parameter sp Der Parameter sp kann als Positionswert der Spalte w:tc verstanden werden. 95

98 8 Realisierung und Beschreibung des Workflows <xsl:choose> <xsl:when test= w:tc[position()=$sp] and preceding-sibling::w:tr[position()=last()and w:tc[position()=$sp and descendant::w:t= Autor/in ]] > <!-- Verarbeitung eines Zelleneintrags --> <xsl:call-template name= build_litentry > <xsl:with-param name= sp select= $sp+1 /> </xsl:call-template> </xsl:when> Die Verarbeitung jeder Reihe w:tr beginnt in der linken äußeren Spalte der Tabelle (gekennzeichnet durch das Prädikat [position()=$sp] des Elements w:tc). Durch die Formulierung einer Wenn-Bedingung innerhalb von xsl:choose muss sichergestellt werden, dass sich die aktuell zu verarbeitende Zelle w:tc in der Spalte»Autor/in«befindet. Hierzu muss auf den Tabellenkopf zugegriffen werden. Dies geschieht durch den Pfadausdruck preceding-sibling::w:tr[position()=last()]. Die preceding-achse erlaubt die Adressierung vorheriger Knoten bzw. in diesem Fall genauer gesagt das vorherige Geschwisterelement (sibling) w:tr. Der Tabellenkopf ist immer die erste Reihe einer Tabelle. Da die preceding-achse rückwärts gerichtet ist, wird auch entgegengesetzt gezählt - daher befindet sich der Tabellenkopf aus Sicht jeder nachfolgenden Tabellenreihe an letzter Position [a.a.o.; S. 306f.]. Abschließend wird sichergestellt, dass in der Spalte sp des Tabellenkopfs das Element w:tc bzw. dessen Nachfahren-Element w:t den Textstring»Autor/in«enthält somit befindet sich die aktuell verarbeitete Zelle in der Spalte»Autor/in«. Am Ende der Wenn-Bedingung wird der Wert des Parameters mittels eines additiven Operators um 1 erhöht. Dabei wird das Template via xsl:call-template nochmals aufgerufen, beginnend mit der Überprüfung des Kontexts in der nachfolgenden Spalte im zweiten»durchgang«gilt daher: sp=2 [a.a.o.; S. 188ff.]. Die Wenn-Bedingung wird dann abgelehnt, wenn die Spalte der Jahresangabe erreicht worden ist. Das mehrmalige Aufrufen des gleichen Templates hätte zur Folge, dass eventuelle andere Instruktionen oder z.b. die Erzeugung eines LRE bei jedem Aufruf durchgeführt werden würde. Daher wurde die Tabelle in Word so angelegt, dass zuerst die Autoren und danach weitere Informationen angegeben werden. Darüber hinaus erklärt sich, warum diese Verarbeitung separat stattfinden muss. 96

99 8 Realisierung und Beschreibung des Workflows Unabhängig von der Erhöhung des Parameters sp wird nun der Zelleneintrag, wenn dieser vorhanden ist, verarbeitet: <!-- Verarbeitung eines Zelleneintrags --> <xsl:if test= w:tc[position()=$sp and descendant::w:t] > <author> <personname> <xsl:value-of select= w:tc[$sp]/w:p/w:r/w:t /> </personname> </author> </xsl:if> Wird, wie vorher schon erwähnt, die Wenn-Bedingung abgelehnt, kann der aktuelle Wert des Parameters genutzt werden, um die Inhalte der anderen Zellen auszuwerten. <xsl:otherwise> <title> <xsl:value-of select= w:tc[$sp+1]/w:p/w:r/w:t /> </title> <xsl:if test= w:tc[$sp+2]/w:p/w:r/w:t > <editor> <orgname> <xsl:value-of select= w:tc[$sp+2]/w:p/w:r/w:t /> </orgname> </editor> </xsl:if> <publisher> <publishername> <xsl:value-of select= w:tc[$sp+3]/w:p/w:r/w:t /> </publishername> <address> <city> <xsl:value-of select= w:tc[$sp+4]/w:p/w:r/w:t /> </city> </address> </publisher> <pubdate> <xsl:value-of select= w:tc[$sp]/w:p/w:r/w:t /> </pubdate> <edition> <xsl:value-of select= w:tc[$sp+5]/w:p/w:r/w:t /> </edition> <pagenums> <xsl:value-of select= w:tc[$sp+6]/w:p/w:r/w:t /> </pagenums> </xsl:otherwise> </xsl:choose> </xsl:template> Da der Abstand der Spalten sich nicht weiter verändert, kann ein additiver Operator und ein fester Zahlenwert zur Positionsangabe genutzt werden. Zu berücksichtigen ist, dass sich der Abstand auf die Spalte Jahr bezieht, da im letzten»durchgang«zu erst der Parameter sp erhöht worden ist und anschließend die Wenn-Bedingung abgelehnt wurde. 97

100 8 Realisierung und Beschreibung des Workflows Verarbeitung der Tabelle»Glossar«und der Glossarbegriffe Wie schon im Kapitel 8.1. Strukturanalyse eines Streifband-Artikels erwähnt, dienen die, im Fließtext ausgezeichneten, Glossarbegriffe in der späteren Webausgabe als Link. Dass bedeutet, die Erklärungen, welche in der Tabelle»Glossar«enthalten sind, werden in der externe Seite glossar.html hinterlegt. Der Leser soll jedoch nicht einfach nur auf diese Seite verwiesen werden, sondern es soll ihm ermöglicht werden, direkt zur Erklärung des ausgewählten Begriffs zu gelangen. Die Verarbeitung der Glossarbegriffe lässt sich am Beispiel am Besten verdeutlichen: Angenommen im Fließtext werden folgende Begriffe mittels der Zeichenformatvorlage Glossarbegriff ausgezeichnet: Tausendmillimeterpreis und determiniert. Die medienneutrale Speicherung im DocBook-Format erfolgt in der Form: <glossterm linkend= TMP_Kalkulation >Tausendmillimeterpreis </glossterm> <glossterm linkend= determinieren >determiniert</glossterm> Im Wordtemplate ist es umständlich die Erläuterung zum Glossarbegriff direkt einzubinden. Daher wurde eine Tabelle»Glossar«im Anhang angelegt. Die Speicherung im DocBook-Format sieht ebenfalls eine solche Trennung vor. Dass bedeutet, das die Erklärungen im Element glossary als Kindelement von appendix hinterlegt werden. Um nun beides miteinander zu verbinden, muss eine ID vergeben werden. Diese ist im Fall des Elements glossterm das Attribut linkend. Zu erkennen ist, dass der Wert des Attributs nicht mit dem ausgezeichneten Begriff übereinstimmt. Der Grund hierfür lässt sich am zweiten Term verdeutlichen, da dieser dekliniert worden ist. Dass bedeutet, wenn in verschiedenen Artikeln der Begriff unterschiedlich dekliniert worden ist, jedes Mal eine andere ID vorliegen würde, welche trotzdem auf die identische Erläuterung in der Datei glossar.html verweisen müsste. Eine solche Vorgehensweise ist nicht möglich, da kein Element über mehrere Attribute der gleichen Bezeichnung verfügen darf [XML 2002; Kap. 3.1]. Die Lösung des Problems ist es, die in der Tabelle»Glossar«enthaltenen Begriffe als Grundlage für den Wert des linkend-attributs zu nutzen. 98

101 8 Realisierung und Beschreibung des Workflows Die entsprechende Tabelle für die genannten Begriffe liegt in folgender Form vor: Begriff TMP (Kalkulation) determinieren Erklärung Tausendermillimeterpreis = mm- Preis x 1000/verbreitete Auflage bestimmen, begrenzen, festlegen Tabelle 6: Beispiel der Tabelle»Glossar«Auf den ersten Blick ist erkennbar, dass die in der Tabelle enthaltenen Begriffe nicht in Form einer gültigen ID (bzw. allg. eines Attributs) vorliegen. Die Erklärung hierfür lässt sich am ersten Term verdeutlichen. Die Abkürzung»TMP«könnte eventuell auch eine andere Bedeutung als»tausendmillimeterpreis«haben. Daher wird der Begriff über einen in Klammern enthaltenen Term spezifiziert. Weiterhin könnte der aufgeführte Begriff mehrere Leerzeichen enthalten. Auch dieser Fall muss bei der Erzeugung eines gültigen Attributwerts berücksichtigt werden. Diese beiden Formalien müssen zwingend eingehalten werden. In Anbetracht des Aufwands der XSLT-Programmierung ist es nicht möglich, jeglichen Fall, zum Beispiel diverse Sonderzeichen etc., zu berücksichtigen. Eine weitere Rahmenbedingung wird in diesem Fall noch dem Nutzer auferlegt. Die Reihenfolge der Begriffe im Text, muss mit der Reihenfolge der Begriffe in der Tabelle übereinstimmen. Denn eine automatisierte Lösung mittels XSLT ist nicht möglich, wenn sich, wie im Beispiel»Tausendmillimeterpreis«, die Begriffe zu sehr von einander unterscheiden würden. Schließlich kann die Verarbeitung der Glossarbegriffe stattfinden: <xsl:template match= &cstyle_glossar; > <xsl:variable name= gloss_link > <xsl:number level= any count= &cstyle_glossar; /> </xsl:variable> Zuerst wird eine Variable gloss_link lokal definiert gloable Variablen wären Toplelvel-Elemente. Die Werte von Variablen können wie die eines Parameters definiert werden, d.h. entweder über ein select Attribut oder durch Anweisungen innerhalb des Elements xsl:variable [FB 2008; S. 180]. Der Wert der Variable gloss_link wird durch das Element xsl:number festgelegt. Jeder Knoten, auf den dass unter dem Attribut count genannte XPath Pattern passt, wird durchnummeriert, unabhängig von der Stellung in der Hierarchieebene (level= any ) [FB 2008; S. 445ff.]. 99

102 8 Realisierung und Beschreibung des Workflows Je nach Position des aktuell zu verarbeitenden Items der Sequenz besitzt die Variable einen anderen Wert, d.h. ist das erste Item der Kontextknoten, besitzt die Variable gloss_link den Wert 1; ist das zweite Item der Kontextknoten, hat die Variable den Wert 2 usw. Der Wert der Variable kann, im Gegensatz zu Parametern, innerhalb der Gültigkeitsdauer nicht verändert werden. Dass bedeutet, in diesem Fall kann innerhalb der aktuellen Template-Regel für die Verarbeitung des aktuellen Knotens, der Variable keinen anderen Wert zugewiesen werden [a.a.o.; S. 179]. Die Positionsnummer wird nun genutzt, um auf den Begriff innerhalb der Tabelle zurückzugreifen (genauer gesagt wird damit die Position der Reihe w:tr angegeben wobei die erste Reihe, dass heißt der Tabellenkopf, zu berücksichtigen ist: w:tr[$gloss_ link+1]). Das Attribut linkend wird nun mittels der Instruktion xsl:attribute definiert: <glossterm> <xsl:attribute name= linkend > <xsl:choose> <!-- enthält der Begriff Klammern? --> <xsl:when test= contains(following::&tab_glossar;/ w:tr[$gloss_link+1]/&spalte1;, ( ) > <xsl:value-of select= replace(replace(following::&tab_glossar;/ w:tr[$gloss_link+1]/&spalte1;, \(, _ ), \), ) /> </xsl:when> Der erste zu untersuchende Fall, ist ob runde Klammern enthalten sind. Mittels der XPath-Funktion contains() innerhalb der Wenn-Bedingung wird auf die nachfolgende Tabelle (following:&tab_glossar;) zugegriffen. Der folgende Location Step adressiert innerhalb dieser Tabelle die kontextabhängige Reihe und der Textstring wird überprüft. Dabei ist es ausreichend nach den String ( ( ), also dem Leerzeichen und der öffnenden Klammer, zu suchen. Nun wird der Attributwert mittels einer xsl:value-of-instruktion festgelegt. Innerhalb der replace()-funktion ist es notwendig, die Klammern mit einem vorangestellten Schrägstrich»anzukündigen«eine Maskierung mittels Entitäten bleibt ohne Effekt. Da beide Klammern ersetzt werden müssen, ist eine Verschachtelung von replace() notwendig. Die äußere Funktion ersetzt die schließende Klammer ( \) ) mit einem leeren String ( ). Die innere Funktion, ersetzt nun das Leerzeichen und die öffnende Klammer ( \( ) mit einem Unterstrich ( _ ). 100

103 8 Realisierung und Beschreibung des Workflows Anschließend werden mögliche Leerzeichen ebenfalls durch einen Unterstich ersetzt: <xsl:when test= contains(following::&tab_glossar;/ w:tr[$gloss_link+1]/&spalte1;, ) > <xsl:value-of select= replace(following::&tab_glossar;/ w:tr[$gloss_link+1]/&spalte1;,, _ ) /> </xsl:when> <xsl:otherwise> <xsl:value-of select= following::&tab_glossar;/ w:tr[$gloss_link+1]/&spalte1; /> </xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:value-of select=. /> </glossterm> </xsl:template> Sind weder Klammern noch Leerzeichen enthalten, wird mittels xsl:otherwise der Inhalt des Tabellenbegriffs unbearbeitet übernommen, da voraussichtlich eine gültige ID vorliegt. Der Inhalt des Elements glossterm wird vom Kontextknoten mittels <xsl:value-of select=. /> übernommen. Abschließend erfolgt die Verarbeitung der eigentlichen Tabelle. Die Speicherung im DocBook-Format erfolgt in folgender Form: <glossary> <glossentry xml:id= TMP_Kalkulation > <glossterm>tmp (Kalkulation)</glossterm> <glossdef> <para>tausendermillimeterpreis = mm-preis x 1000/verbreitete Auflage</para> </glossdef> </glossentry> <glossentry xml:id= determinieren > <glossterm>determinieren</glossterm> <glossdef> <para>bestimmen, begrenzen, festlegen</para> </glossdef> </glossentry> </glossary> Jedes Element glossentry steht für einen angegeben Begriff mit zugehöriger Erläuterung. Der Begriff, also der Eintrag in der ersten Spalte des Wordtemplates, wird im Element glossterm hinterlegt. Die Erklärung wird als Element glossdef gespeichert. Die Verbindung zwischen Glossarbegriff im Text und dem Begriff im Glossar selbst wird nun abschließend durch eine zugehörige ID in Form des Attributs xml:id hergestellt. Der Wert dieses Attributs wird nun nach dem gleichen Schema verarbeitet, wie es bereits für linkend getan wurde. 101

104 8 Realisierung und Beschreibung des Workflows <xsl:template match= &tab_glossar; > <xsl:if test= &tabreihe_eintrag; > <glossary> <xsl:for-each select= &tabreihe_eintrag; > Das Element glossary soll jedoch erst dann erstellt werden, wenn die Tabelle wirklich über Einträge verfügt. <glossentry> <xsl:attribute name= xml:id > <xsl:choose> <xsl:when test= contains(&spalte1;, ( ) > <xsl:value-of select= replace( replace(&spalte1;, \(, _ ), \), ) /> </xsl:when> <xsl:when test= contains(&spalte1;, ) > <xsl:value-of select= replace(&spalte1;,, _ ) /> </xsl:when> <xsl:otherwise> <xsl:value-of select= &spalte1; /> </xsl:otherwise> </xsl:choose> </xsl:attribute> <glossterm> <xsl:value-of select= &spalte1; /> </glossterm> <glossdef> <xsl:choose> <xsl:when test= not(&spalte2;) > <para role= present_entry /> </xsl:when> <xsl:otherwise> <para> <xsl:value-of select= &spalte2; /> </para> </xsl:otherwise> </xsl:choose> </glossdef> </glossentry> </xsl:for-each> </glossary> </xsl:if> </xsl:template> Danach erfolgt eine sequenzielle Verarbeitung der einzelnen Reihen. Durch die xsl:foreach Anweisung ist der Kontextknoten w:tr und daher werden bei der Festlegung des Werts für das Attribut xml:id andere Location Steps angegeben, als dass bei der Verarbeitung der Glossarbegriffe im Text der Fall ist. Eine Zusammenfassung dieses Bearbeitungsschrittes würde sich unter Umständen als komplexer und wenig verständlicher erweisen. Daher wurde auf diese einfache Variante zurückgegriffen. Eine Besonderheit bei der Erzeugung des Elements glossdef ist zu beachten. Ist die zweite Spalte der Tabelle leer, dass heißt die Erläuterung zum aufgeführten Begriff ist 102

105 8 Realisierung und Beschreibung des Workflows nicht vorhanden, soll ein leeres Absatzelement para mit dem Attribut role= present_ entry erzeugt werden. In diesem Fall, wäre der aufgeführte Begriff, inklusive Erläuterung, schon vorhanden. Bei der Aktualisierung der Datei glossar.html wird dann dieser Begriff nicht hinzugefügt. Denn die Validität der Datei wäre sonst nicht mehr gegeben, da zwei identische ID s vorliegen würden. In diesem Fall sind die Redakteure angehalten, nach schon vorhandenen Begriffen in der Datei glossar.html zu suchen. 103

106 8 Realisierung und Beschreibung des Workflows 8.4. Transformation der DocBook-Daten in das Ausgabeformat XHTML Liegen nun die Artikel im XML-Dokumentenformat DocBook vor, können die Inhalte für eine Webausgabe aufbereitet werden. Dabei wird der Content nicht nur in das XHTML- Format überführt, sondern es werden gleichzeitig die Seitenbestandteile, wie die Navigationsleiste, die Fußzeile usw. hinzugefügt. Somit ist ein zusätzlicher Transformationsaufwand nicht notwendig. Wie bei der Transformation der OOXML-Daten in das DocBook-Format wird nur eine XSLT-Datei benötigt, um beide Artikeltypen in XHTML auszugeben. Um den Transformationsvorgang besser zu verstehen, wird an dieser Stelle die Webpräsentation eines Artikel dargestellt und die Bestandteile tabellarisch kurz erläutert: div id= head div id= marginalspalte div id= authored_by div id= abstract div id= main_content div id= main_box Abbildung 20: Webausgabe eines SB-Artikels (eigene Darstellung) 104

mach,, Benjamin Kurtz, Bastian Bonnermann

mach,, Benjamin Kurtz, Bastian Bonnermann Folie 1 Seminarvortrag in Multimedia- & Web-Technologie von: Markus Wißmach mach,, Benjamin Kurtz, Bastian Bonnermann Für den Seminarvortrag mit dem Thema XSL/XSLT wurde das Fachbuch XSLT von Doug Tidwell

Mehr

XML Informationsmodelle

XML Informationsmodelle XML Vorlesung ETHZ, Sommersemester 2006 XML Informationsmodelle Erik Wilde 25.4.2006 http://dret.net/lectures/xml-ss06/ 25.4.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht XML Namespaces für Schema-Kombination

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) TFH-Berlin Sommer Semester 2008 Manfred Gruner mailto:wpr@gruner.org Web-Programmierung (WPR) Literatur: Web-Technologien (Heiko Wöhr) Konzepte Programmiermodelle - Architekturen

Mehr

XML-basierte Standards für den Datenaustausch in der Logistikkette

XML-basierte Standards für den Datenaustausch in der Logistikkette XML und Electronic Data Interchange (EDI) EDIFACT-XML ein kleines Beispiel - Strukturierung von Daten Datensatz 347,M50,L Datensatz mit Pseudocode-ML strukturiert 347

Mehr

HTML5. Grundlagen der Erstellung von Webseiten. Linda York, Tina Wegener. 1. Ausgabe, Dezember 2011 HTML5

HTML5. Grundlagen der Erstellung von Webseiten. Linda York, Tina Wegener. 1. Ausgabe, Dezember 2011 HTML5 Linda York, Tina Wegener HTML5 Grundlagen der Erstellung von Webseiten 1. Ausgabe, Dezember 2011 HTML5 2 HTML5 - Grundlagen der Erstellung von Webseiten 2 Die erste Webseite mit HTML erstellen In diesem

Mehr

Sachwortverzeichnis... 251

Sachwortverzeichnis... 251 Inhalt Vorwort... V 1 WWW World Wide Web... 1 1.1 Das Internet Infrastruktur und Administration... 2 1.2 Datenübertragung... 4 1.3 Sprachen im Web... 6 1.4 Webseiten... 7 1.4.1 Clientseitige Dynamik...

Mehr

Geodaten: Modelle und Strukturen

Geodaten: Modelle und Strukturen XML und Auszeichnungssprachen Dr. Sven-Henrik Kleber IMPRESSUM Diese Publikation ist vom Universitätslehrgang "GEOGRAPHICAL INFORMATION SCIENCE & SYSTEMS" am Zentrum für Geoinformatik der Universität Salzburg

Mehr

DTD: Syntax-Zusammenfassung

DTD: Syntax-Zusammenfassung DTD: Syntax-Zusammenfassung Dokumenttyp-Deklarationen Interne Teilmenge ]> Externe

Mehr

YunPeng Dong 1429910 1

YunPeng Dong 1429910 1 YunPeng Dong 1429910 1 Einführung o o o Ziel Dokument Well-Formed XML Dokument XML-Struktur o Logisch Struktur o Physisch Struktur Namespaces Namespaces Deklaration Anwendungsbereich DOM 2 Extensible Markup

Mehr

Information und ihre Darstellung: XHTML & CSS

Information und ihre Darstellung: XHTML & CSS Information und ihre Darstellung: XHTML & CSS IFB Speyer Daniel Jonietz 2009 XHTML Extensible Hypertext Markup Language Unter besonderer Berücksichtigung von XHTML 1.1. 1 Was ist XHTML? Textbasierte Auszeichnungssprache

Mehr

Klaus Schild, XML Clearinghouse 2003. Namensräume

Klaus Schild, XML Clearinghouse 2003. Namensräume Namensräume Lernziele Namenskonflikte Warum lösen im World Wide Web einfache Präfixe dieses Problem nicht? Wie lösen globale Namensräume das Problem? Wie werden sie in XML-Dokumenten benutzt? Was sind

Mehr

DTP. Struktur. InDesign. Strukturierte Daten. vs. DTP-Layoutsoftware. Datenbanken. QuarkXPress. tekom-jahrestagung 3.

<xml/> DTP. Struktur. InDesign. Strukturierte Daten. vs. DTP-Layoutsoftware. Datenbanken. QuarkXPress. tekom-jahrestagung 3. InDesign Strukturierte Daten vs. -Layoutsoftware tekom-jahrestagung 3. November 2010 Struktur QuarkXPress Gregor Fellenz Mediengestalter für Digital- und Printmedien Studium Druck- und Medientechnologie,

Mehr

RDF(a) und Microformats

RDF(a) und Microformats Weiterführende Themen zu Internet- und WWW-Technologien Hasso-Plattner-Institut 16. Mai 2011 1 Einführung Hintergrund Die Geschichte 2 RDF Ziel Repräsentationen Vokabularien 3 Microformats Motivation Beispiele

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht

Mehr

InDesign. InDesign und XML wie geht s weiter? markupforum Stuttgart 1. März 2011. Workflows IDML. Zukunft. gregor.fellenz@indesignblog.

InDesign. InDesign und XML wie geht s weiter? <xml/> markupforum Stuttgart 1. März 2011. Workflows IDML. Zukunft. gregor.fellenz@indesignblog. InDesign InDesign und wie geht s weiter? markupforum Stuttgart 1. März 2011 Workflows IDML Zukunft gregor.fellenz@indesignblog.com InDesign und wie geht s weiter? Übersicht Die Folien finden Sie

Mehr

Entwicklung einer XML-basierten Tumordatenschnittstelle. TuDaSch-XML

Entwicklung einer XML-basierten Tumordatenschnittstelle. TuDaSch-XML Entwicklung einer XML-basierten Tumordatenschnittstelle TuDaSch-XML Frank Papendorf, Tumorzentrum Hannover / 01.04.2004 Übersicht 1. Einführung 2. XML-Technologie 3. TuDaSch-XML 4. Fazit / Ausblick Frank

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 120 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden

Mehr

Office meets XML. XML-Schnittstellen von Bürosoftware (konkret: OpenOffice)

Office meets XML. XML-Schnittstellen von Bürosoftware (konkret: OpenOffice) Office meets XML XML-Schnittstellen von Bürosoftware (konkret: OpenOffice) W. Riedel, TU Chemnitz, URZ mailto:w.riedel@hrz.tu-chemnitz.de 531 1422 Workshop, 19.-22.4.2004, Löbsal Was erwartet uns? 1 Das

Mehr

Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links

Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links Was ist SVG? Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links SVG: Allgemeines zu SVG SVG = Scalable Vector Graphics

Mehr

XML-QL. Querysprachen für XML. Semistrukturierte Datenmodell und XML Datenmodell. Beispiel

XML-QL. Querysprachen für XML. Semistrukturierte Datenmodell und XML Datenmodell. Beispiel XML-QL Querysprachen für XML Zusätzliche Quellen: http://www.w3.org/tr/xquery/ http://www.w3schools.com/xquery/ XML-QL ist eine Querysprache für XML mit folgenden Eigenschaften: Kombiniert die XML-Syntax

Mehr

XML - Extensible Markup Language. Agenda - Oracle XML DB

XML - Extensible Markup Language. Agenda - Oracle XML DB Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von Datenbanken 2005 in Wörlitz Annegret Warnecke Senior

Mehr

Technische Dokumentation mit DocBook eine Einführung

Technische Dokumentation mit DocBook eine Einführung Kontakt: frank.hofmann@efho.de 15. September 2006 Übersicht DocBook verstehen Arbeiten mit DocBook DocBook im Vergleich mit anderen Lösungen Links und Referenzen Übersicht DocBook verstehen Arbeiten mit

Mehr

Semantic Markup für die Dokumentenklassifizierung. Seminarvortrag von Mirko Pracht

Semantic Markup für die Dokumentenklassifizierung. Seminarvortrag von Mirko Pracht Semantic Markup für die Dokumentenklassifizierung Seminarvortrag von Mirko Pracht Ziel des Vortrags Aufbau digitaler Bibliotheken Verbesserung Informationssuche Semantic Markup Gliederung 1. Grundlagen

Mehr

Präsentation zum Thema XML Datenaustausch und Integration

Präsentation zum Thema XML Datenaustausch und Integration Sebastian Land Präsentation zum Thema XML Datenaustausch und Integration oder Warum eigentlich XML? Gliederung der Präsentation 1. Erläuterung des Themas 2. Anwendungsbeispiel 3. Situation 1: Homogene

Mehr

XML Grundlagen Sommersemester 2013

XML Grundlagen Sommersemester 2013 XML Grundlagen Sommersemester 2013 Die Lehrveranstaltung wird studienbegleitend durch eine Hausarbeit und eine Präsentation mit Diskussion geprüft. Die Themen der folgenden Liste werden im Rahmen der Lehrveranstaltung

Mehr

Effektive Erstellung von Word-Templates als Workflowgrundlage

Effektive Erstellung von Word-Templates als Workflowgrundlage Effektive Erstellung von Word-Templates als Workflowgrundlage Word-Templates müssen zwei wesentlichen Anforderungen genügen: Sie müssen in ihren Bestandteilen allen inhaltlichen Merkmalen der Publikation

Mehr

KM - Knowledge Management. SAP ERP Central Component

KM - Knowledge Management. SAP ERP Central Component KM - Knowledge Management SAP ERP Central Component Release 5.0 Release-Informationen Copyright 2004 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen

Mehr

IT- und Medientechnik

IT- und Medientechnik IT- und Medientechnik Vorlesung 11: 19.12.2014 Wintersemester 2014/2015 h_da, Lehrbeauftragter Themenübersicht der Vorlesung Hard- und Software Hardware: CPU, Speicher, Bus, I/O,... Software: System-,

Mehr

Dokumenten- und Content Management

Dokumenten- und Content Management Dokumenten- und Content Management 1 Dokumentenbeschreibung...2 1.1 SGML...2 1.2 HTML...3 1.3 XML...3 1.4 XML-Anwendungen...6 1.5 Datenaustausch mit XML...6 2 Content-Management...7 2.1 Medienprodukte...7

Mehr

Extensible Markup Language (XML)

Extensible Markup Language (XML) Extensible Markup Language (XML) Erik Wilde TIK ETH Zürich Sommersemester 2001 Übersicht Motivation für die Einführung von XML XML Positionierung ein Profile von SGML XML Basics Szenarien Syntax DTDs XML

Mehr

Content Management mit Teamcenter

Content Management mit Teamcenter BCT Technologietage 2011 Differenzierung durch Standards Content Management mit Teamcenter Kevin Kubelke, KGU-Consulting Rainer Bender Jochen Sauter Dokumenten- und Content Management Übersicht CUSTOMER

Mehr

Das mobile Bordbuch MOB 4. Mobile Dokumentation / Mobile Documentation. Motivation. Ausgangsdaten. Anforderungen

Das mobile Bordbuch MOB 4. Mobile Dokumentation / Mobile Documentation. Motivation. Ausgangsdaten. Anforderungen MOB 4 Partnerpräsentation Das mobile Bordbuch Aleš Chyba, ŠKODA AUTO a.s., Mladá Boleslav, Tschechien Robert Erfle, DOSCO Document Systems Consulting GmbH, Heidelberg Motivation Smartphones und Tablet-Computer

Mehr

XML-Namensräume. Marc Monecke monecke@informatik.uni-siegen.de

XML-Namensräume. Marc Monecke monecke@informatik.uni-siegen.de XML-Namensräume Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 19. Mai 2003 Inhaltsverzeichnis 1 Motivation

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Paynet Adapter Spezifikationen Voraussetzungen Datum : 21.07.08 Version : 1.0.0.2 21.07.2008 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung... 3 2 Architektur... 3 2.1 Grundsätze

Mehr

E-Books produzieren und publizieren

E-Books produzieren und publizieren E-Books produzieren und publizieren Bruno Wenk Hochschule für Technik und Wirtschaft HTW Chur Leipzig, 24. Oktober 2012 Seite 1 Ziel Mit kostenlosen Programmen ein E-Book im Format EPUB (2.01) realisieren

Mehr

XML-Praxis. XML-Grammatiken. joern@techfak.uni-bielefeld.de

XML-Praxis. XML-Grammatiken. joern@techfak.uni-bielefeld.de XML-Praxis XML-Grammatiken Jörn Clausen joern@techfak.uni-bielefeld.de 1 Übersicht formale Beschreibung von XML-Sprachen verschiedene Lösungen Document Type Definition Relax NG 2 wohlgeformtes vs. valides

Mehr

6. Datenbanken und XML

6. Datenbanken und XML 6. Datenbanken und XML 6.0 Einführung XML (extended Markup Language) definiert ein Format für Textdateien, das sich sehr gut als Austauschformat zwischen verschiedenen Softwaresystemen (z.b. zwischen Datenbanken

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Yellowbill Adapter Spezifikationen Voraussetzungen Datum : 22.08.2013 Version : 1.0.0.2 22.08.2013 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung...3 2 Architektur...3 2.1 Grundsätze

Mehr

XML IDML. InDesign Roboter. Satz. Automatisierung. Workflows. Templates XSLT. XML-Rules. 16. September 2011 Swiss Publishing Week

XML IDML. InDesign Roboter. Satz. Automatisierung. Workflows. Templates XSLT. XML-Rules. 16. September 2011 Swiss Publishing Week XSLT Automatisierung IDML Workflows Satz Templates -Rules InDesign Roboter 16. September 2011 Swiss Publishing Week Kontakt: Folien: gregor.fellenz@publishingx.de http://www.publishingx.de/dokumente und

Mehr

XML. Basis Syntax. Basis Syntax. XML (extensible Markup Language)

XML. Basis Syntax. Basis Syntax. XML (extensible Markup Language) XML XML (extensible Markup Language) Beschreibt den Inhalt und nicht die Präsentation. Unterschiede zu HTML: Neue Tags können definiert werden. Strukturen können eine willkürliche Tiefe haben. Ein XML

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

Web Content Management Systeme

Web Content Management Systeme Web Content Management Systeme Konzepte und praktische Anwendung Seminar im Studienschwerpunkt Multimedia von Frithjof Klös Überblick Einleitung Überblick Motivation 1. skriterien 2. 3. Konzeptumsetzung

Mehr

ARCWAY Cockpit 3.4. Standardbericht und Formatvorlagen. ReadMe

ARCWAY Cockpit 3.4. Standardbericht und Formatvorlagen. ReadMe ARCWAY Cockpit 3.4 Standardbericht und Formatvorlagen ReadMe Inhaltsverzeichnis 1. Einleitung... 4 2. Format- und Berichtsvorlagen in ARCWAY Cockpit... 4 3. ARCWAY Cockpit 3.4 Standard-Berichtsvorlage...

Mehr

DocBook-Filter für OpenOffice.org

DocBook-Filter für OpenOffice.org OpenOffice.org als Editor für DocBook-XML Herausgegeben durch das OpenOffice.org Germanophone-Projekt Autoren Autoren vorhergehender Versionen XML-Projekt (http://xml.openoffice.org) Alle in diesem Dokument

Mehr

DRM HTML5 XHTML EPUB XML CSS

DRM HTML5 XHTML EPUB XML CSS amazon E-Book kindle KF8 DRM HTML5 EPUB Reflowable XML Fixed Layout XHTML CSS Produktion digitaler Bücher 24. Januar 2012 Fogra Digital Publishing Schulung Kontakt: Folien: gregor.fellenz@publishingx.de

Mehr

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung 2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer Beitrag von Peter Küsters Formen des Datentransfers bei der Erfassung von Websites Im folgenden werden Methoden und Software zur Erfassung vorgestellt.

Mehr

Web, App & E-Book HTML 5 als zentrales Datenformat für digitale Workflows

Web, App & E-Book HTML 5 als zentrales Datenformat für digitale Workflows Web, App & E-Book HTML 5 als zentrales Datenformat für digitale Workflows Impulsvortrag Publishing-Workflows Web-Anwendungen Software-Entwicklung Die Ausgangsbasis für digitale Produkte (immer noch): Der

Mehr

XML Verarbeitung mit einer in Haskell eingebetteten DSL. Manuel Ohlendorf (xi2079)

XML Verarbeitung mit einer in Haskell eingebetteten DSL. Manuel Ohlendorf (xi2079) XML Verarbeitung mit einer in Haskell eingebetteten DSL Manuel Ohlendorf (xi2079) 2.0.200 Manuel Ohlendorf Übersicht 1 2 Einführung Datenstruktur Verarbeitung Vergleich mit anderen Verfahren Fazit 2 Übersicht

Mehr

8.2. XML-Grundlagen. XML on iseries 8.2. Seite. Kapitel. XML-Grundlagen

8.2. XML-Grundlagen. XML on iseries 8.2. Seite. Kapitel. XML-Grundlagen XML on iseries Kapitel.2.2 XML ist eine Technologie, welche ihren Ursprung dem Internet zu verdanken hat. Wie einige andere Begriffe auch, so hat die Abkürzung XML für den einen oder anderen Leser vielleicht

Mehr

Onlinehilfe aus FrameMaker- Dokumenten was kommt nach WebWorks Publisher?

Onlinehilfe aus FrameMaker- Dokumenten was kommt nach WebWorks Publisher? Onlinehilfe aus FrameMaker- Dokumenten was kommt nach WebWorks Publisher? tekom-tagung 19.-21.11.2003, Wiesbaden Expertenforum Onlinehilfe Dipl.-Ing. (Univ.) Michael Müller-Hillebrand, Erlangen http://cap-studio.de

Mehr

NS Raubgut. Projekt zur Katalogisierung von Literaturzugängen an der UBL zwischen 1933 und 1945. Beschreibung der programmtechnischen Umsetzung

NS Raubgut. Projekt zur Katalogisierung von Literaturzugängen an der UBL zwischen 1933 und 1945. Beschreibung der programmtechnischen Umsetzung NS Raubgut Projekt zur Katalogisierung von Literaturzugängen an der UBL zwischen 1933 und 1945 Beschreibung der programmtechnischen Umsetzung auf Basis der Content Management Anwendung des MyCoRe Arbeitskreises

Mehr

XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung

XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung Matthias Bethke bethke@linguistik.uni-erlangen.de Linguistische Informatik Universität Erlangen-Nürnberg Sommersemester

Mehr

GAMS, TEI Boilerplate, OxGarage

GAMS, TEI Boilerplate, OxGarage Publikationsworkflows und Standardwerkzeuge GAMS, TEI Boilerplate, OxGarage Martina Semlak martina.semlak@uni-graz.at Wege zur Onlinepublikation Publikationsworkflows Wie komme ich zu einem TEI Dokument?

Mehr

11 Publizieren im Web

11 Publizieren im Web 11 Publizieren im Web Für ein modernes Unternehmen ist es heute kaum vorstellbar, nicht im Internet vertreten zu sein. Laut Statistik Austria 7 haben 97 % aller österreichischen Unternehmen ab 10 Beschäftigten

Mehr

Apache Xalan GUI Dokumentation

Apache Xalan GUI Dokumentation Diese Dokumentation beschreibt die Anwendung von Apache Xalan GUI zur Konvertierung von XML-Dateien mit dem XSLT-Prozessor Xalan von Apache. Inhalt Apache Xalan GUI Dokumentation... 1 Apache Xalan GUI

Mehr

Artikelüberschrift (Vorlage Überschrift 1 )

Artikelüberschrift (Vorlage Überschrift 1 ) Artikelüberschrift (Vorlage Überschrift 1 ) Paul Beitragsautor (Vorlage Autoren ) 1 Einleitung Bitte verwenden Sie diese Word-Dokumentvorlage zum Erstellen von einzelnen Sammelband-Beiträgen. Sie enthält

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

Beleg 1/HTML: Erstellen einer Beispiel-Webseite

Beleg 1/HTML: Erstellen einer Beispiel-Webseite Beleg 1/HTML: Erstellen einer Beispiel-Webseite Als Beleg und zur Vertiefung der Kenntnisse in HTML ist eine Beispielwebseite zu erstellen, die die kennengelernten Tags und Attribute verwendet. Arbeiten

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden

Mehr

Wissenschaftliches Arbeiten mit dem Programm Microsoft Word

Wissenschaftliches Arbeiten mit dem Programm Microsoft Word Wissenschaftliches Arbeiten mit dem Programm Microsoft Word Ein Leitfaden und Ratgeber für Studierende der Hochschule Fulda des Fachbereichs Sozialwesen Inhaltsverzeichnis VORWORT... 1 1. EINRICHTEN DES

Mehr

Semistrukturierte Daten. 2. Datenmodellierung mit XML und XML-Schema XML. Lernziele:

Semistrukturierte Daten. 2. Datenmodellierung mit XML und XML-Schema XML. Lernziele: 2. Datenmodellierung mit XML und XML-Schema Was ist XML? 2. Datenmodellierung mit XML und XML-Schema 2. Datenmodellierung mit XML und XML-Schema Was ist XML? Semistrukturierte Daten Lernziele: Eigenschaften

Mehr

Willkommen bei le-tex

Willkommen bei le-tex Willkommen bei le-tex Informationen zu XML-Workflows, Input-Prüfung und Output-Automatisierung le-tex ist ein Spezialdienstleister für Verlagsprodukte und Unternehmenspublikationen. Wir unterstützen unsere

Mehr

1 Software Engineering 1

1 Software Engineering 1 1 Software Engineering 1 XML 1.1 XML Extensible Markup Language Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten Wird für den Datenaustausch/Speicherung benutzt

Mehr

UMSETZUNG EINER HTML-ON- LINEHILFE AUF DER BASIS VON DITA AM BEISPIEL EINES NEUEN ULTRASCHALLSENSORS DIPLOMARBEIT

UMSETZUNG EINER HTML-ON- LINEHILFE AUF DER BASIS VON DITA AM BEISPIEL EINES NEUEN ULTRASCHALLSENSORS DIPLOMARBEIT UMSETZUNG EINER HTML-ON- LINEHILFE AUF DER BASIS VON DITA AM BEISPIEL EINES NEUEN ULTRASCHALLSENSORS DIPLOMARBEIT IM FACHBEREICH INFORMATIK UND KOMMUNIKATIONSSYSTEME DER HOCHSCHULE MERSEBURG (FH) Vorgelegt

Mehr

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit IT-basierte Erstellung von Nachhaltigkeitsberichten Diplomarbeit zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen Fakultät der Leibniz Universität Hannover vorgelegt von

Mehr

Optimieren Sie Ihre n2n Webseite

Optimieren Sie Ihre n2n Webseite N2N Autor: Bert Hofmänner 5.10.2011 Optimieren Sie Ihre n2n Webseite Einer der wichtigsten Faktoren für den Erfolg Ihrer Webseite in Suchmaschinen sind deren Inhalte. Diese können Sie mit einem Content

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme www.semantic-web-grundlagen.de Webbasierte Informationssysteme Lehrveranstaltung im WS10/11 Fang Wei Michael Meier Foliensatz: Sebastian Rudolph, Markus Krötzsch Agenda Organisatorisches zur Vorlesung

Mehr

Einführung in XML. von. Prof. Dr. Manfred Dausmann Dipl.-Ing. (FH) Alexander König. Stand: November 2010

Einführung in XML. von. Prof. Dr. Manfred Dausmann Dipl.-Ing. (FH) Alexander König. Stand: November 2010 STEINBEIS-TRANSFERZENTRUM SOFTWARETECHNIK Einführung in XML von Prof. Dr. Manfred Dausmann Dipl.-Ing. (FH) Alexander König Stand: November 2010 STZ Softwaretechnik Prof. Dr. Goll und Partner Entennest

Mehr

Von EXCEL zum Auftrag

Von EXCEL zum Auftrag Von EXCEL zum Auftrag Aus XLS(x) Dateien Aufträge erzeugen 1 Ausgangssituation EXCEL ist Dein Freund beschreiben viele SEOs die Beziehung zu ihrem häufigsten Hilfswerkzeug. Auch zahlreiche Shopsysteme

Mehr

Metadaten RDF und DublinCore zur Beschreibung von Dokumenten

Metadaten RDF und DublinCore zur Beschreibung von Dokumenten Metadaten RDF und DublinCore zur Beschreibung von Dokumenten Sebastian Niebius, 18.12. 2003 Seminar Neue Technologien in Internet und www Seminarleiter Dr. rer. nat. H. Sack Institut für Informatik Universität

Mehr

Basistechnologien: Web-Services

Basistechnologien: Web-Services Alexander Rudolf Cloud-Computing Seminar Hochschule Mannheim WS0910 1/29 Basistechnologien: Web-Services Alexander Rudolf Hochschule Mannheim Fakultät für Informatik alexander.rudolf@stud.hs-mannheim.de

Mehr

Was ist DITA und was bringt es? www.ditaworks.com

Was ist DITA und was bringt es? www.ditaworks.com www.ditaworks.com Wir leben im Informationszeitalter und sind einem exponentiellen Anstieg neuer Daten und Informationen ausgesetzt. Nach neusten Studien können wir davon ausgehen, dass 90% aller verfügbaren

Mehr

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen C3: Structured Query Language Lernziele: Nach der Bearbeitung dieser Lektion haben Sie folgende Kenntnisse erworben: Sie können elementaren

Mehr

Weißt du, wieviel Sternlein stehen. Welche Typen von Systemen gibt es?

Weißt du, wieviel Sternlein stehen. Welche Typen von Systemen gibt es? Weißt du, wieviel Sternlein stehen Weißt du, wieviel Sternlein stehen Document / Content e für die Technische Dokumentation im Überblick Martin Holzmann ARAKANGA GmbH Ja, wieviele sind s denn nun? Mit

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

PDF-Dateien erstellen mit FreePDF XP 3.24 Eine Anleitung für Mitarbeiter/innen

PDF-Dateien erstellen mit FreePDF XP 3.24 Eine Anleitung für Mitarbeiter/innen PDF-Dateien erstellen mit FreePDF XP 3.24 Eine Anleitung für Mitarbeiter/innen Diakonisches Werk des Ev. Kirchenkreises Steinfurt-Coesfeld-Borken e.v. PDF bedeutet Portable Document Format (transportables

Mehr

Hinweise für Autorinnen und Autoren zur Erstellung eines strukturierten Manuskriptes der Reihe Internationales Rechtsinformatik Symposion

Hinweise für Autorinnen und Autoren zur Erstellung eines strukturierten Manuskriptes der Reihe Internationales Rechtsinformatik Symposion Scharrstraße 2 70563 Stuttgart Telefon 07 11/ 73 85-0 Telefax 07 11/ 73 26 94 Hinweise für Autorinnen und Autoren zur Erstellung eines strukturierten Manuskriptes der Reihe Internationales Rechtsinformatik

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

PrintTalk 2.0, XJDF & WebToPrint

PrintTalk 2.0, XJDF & WebToPrint PrintTalk 2.0, XJDF & WebToPrint Referent: Stefan Meissner (s.meissner@flyeralarm.de) CIP4 Chairman Tools & Infrastructure WG CIP4 Chairman XJDF WG Vernetzung in der Grafischen Industrie. CIP4 & WEB TO

Mehr

Einführung in XML. Universität Osnabrück - Rechenzentrum - Dipl.-Math. Frank Elsner Frank.Elsner@rz.uni-osnabrueck.de Version 1.1 vom 01.03.

Einführung in XML. Universität Osnabrück - Rechenzentrum - Dipl.-Math. Frank Elsner Frank.Elsner@rz.uni-osnabrueck.de Version 1.1 vom 01.03. Einführung in XML Universität Osnabrück - Rechenzentrum - Dipl.-Math. Frank Elsner Frank.Elsner@rz.uni-osnabrueck.de Version 1.1 vom 01.03.04 Inhaltsverzeichnis Einleitung...3 Was ist XML...3 XML-basierte

Mehr

Vergleich von Buch-Schemata unter Berücksichtigung des automatischen Layouts wissenschaftlicher Bücher

Vergleich von Buch-Schemata unter Berücksichtigung des automatischen Layouts wissenschaftlicher Bücher Vergleich von Buch-Schemata unter Berücksichtigung des automatischen Layouts wissenschaftlicher Bücher überarbeitete Version DIPLOMARBEIT Hochschule für Technik, Wirtschaft und Kultur Leipzig (FH) Fakultät

Mehr

XML Tutorium mit Oxygen. Oxygen Version 9.3!!

XML Tutorium mit Oxygen. Oxygen Version 9.3!! XML Tutorium mit Oxygen (Version 1.9 vom 4.6.2013) Oxygen Version 9.3!! In den folgenden Lektionen sollen die vermittelten Konzepte zu XML anhand von konkreten Beispielen geübt und vertieft werden. Das

Mehr

Gregor Fellenz

<xml/> Gregor Fellenz Gregor Fellenz Mediengestalter für Digital- und Printmedien Studium Druck- und Medientechnologie, HdM Stuttgart pagina GmbH, Tübingen Lehrauftrag InDesign Satzautomation, HdM Stuttgart www.indesignblog.com

Mehr

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2) 14. URIs Uniform Resource Identifier 14-1 14. URIs Uniform Resource Identifier 14-2 Motivation Das WWW ist ein Hypermedia System. Es enthält: Resourcen (Multimedia Dokumente) Verweise (Links) zwischen

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

10. XML und XQuery. Prof. Dr.-Ing. Wolfgang Lehner

10. XML und XQuery. Prof. Dr.-Ing. Wolfgang Lehner 10. XML und XQuery Prof. Dr.-Ing. Wolfgang Lehner XML in DB2 XML in DB2 vor Version 9 als CLOB mit XML-Extender: Dekomposition von XML-Dokumenten auf relationale Tabellen XML in DB2 ab Version 9 Datentyp

Mehr

Wiederholung float+clear. Grundlagen Webgestaltung Seite 136

Wiederholung float+clear. Grundlagen Webgestaltung Seite 136 Wiederholung float+clear Grundlagen Webgestaltung Seite 136 float und clear clear kann für mehrspaltige Layouts verwenden werden. Jedoch kann das auch zu ungewollten Effekten führen. Angenommen eine Webseite

Mehr

CONTENT SYNDICATION EIN MODERNER WEG FÜR DEN INFORMATIONSAUSTAUSCH MIT XML

CONTENT SYNDICATION EIN MODERNER WEG FÜR DEN INFORMATIONSAUSTAUSCH MIT XML CONTENT SYNDICATION EIN MODERNER WEG FÜR DEN INFORMATIONSAUSTAUSCH MIT XML D I P L O M A R B E I T IM FACHBEREICH ELEKTROTECHNIK, INFORMATIONSTECHNIK UND MEDIEN DER FACHHOCHSCHULE MERSEBURG vorgelegt von

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.1-21.02.2014 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

Klausur Kommunikation I. Sommersemester 2003. Dipl.-Ing. T. Kloepfer

Klausur Kommunikation I. Sommersemester 2003. Dipl.-Ing. T. Kloepfer Kommunikation I 1 Klausur Kommunikation I Sommersemester 2003 Dipl.-Ing. T. Kloepfer Bearbeitungsinformationen Aufbau der Klausur Die Klausur ist wie folgt aufgebaut: Die Klausur ist in 18 Aufgaben unterteilt.

Mehr

Java API for XML Binding

Java API for XML Binding Java API for XML Binding Eine Einführung Tim Speier Fachbereich MNI Fachhochschule Gießen-Friedberg 24. Juni 2010 1 / 27 XM und Java Teil 1: Aufgabenstellung Aufgabenstellung: In einem XML-Dokument werden

Mehr

Schülerzeitüng Spicker

Schülerzeitüng Spicker Schülerzeitüng Spicker Bedienungsanleitung für das barrierefreie CMS «Fuman». Wir werden unsere Schülerzeitung auf dem speziell für «Medien für alle» entwickelte Content Management System (CMS) «Fuman»

Mehr

IT- und Medientechnik

IT- und Medientechnik IT- und Medientechnik Vorlesung 6: 14.11.2014 Wintersemester 2014/2015 h_da, Lehrbeauftragter Themenübersicht der Vorlesung Hard- und Software Hardware: CPU, Speicher, Bus, I/O,... Software: System-, Unterstützungs-,

Mehr

Calligra. Eine allgemeine Einführung

Calligra. Eine allgemeine Einführung Eine allgemeine Einführung Raphael Langerhorst Jost Schenck Deutsche Übersetzung: Maren Pakura Deutsche Übersetzung: Marco Wegner Deutsche Übersetzung: Hans-Frieder Hirsch 2 Inhaltsverzeichnis 1 Einführung

Mehr

Darstellung der Maßnahmen zur Suchmaschinenoptimierung

Darstellung der Maßnahmen zur Suchmaschinenoptimierung Darstellung der Maßnahmen zur Suchmaschinenoptimierung Ob und an welcher Position eine Seite zu einem bestimmten Suchbegriff in den organischen Suchergebnissen einer Suchmaschine erscheint hängt von sehr

Mehr

Ausarbeitung des Interpreter Referats

Ausarbeitung des Interpreter Referats Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache

Mehr

Ohne Technik kein Online-Journalismus

Ohne Technik kein Online-Journalismus Ohne Technik kein Online-Journalismus von Frank Niebisch, Redakteur für Technologie- und Medien-Themen ECONOMY.ONE AG - Verlagsgruppe Handelsblatt Online. f.niebisch@t-online.de 0173/2934640 Bochum, 15.05.2002

Mehr

Multimediale Werkzeuge. Textformate, Medienobjekte

Multimediale Werkzeuge. Textformate, Medienobjekte Multimediale Werkzeuge Textformate, Medienobjekte Geschichte/ Eigenschaften von Textformaten Gebräuchliche Textformate, z.b. für HTML Files, Programme: ASCII (American Standard Code for Inform. Interchange)

Mehr