Hallo,
hat sich wer mit ruby_odt_to_xhtml im Zusammenhang mit Python beschäftigt? Kann Ruby nicht.
mfg
ruby_odt_to_xhtml
-
- User
- Beiträge: 31
- Registriert: Samstag 23. Februar 2008, 12:26
- Wohnort: Innsbruck / Tirol / Österreich
Danke mitsuhiko,
nach meinem Wissenstand aber nicht mit Stylesheets und Feststellung des Unterschiedes von 'harter' und 'weicher' Formatierung. Nachdem es von Eisenberg ist, möchte ich die Vorgangsweise verstehen. Weiters geht es nicht nur um ODT sondern um ODF allgemein und es soll auch ohne OOo gehen.
mfg
nach meinem Wissenstand aber nicht mit Stylesheets und Feststellung des Unterschiedes von 'harter' und 'weicher' Formatierung. Nachdem es von Eisenberg ist, möchte ich die Vorgangsweise verstehen. Weiters geht es nicht nur um ODT sondern um ODF allgemein und es soll auch ohne OOo gehen.
mfg
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Ich hab keine Ahnung was das heißen soll.genders hat geschrieben:nach meinem Wissenstand aber nicht mit Stylesheets und Feststellung des Unterschiedes von 'harter' und 'weicher' Formatierung.
Eine mögliche Implementierung ist in den OOo XSLTs. Wenn du sie durchliest könntest du den Algorithmus verstehenNachdem es von Eisenberg ist, möchte ich die Vorgangsweise verstehen.

Es gibt keinen allgemeinen ODT Konverter. ODF ist ein sehr, sehr komplexes Format das einen Rattenschwanz an W3 Specs dranhängen hat. Es ist soweit ich weiß noch nirgends vollständig implementiert und ich weiß auch nicht ob es das je wird. Die XSLTs die OOo für die Konvertierung zu XHTML anbietet gibt es zumindest für die Text und Tabellenversion von Open Document und die kann man auch ohne OpenOffice verwenden. lxml zB ist eine Python Library die XSLTs verarbeiten kann.Weiters geht es nicht nur um ODT sondern um ODF allgemein und es soll auch ohne OOo gehen.
TUFKAB – the user formerly known as blackbird
Bewaffnet mit der Übersicht aus der Wikipedia und der Spezifikation selbst musst du dich wohl der nicht gerade trivialen Aufgabe stellen, das XML selbst verarbeiten. XSLT kann man benutzen, aber auch das ist nicht einfach zu verstehen. Direkter, wenn auch letztlich umständlicher ist es daher vielleicht, das XML per Programm zu verarbeiten. Lies dazu mit einer XML-Bibliothek deiner Wahl (dem mitgelieferten xml.etree-Modul) das eigentliche Dokument ein, nachdem du es aus der ZIP-Datei extrahiert hast (zipfile-Modul). Lauf dann rekursiv über den DOM und schreibe dabei das passende XHTML in eine Datei oder ein anderes geeignetes Ausgabemedium.
Das erwähnte Ruby-ODT-Dingens geht ähnlich vor, nutzt aber wohl XPATH, um in dem ODT-Dokument nur bestimmte Dinge zu extrahieren und nicht alles. Da das nur etwa 30kb Quelltext ist, würde ich empfehlen, das einfach zu portieren - und dafür dann genug Ruby zu lernen.
Stefan
Das erwähnte Ruby-ODT-Dingens geht ähnlich vor, nutzt aber wohl XPATH, um in dem ODT-Dokument nur bestimmte Dinge zu extrahieren und nicht alles. Da das nur etwa 30kb Quelltext ist, würde ich empfehlen, das einfach zu portieren - und dafür dann genug Ruby zu lernen.
Stefan
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Also wenn es um reine Übung geht, ok, aber ansonsten ist das verwenden von thrid party Sachen, wie die XSLTs doch ideal! XSL-Prozessor drüber feuern und man hat sein konvertiertes Dokument. Imho gehts kaum besser 

-
- User
- Beiträge: 31
- Registriert: Samstag 23. Februar 2008, 12:26
- Wohnort: Innsbruck / Tirol / Österreich
Zu Antwort mitsuhiko: 'weiche' Formatierung in OOo ist die Verwendung von Formatvorlagen (ähnlich wie Stylesheets), 'harte' Formatierung ist direkte Formatierung von der Oberfläche her.
Zu Antwort sma: sich 'der nicht gerade trivialen Aufgabe stellen, das XML selbst verarbeiten' ist interessant und gibt aus meiner Sicht ein besseres Verständnis. Meine Lösung kann schon einiges, Eisenberg hat ein Buch darüber geschrieben, dehalb interessiert mich seine Umsetzung.
Das Schöne am programmieren ist, das man (meistens ungestraft) Fehler machen kann und aus diesen lernen kann bzw. sieht, was man noch nicht verstanden hat.
mfg
Zu Antwort sma: sich 'der nicht gerade trivialen Aufgabe stellen, das XML selbst verarbeiten' ist interessant und gibt aus meiner Sicht ein besseres Verständnis. Meine Lösung kann schon einiges, Eisenberg hat ein Buch darüber geschrieben, dehalb interessiert mich seine Umsetzung.
Das Schöne am programmieren ist, das man (meistens ungestraft) Fehler machen kann und aus diesen lernen kann bzw. sieht, was man noch nicht verstanden hat.
mfg