Arbeitsblatt 2 Cross-Media Produktion, Prof. Dr. M. Frank Einführung Zu Beginn erzähle ich Ihnen etwas zu den installierten Programmen und zum prinzipiellen Produktionszyklus mit dem Basisformat XML. Bitte schreiben Sie sich das Nötige mit, z.B. hier auf der Rückseite. Vorbereitungen Als erstes müssen Sie fünf neue Verzeichnisse in die PATH-Variable Ihres persönlichen Nutzerprofils im MM-Pool aufnehmen, damit Sie den XSLT-Prozessor xsltproc und den XSL-FO-Prozessor fop in der Kommandozeile in jedem möglichen Verzeichnis aufrufen können. Bitte arbeiten Sie folgende Kette von Anweisungen bei sich auf dem Rechner ab: 1.) Klick auf „Start“, Eingabe des Wortes „Umgebungsvariablen“ in das Fenster des Menüs 2.) Menüpunkt „Umgebungsvariablen für dieses Konto bearbeiten“ wählen 3.) VARIANTE 1: Klick auf die Umgebungsvariable „PATH“ im oberen Fenster (Sie sind kein Admin, im unteren Fenster können Sie nichts ändern), Klick auf „Bearbeiten“ darunter VARIANTE 2: Klick auf „Neu“ und Eingabe des Wortes „PATH“ im oberen Fenster der erscheinenden Maske 4.) Jetzt äußerste Sorgfalt: Im Feld „Wert“ müssen Sie folgenden String an den bereits bestehenden String anhängen, ohne Wagenrückläufe (Copy & Paste aus der Datei „PATH setzen neu.txt“, String markieren, CTRL+C und im Formular dann CTRL+V): %PATH%;N:\mfrank\dbneu\libxml\iconv-1.9.2.win32\bin; N:\mfrank\dbneu\libxml\libxml2-2.7.7.win32\bin; N:\mfrank\dbneu\libxml\libxslt-1.1.26.win32\bin; N:\mfrank\dbneu\libxml\zlib-1.2.5.win32\bin; N:\mfrank\dbneu\fop-0.20.5 Bitte keine Leerschritte zuviel, bitte nur einfache Backslashe! 5.) Dreimal Klick auf „OK“, Rechner nicht neu starten!!! 6.) Kommandozeilenfenster durch Klicks auf „Start“ und „Ausführen“ und Starten des Fensters „Ausführen“ mit dem Eintrag „cmd“ aufrufen, die Programmnamen xsltproc bzw. fop eingeben, Enter, Kontrolle der Ausschrift im Fenster: Es muss eine Liste möglicher Kommandos sein. Sollten die Programme nicht gefunden werden, müssen wir uns gemeinsam den Eintrag von PATH noch einmal ansehen und ändern. Siehe Schritte oben. 7.) Alternative: In einer cmd-Shell von Hand eingeben: > set %PATH%; neue Pfadbestandteile …. aber diese Eingabe wirkt nur temporär im offenen Fenster. Damit haben Sie die Möglichkeit hergestellt, XML-Dateien mit XSLT-Dateien bzw. mit XSL-FODateien auf den Rechnern des MM-Pools unter Ihrem persönlichen Nutzerprofil dauerhaft in viele andere Dateiformate umzuwandeln. DocBook XML und seine Strukturen Ziel dieses Teils des Seminars ist es, sich mit der Funktionsweise des Publikationsprozesses von DocBook XML vertraut zu machen. Schaffen Sie sich auf der lokalen Festplatte ein Arbeitsverzeichnis und kopieren Sie sich die Dateien *.xml aus N:\\lehre\mfrank\cmp_Sem02\ dorthin. Solche Orte sind in der Kommandozeile leichter aufsuchbar. Am Anfang steht eine XML-Datei, z.B. die Datei von Prof. Ashley J. S. Mills mit den lokalen Koordinaten N:\\lehre\mfrank\cmp_Sem02\docbooksys.xml. Kopieren Sie sich diese Datei in Ihr Arbeitsverzeichnis und öffnen Sie die Datei im XMLspy. Sehen Sie sich die Struktur genauer an. Ich werde dazu anhand einer Projektion mit Beamer nähere Erläuterungen geben. Bitte wundern Sie sich nicht, dass die Validierung der Datei über 30 Sekunden dauert, die DTD wird aus dem Internet aufgerufen. Sollte der Dateiinhalt zu verwirrend sein, öffnen Sie einfach die Strukturdatei N:\\lehre\mfrank\cmp_Sem02\db_book_bsp.xml im XMLspy, dort ist die reine prinzipielle XML-Struktur in reduzierter Form zu sehen. Um nun mit dieser Datei XHTML in Form eines Dokuments zu erzeugen, brauchen wir nur das Programm xsltproc auf der Kommandozeile geeignet aufzurufen. Da Frau Mills Ihre XSLTDateien angepasst hat, müssen wir den Pfad zu den Mills-XSLT-Dateien angeben, anstatt zu den Standarddateien. Die Vorgehensweise ist etwas non-standard für XML, normaler Weise werden die XSLT-Dateien innerhalb des XML-Dokuments per Zeile im Kopf referenziert, was einen automatischen Aufruf zur Folge hat. Andererseits ist mit der nun vorgestellten Methode die freie Transferierbarkeit der DocBook-XML-Dateien in alle Arbeitsumgebungen sichergestellt, da jeder Bearbeiter seine Kopie der XSLT-Dateien benutzen kann und nicht dauernd im DocBook-XML-Dokument Verweise ändern muss. Aufruf in der Kommandozeile, im Verzeichnis mit der XML-Datei: xsltproc --output name.html N:\\mfrank\dbneu\docbookxsl\stylesheets\xhtml\customxhtml.xsl docbooksys.xml Im Ergebnis entsteht eine HTML-Datei mit dem von Ihnen gewählten Namen name. Sie spiegelt den Inhalt des Buches in einer einzigen HTML-Datei wieder, die zudem gut in sich verlinkt ist. Ordner html im Output-Ordner anlegen. Aufruf in der Kommandozeile, im Verzeichnis mit der XML-Datei: xsltproc N:\\mfrank\dbneu\docbookxsl\stylesheets\xhtml\customchunk.xsl docbooksys.xml Im Ergebnis entsteht ein ganzes Paket von HTML-Dateien, die durch eine Leitdatei index.html gebündelt werden. Jeder Abschnitt des Dokuments wird in eine neue HTML-Datei ausgelagert. Klicken Sie sich durch, und beräumen Sie hinterher Ihr Arbeitsverzeichnis durch Auslagern des Pakets in ein Unterverzeichnis. Mit den Dateien von Frau Mills können wir keine weiteren DocBook-XML-Formate via xsltproc erzeugen, es fehlen entsprechend angepasste XSLT-Dateien. Aber wir können ein Vorformat für die Erzeugung anderer Formate erstellen, das Format *.fo. Aufruf in der Kommandozeile, im Verzeichnis der XML-Datei: xsltproc --output name.fo N:\\mfrank\dbneu\docbookxsl\stylesheets\fo\customfo.xsl docbooksys.xml Im Ergebnis entsteht eine FO-Datei, die als Ausgangspunkt für die weitere Verarbeitung zu gewissen Zielformaten dient. Die FO-Datei ist unabhängig von den *.xml, *.dtd, *.xsl – Dateien, denen sie ihre Entstehung verdankt. Deshalb kann man den nachfolgend einzusetzenden FO-Prozessor frei wählen. Sollte das nicht klappen, so haben Sie eine bereits erzeugte fo-Datei unter .\Ergebnisse von Versuchen M.Frank\dbtry3.fo im Seminarverzeichnis. Bitte probieren Sie eine Varianten zur Erzeugung von PDF aus, mit dem Programm fop: fop name.fo output.pdf (Bei voll installiertem MiKTeX ginge noch. pdfxmltex name.fo.) In beiden Fällen entstehen PDF-Dateien. Leider wirft das Programm fop viele Formatierungsfehler beim Durchlauf, was offenbar der Nichtimplementierung bestimmter Befehlsketten geschuldet ist. (So stehen Links und Codezeilen über den rechten Rand dann über und verschwinden mit diesen überstehenden Teilen im Ausdruck.) Analog können Sie die Erzeugung folgender Formate ausprobieren: fop name.fo –svg output_svg.svg fop name.fo –ps output_ps.ps fop name.fo –txt output_txt.txt fop name.fo –mif output_mif.mif fop name.fo –pcl output_pcl.pcl und andere, rufen Sie einfach den String “fop” am Prompt auf, um eine Liste der Möglichkeiten gelistet zu bekommen. (Warnung: Mit fop aus *.xsl und *.xml direkt *.pdf zu erzeugen, funktionierte leider mit dieser Datei nicht.) Die Erzeugung von TeX-Formaten wie *.tex, *.dvi und anderen können Sie sich später einmal ansehen. Dazu brauchen Sie openjade und jadetex als Programme, die hier noch nicht installiert sind. (Siehe Anleitungsdatei von Prof. A. J. S. Mills.) Quellen: http://www.oasis-open.org/docbook/ - Stammseite des Standards DocBook http://docbook.org/ - Organisation zur Unterstützung und Entwicklung des DocBook-Standards http://www.docbook.org/tdg/ - „DocBook: The Definite Guide“, regelmäßig aktualisierte Fassung eines populären Buches zu DocBook http://www.dpawson.co.uk/docbook/tools.html - Hinweise zu cross-medialen Tools http://wiki.docbook.org - DocBook Wiki http://velocity.apache.org/docbook/DocBook-Framework-1.0.pdf - Apache Velocity DocBook Framework (DBF) von der Apache Foundation http://www.vorkon.de/index.php?page=shop.product_details&category_id=31&flypage=shop.flypage &product_id=129&option=com_virtuemart&Itemid=83&vmcchk=1&Itemid=83 - eBook von Thomas Schraitle von 2009/2011, u.a. Konversion von DocBook XML in die eBook-Standards EPUB und MOBIPOCKET http://www.amazon.de/DocBook-Xsl-Complete-Guide-4th/dp/0974152137/ref=pd_sim_b_1 - Buch „DocBook XSL: The Complete Guide“ von Bob Stayton, Sagehill Enterprises, 4. Auflage, 2007. http://www.freebsd.org/doc/de/books/fdp-primer/ - back to the roots: SGML-Tutorial mit Beispielen zu DocBook XML. http://www.adobe.com/de/products/framemaker.html - Adobe FrameMaker 11, unterstützt DocBook und DITA native. „Mit Adobe FrameMaker Publishing Server 11 oder der Adobe Technical Communication Suite 4 können Sie HTML5-Inhalte praktisch überall veröffentlichen. Sie können Inhalte auf jedem beliebigen Gerät ausgeben, indem Sie einfach Bildschirmgröße und -Layout festlegen. Nutzen Sie die Vorschau, um Inhalte lesefreundlicher aufzubereiten.“ http://code.google.com/p/docbkx-tools/ - Maven und DocBook http://i18n.kde.org/docs/tools.php - Toolkette für DocBook XML unter KDE Linux http://www.xing.com/net/docbook/grundlagen-4265/grunde-fur-die-nicht-anwendung-von-docbookin-der-technischen-dokumentation-332930 - Der Titel ist irreführend, es kommen mehr Argumente für die Nutzung als gegen sie im Blog vor. https://supportweb.cs.bham.ac.uk/docs/tutorials/docsystem/build/tutorials/docbooksys/segmentedhtml/ - A. J. S. Mills‘ Installationsanleitungen der Programmierumgebung http://newbiedoc.sourceforge.net/metadoc/docbook-guide.html.en - SGML-Installationsanleitung als Alternative ftp://ftp.zlatkovic.com/libxml/64bit/ - es gibt jetzt 64-Bit-Versionen vieler Bibliotheken der Installationsumgebung, aber sie sind innerlich anders gegliedert. Hinweise: 1.) Bei Fehlern in der Initialisierung der PATH-Variable schließen Sie bitte das offene cmdFenster und öffnen Sie nach Änderung der PATH-Variable ein neues cmd-Fenster. Ein cmdFenster merkt sich offenbar beim ersten Öffnen den Zustand der PATH-Variable und reagiert dann nicht auf deren nachträgliche Veränderung. 2.) Wenn der Aufruf von FOP Version 1.0 oder 1.1 mit einem Java-Fehler endet, hilft als erster Workaround, auf eine ältere Version des FOP zurückzugreifen, z,B. auf die fop-0.20.5. (Siehe http://archive.apache.org/dist/xmlgraphics/fop/source/.) 3.) Wenn die Angabe einer Ausgabedatei mit der Fehlermeldung endet, diese existiere nicht oder könne nicht erzeugt werden, so hilft mitunter, die Datei leer im Zielverzeichnis anzulegen.