Hi,
Ellen Pape schrieb:
ich möchte einen Teil der Inhalte einer XML-Datei mit Hilfe von XSLT
auslesen und in einer gewünschten Form darstellen. Das klappt mit Firefox,
IE, auch mit Word 2007 (ich öffne die Datei und erhalte sofort ein Fenster,
in dem ich die XSL Datenansicht bestimmen kann), mit Writer ist mir das
nicht gelungen. Hat jemand eine Idee, wie das geht?
Prinzipiell zwei Wege:
1. Möglichkeit:
xml-Datei mit einem XSLT-Prozessor nach html wandeln und dann das html
in OOo öffnen.
Firefox, IE8 und anscheinend auch Word2007 machen das in einem Rutsch,
so dass es so aussieht, als würde das Dokument direkt geöffnet. OOo kann
das (meines Wissens) nicht.
Vorteil: Die kannst die xslt weitgehend beibehalten. ( method="text"/> sollte durch "html" ersetzt werden)
Nachteil: Zwei Schritte in OOo notwendig
OOo bringt einen entsprechenden XSLT-Prozessor sogar mit (Saxon). Unter
Linux funktioniert folgender Aufruf:
java -jar /opt/openoffice.org/basis3.1/program/classes/saxon9.jar
daten.xml daten.xsl >daten.html
Unter Windows sollte es (bis auf die Pfade) genau so funktionieren.
2. Möglichkeit:
Die XML-Datei per XML-Filter in OOo direkt nach ODT wandeln.
Vorteil: direkt in OOo integriert
Nachteil: Du kannst die vorhandene xslt nicht benutzen sondern musst
eine neue Schreiben, die deine Daten nach ODF wandelt. (Und ODF ist um
einiges komplexer als html)
Um den Filter zu definieren, rufst du Extras-XML-Filtereinstellungen
auf. Dort definierst du einen neuen Filter, definierst Name, Anwendung
(Writer odt) und einen Filternamen (ggf. eine eigene Endung). Im
Register Transformation gibst du eine xslt als Import-XSLT an.
Leider definiert dein Daten-XML keinen eigenen Doctype, dadurch muss
beim Öffnen in OOo dann jeweils der Filter explizit gewählt werden.
Hier noch eine (nicht vollständige - nur schnell zusammengehackt) xslt:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
office:version="1.2">
Fett:
und wieder normal:
Gruß,
André
-
To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org
For additional commands, e-mail: users-h...@de.openoffice.org