Calc: xml-Datei als Datenquelle

Hallo,

wir arbeiten zur Zeit in Excel mit sogenannten XML-Zuordnungen, d.h. in einem Excel-Sheet wird eine xml-Datei als XML-Quelle angegeben. Dann erhält man in Excel eine Auswahlliste aller XML-Elemente dieser Datei und kann diese dann zu beliebigen Zellen zuweisen.
Der Anwender definiert sich so seine Kalkulationssheets und bekommt die konkreten Daten dann aus einer anderen Anwendung als xml-Datei zur Verfügung gestellt, mit denen er sein Sheet aktualisiert.

Kann ich das in Calc (LO 3.4.4) auch irgendwie machen?
Ich möchte also nicht einfach eine xml-Datei in Calc öffnen, sondern eine xml-Datei als Datenquelle benutzen, Verknüpfungen der einzelnen XML-Elemente zu beliebigen Zellen definieren und das Tabellendokument später mit anderen XML-Dateien aktualisieren können. Hat jemand eine Idee?

Danke und Gruß, Birgit

Hallo Birgit

Mir ist eine solche Methode unter LO nicht bekannt.
Allerdings beschreibt Volker Lenhardt <http://www.uni-due.de/~abi070/ooo.html> in seiner Übersetzung des Buches "OpenOffice.org Macros Explained"
von Andrew Pitonyak, wie man das per Makro realisieren kann.(im Original fehlt dieser Teil)
In Kapitel 15.12 wird ausfürlich erklärt, wie man XML-Dateien ausließt, filtert, und erzeugt.
dies setzt natürlich einige Grundkenntnisse in XML und Star-Basic voraus.
Die nötigen Grundkenntnisse in Star-Basic finden sich alle in dem erwähnten Buch.

Ich hoffe ich konnte dir helfen.

Gruß Frieder

Hi Birgit, *,

[...]
Kann ich das in Calc (LO 3.4.4) auch irgendwie machen?

Jein...
LO kann via Einfügen|Verknüpfung zu externen Daten entsprechende
Verknüpfungen anlegen, aber das ist hauptsächlich auf html-Dateien
oder lokale CSV, etc. Dateien ausgelegt.

Ich möchte also nicht einfach eine xml-Datei in Calc öffnen, sondern eine xml-Datei als Datenquelle benutzen,

Ob Calc die XML-Datei entsprechend parsen kann - wohl eher nicht, da
wirst Du ggf. nachhelfen müssen...

ciao
Christian

Hallo Birgit,
du kannst hoffentlich englisch? :slight_smile:

Hallo,

wir arbeiten zur Zeit in Excel mit sogenannten XML-Zuordnungen, d.h. in einem Excel-Sheet wird eine xml-Datei als XML-Quelle angegeben. Dann erhält man in Excel eine Auswahlliste aller XML-Elemente dieser Datei und kann diese dann zu beliebigen Zellen zuweisen.
Der Anwender definiert sich so seine Kalkulationssheets und bekommt die konkreten Daten dann aus einer anderen Anwendung als xml-Datei zur Verfügung gestellt, mit denen er sein Sheet aktualisiert.

Kann ich das in Calc (LO 3.4.4) auch irgendwie machen?
Ich möchte also nicht einfach eine xml-Datei in Calc öffnen, sondern eine xml-Datei als Datenquelle benutzen, Verknüpfungen der einzelnen XML-Elemente zu beliebigen Zellen definieren und das Tabellendokument später mit anderen XML-Dateien aktualisieren können. Hat jemand eine Idee?

Schau mal hier:
http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=3490
[XML Filter] Create XSLT filters for import and export

Danke und Gruß, Birgit

Grüße
Tom

Hallo Frieder,

From: Frieder Sent: Tuesday, January 24, 2012 2:40 PM

Mir ist eine solche Methode unter LO nicht bekannt.
Allerdings beschreibt Volker Lenhardt
<http://www.uni-due.de/~abi070/ooo.html> in seiner Übersetzung des
Buches "OpenOffice.org Macros Explained"
von Andrew Pitonyak, wie man das per Makro realisieren
kann.(im Original
fehlt dieser Teil)
In Kapitel 15.12 wird ausfürlich erklärt, wie man XML-Dateien
ausließt,
filtert, und erzeugt.
dies setzt natürlich einige Grundkenntnisse in XML und
Star-Basic voraus.
Die nötigen Grundkenntnisse in Star-Basic finden sich alle in dem
erwähnten Buch.

Vielen Dank für den Hinweis. Tolles Kapitel und gleich noch mit Listings. Ich hoffe trotzdem, dass ich eine andere Lösung finde und nicht so tief einsteigen muss.

Gruß Birgit

Hallo Tom

From: Tom Hart Sent: Tuesday, January 24, 2012 7:27 PM

Schau mal hier:
http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=3490
[XML Filter] Create XSLT filters for import and export

Danke für den Hinweis. Aber mit den xslt-Filtern kann ich die Datei ja nur öffnen und nicht als verknüpfte externe Datenquelle nutzen, oder?

Gruß Birgit

Hallo Christian,

From: lohmaier@googlemail.com Sent: Tuesday, January 24, 2012 2:44 PM

LO kann via Einfügen|Verknüpfung zu externen Daten entsprechende
Verknüpfungen anlegen, aber das ist hauptsächlich auf html-Dateien
oder lokale CSV, etc. Dateien ausgelegt.

Danke. Schade, dass xml-Dateien bei Verknüpfungen zu externen Daten nicht unterstützt werden. Dürfte doch so schwierig nicht sein, da LO doch sonst mit xml auch umgehen kann.

Gruß Birgit

Hallo *,

ich denke an folgenden workaround, um in einem Kalkulationssheet Verknüpfungen zu einzelnen XML-Elementen einer xml-Datei definieren und aktualisieren zu können:

- Öffnen der xml-Datei in calc mit Hilfe eines xslt-Filters
- Benennen der einzelnen Zellen (ehemals xml-Elemente) als benannte Bereiche
- Speichern im ods-Format
- Im eigentlichen Kalkulationssheet: Einfügen von Verknüpfungen zu externen Daten auf diese benannten Bereiche der ods-Datei
- Für das Aktualisieren des Kalkulationssheets mit einer neuen xml-Datei muss dann die xml-Datei wieder in eine ods-Datei mit benannten Bereichen umgewandelt werden und die Verknüpfung auf diese neue Datei "umgelenkt" werden. Das müsste ich dann als Makro schreiben, damit diese Aktualisierung einfach ausgeführt werden kann.

Könnte das funktionieren? Oder hat jemand vielleicht eine bessere Idee?

Gruß Birgit

Doch sollte eigtl. schon gehen. Tatsächlich aber habe ich jetzt beim selber testen festgestellt, dass es doch nicht geht :-/ - das feature wurde wohl nicht zu Ende gedacht. Hier gibt es jetzt ein Issue dazu:
https://bugs.freedesktop.org/show_bug.cgi?id=45418

Gruß
Tom

ich denke an folgenden workaround, um in einem Kalkulationssheet
Verknüpfungen zu einzelnen XML-Elementen einer xml-Datei definieren und
aktualisieren zu können:

- Öffnen der xml-Datei in calc mit Hilfe eines xslt-Filters
- Benennen der einzelnen Zellen (ehemals xml-Elemente) als benannte Bereiche
- Speichern im ods-Format
- Im eigentlichen Kalkulationssheet: Einfügen von Verknüpfungen zu externen Daten auf diese benannten Bereiche der ods-Datei
- Für das Aktualisieren des Kalkulationssheets mit einer neuen
xml-Datei muss dann die xml-Datei wieder in eine ods-Datei mit benannten
Bereichen umgewandelt werden und die Verknüpfung auf diese neue Datei
"umgelenkt" werden. ...

Bei den XSLT Filtern kannst du auch eine Dokumentvorlage angeben, d.h. dein XML wird gleich in ein fertiges Dokument importiert. Das kannst du für die benannten Bereiche benutzen oder je nachdem wie oft dein Kalkulationssheet geändert wird, auch gleich dafür - dann sparst du dir die ganzen Verknüpfungen.

Das müsste ich dann als Makro schreiben, damit diese
Aktualisierung einfach ausgeführt werden kann.

Den Makro Code in <http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=3490> hast du gesehen?

Könnte das funktionieren? Oder hat jemand vielleicht eine bessere Idee?

s.o.

Gruß Birgit

Gruß
Tom

Hallo Tom,

From: Tom Hart Sent: Tuesday, January 31, 2012 12:39 PM

Bei den XSLT Filtern kannst du auch eine Dokumentvorlage
angeben, d.h.
dein XML wird gleich in ein fertiges Dokument importiert. Das
kannst du
für die benannten Bereiche benutzen oder je nachdem wie oft dein
Kalkulationssheet geändert wird, auch gleich dafür - dann
sparst du dir
die ganzen Verknüpfungen.

Das hörte sich gut an und habe ich auch gleich ausprobiert (Win XP, LO 3.4.4).
Ich habe das Beispiel von
http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=3490
verwendet und bei der Definition des Filters eine ots-Vorlage angegeben, klappt aber leider bei mir nicht.
Die xml-Datei wird unter Verwendung des Filters als calc-sheet geöffnet, aber die angegebene Dokumentvorlage wird nicht verwendet. Unter Eigenschaften des Dokuments wird sie nicht angezeigt und die Texte und Formatierungen aus der Vorlage sind auch nicht da. Was mache ich falsch?

Ich habe das Gleiche dann noch mit LO 3.3.4 unter Win7 ausprobiert. Aber da komme ich gar nicht so weit, beim Öffnen der xml-Datei einen Filter auszuwählen. Dort wird die xml-Datei ohne Rückfrage immer gleich im writer geöffnet. Ich muss dazu sagen, dass dort keine JRE installiert ist. Könnte es daran liegen?

Gruß Birgit

Hallo Tom, hallo *,

From: Tom Hart Sent: Tuesday, January 31, 2012 12:27 PM
Doch sollte eigtl. schon gehen. Tatsächlich aber habe ich jetzt beim
selber testen festgestellt, dass es doch nicht geht :-/ - das feature
wurde wohl nicht zu Ende gedacht. Hier gibt es jetzt ein Issue dazu:
https://bugs.freedesktop.org/show_bug.cgi?id=45418

Ich würde gerne ausprobieren, ob die Funktion das abdeckt, was ich brauche.
Version 3.4.4 (XP) und 3.3.4 (Win 7) habe ich probiert, ohne Erfolg.

Weiß vielleicht jemand, in welcher LO calc Version für Win XP die folgende Funktion geht:
Einfügen / Verknüpfung zu externen Daten... / Angabe einer xml-Datei / Anzeige und Auswahl von verfügbaren Bereichen

Gruß Birgit

From: Tom Hart Sent: Tuesday, January 31, 2012 12:39 PM
Bei den XSLT Filtern kannst du auch eine Dokumentvorlage
angeben, d.h.
dein XML wird gleich in ein fertiges Dokument importiert. Das
kannst du
für die benannten Bereiche benutzen oder je nachdem wie oft dein
Kalkulationssheet geändert wird, auch gleich dafür - dann
sparst du dir
die ganzen Verknüpfungen.

Das hörte sich gut an und habe ich auch gleich ausprobiert (Win XP, LO 3.4.4).
Ich habe das Beispiel von
http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=3490
verwendet und bei der Definition des Filters eine ots-Vorlage
angegeben, klappt aber leider bei mir nicht. Die xml-Datei wird unter
Verwendung des Filters als calc-sheet geöffnet, aber die angegebene
Dokumentvorlage wird nicht verwendet. Unter Eigenschaften des
Dokuments wird sie nicht angezeigt und die Texte und Formatierungen
aus der Vorlage sind auch nicht da. Was mache ich falsch?

Gute Frage! :slight_smile:
Ich habe diese Funktion noch nicht benutzt und kenne mich daher damit auch nicht aus.
Das Problem ist auch, wenn es jetzt nicht fkt., weiß man nicht genau liegt es an der Vorlage oder funktioniert diese Funktion einfach nicht (mehr) in LO (siehe Bug im parallel Posting)?

Am besten wäre hier (zum Vergleich) ein funktionierender Filter mit Vorlage. Die mit LO kommen leider alle ohne Vorlage, im Netz habe ich folgende Übersicht gefunden:
http://wiki.services.openoffice.org/wiki/Xml/Filters
und dann die Filter hier mit Writer Vorlagen:
http://sourceforge.net/projects/tei/files/TEIOO/2009-02-05/
vielleicht hilft dir da ein Blick auf die Vorlagen weiter...

Die Hilfe zu den Dokumentvorlagen hast du gelesen?

Import-Dokumentvorlage
Geben Sie den Namen der Dokumentvorlage an, die für den Import
verwendet werden soll. In der Dokumentvorlage sind Formatvorlagen für
die Anzeige von XML-Tags definiert.
Der Pfad zum Verzeichnis der Vorlage, muss in Extras - Optionen -
LibreOffice - Pfadeenthalten sein. Wenn Sie eine XML-Datei öffnen, deren
Filter die Vorlage benutzt, öffnet sich zuerst die Dokumentvorlage. In
der Vorlage können Sie LibreOffice-formatvorlagen zur Anzeige der
XML-Tags im XML-Dokument zuweisen.

Ich habe das Gleiche dann noch mit LO 3.3.4 unter Win7 ausprobiert.
Aber da komme ich gar nicht so weit, beim Öffnen der xml-Datei einen
Filter auszuwählen. Dort wird die xml-Datei ohne Rückfrage immer
gleich im writer geöffnet. Ich muss dazu sagen, dass dort keine JRE
installiert ist. Könnte es daran liegen?

Versteh ich nicht, welche Rückfrage? Den Filter legst du eigentlich vorher fest:
aus LO: Datei - Öffnen
im Öffnendialog:
unten Dateityp (Filter) auswählen, dann Datei auswählen, dann OK/Öffnen.

Gruß
Tom

PS:
Ich hab holsten aus dem Forum mal ne PM geschickt, ob er sich mit den Vorlagen auskennt und hier dazu antworten will.

Rainer hat zwar das Regression Keyword hinzugefügt, ich konnte obiges aber auch/selbst nicht unter OOo 3.2.1 bewerkstelligen. Meiner Meinung nach hat das noch nie funktioniert...

Die einzige Version wo ich mir vorstellen könnte, dass es evtl. funktioniert, wäre das "White Label Office":
http://teamopenoffice.org/de/free-download-de/13-deutsche-kategorie/seiten/49-downloadmatrix-de.html

Das wurde kürzlich von TeamOpenOffice.org (eine Gruppe von ehemaligen StarOffic /OpenOffice.org Entwicklern) als inoffizieller OOo Nachfolger/Zwischenprodukt veröffentlicht.

Gruß
Tom

Hallo Tom,

From: Tom Hart Sent: Thursday, February 02, 2012 1:09 PM

Die einzige Version wo ich mir vorstellen könnte, dass es evtl.
funktioniert, wäre das "White Label Office":
http://teamopenoffice.org/de/free-download-de/13-deutsche-kate
gorie/seiten/49-downloadmatrix-de.html

Das wurde kürzlich von TeamOpenOffice.org (eine Gruppe von ehemaligen
StarOffic /OpenOffice.org Entwicklern) als inoffizieller OOo
Nachfolger/Zwischenprodukt veröffentlicht.

Danke für die Info. Aber die release notes der Version sind diesbezüglich nicht wirklich vielversprechend. Das werde ich nicht weiter verfolgen.

Heißt das eigentlich, dass jetzt drei Teams an dem ursprünglichen OpenOffice-Code parallel und unabhängig voneinander weiterentwickeln?

Gruß Birgit

Hallo Tom,

From: Tom Hart Sent: Thursday, February 02, 2012 12:57 PM

Am besten wäre hier (zum Vergleich) ein funktionierender Filter mit
Vorlage. Die mit LO kommen leider alle ohne Vorlage, im Netz habe ich
folgende Übersicht gefunden:
http://wiki.services.openoffice.org/wiki/Xml/Filters
und dann die Filter hier mit Writer Vorlagen:
http://sourceforge.net/projects/tei/files/TEIOO/2009-02-05/
vielleicht hilft dir da ein Blick auf die Vorlagen weiter...

Danke. Ich werde mal durchsuchen, ob ich was passendes finde.

Die Hilfe zu den Dokumentvorlagen hast du gelesen?

Ja, danke. Hilft aber nicht wirklich weiter bei der Frage, ob die Vorlage zu einem Filter vielleicht bestimmte Kriterien erfüllen muss, damit sie verwendet wird.

> Ich habe das Gleiche dann noch mit LO 3.3.4 unter Win7 ausprobiert.
> Aber da komme ich gar nicht so weit, beim Öffnen der xml-Datei einen
> Filter auszuwählen. Dort wird die xml-Datei ohne Rückfrage immer
> gleich im writer geöffnet. Ich muss dazu sagen, dass dort keine JRE
> installiert ist. Könnte es daran liegen?
>
Versteh ich nicht, welche Rückfrage? Den Filter legst du eigentlich
vorher fest:
aus LO: Datei - Öffnen
im Öffnendialog:
unten Dateityp (Filter) auswählen, dann Datei auswählen, dann
OK/Öffnen.

Wenn ich im Öffnendialog keinen Filter ausgewählt habe, dann kam manchmal eine Rückfrage mit der Liste der vorhandenen Filter zur Auswahl. Aber den Filter gleich im Öffnendialog auswählen klappt definitiv besser.
So habe ich das dann mit LO 3.3.4 unter Win7 noch mal probiert und auch dort wird die Dokumentvorlage nicht verwendet.

Ich hab holsten aus dem Forum mal ne PM geschickt, ob er sich mit den
Vorlagen auskennt und hier dazu antworten will.

Vielen Dank für deine ganzen Mühen!! Du bist eine große Hilfe!!

Gruß Birgit

From: Tom Hart Sent: Thursday, February 02, 2012 1:09 PM
Die einzige Version wo ich mir vorstellen könnte, dass es evtl.
funktioniert, wäre das "White Label Office":
http://teamopenoffice.org/de/free-download-de/13-deutsche-kate
gorie/seiten/49-downloadmatrix-de.html

Danke für die Info. Aber die release notes der Version sind diesbezüglich nicht wirklich vielversprechend. Das werde ich nicht weiter verfolgen.

Stimmt das ist echt sehr dünn.

Heißt das eigentlich, dass jetzt drei Teams an dem ursprünglichen OpenOffice-Code parallel und unabhängig voneinander weiterentwickeln?

Naja, TeamOO will wohl zukünftig mit Apache / AOO zusammen arbeiten. Alleine werden sie das wohl auch kaum stemmen können, sind schließlich nur ein paar Entwickler. Aber wenn sie sich dabei auch zukünftig so unkommunikativ / ungeschickt anstellen wie bisher (um die PM bei der Veröffentlichung von WLO gabs einigen Trubel, siehe Heise, Golem, etc.), stell ich mir das auch /eher/ schwierig vor.

Meiner Meinung nach ist, nach-wie-vor, die TDF mit ihren Unterstützern die passendste Lösung für eine freies Officepacket. :slight_smile:

Gruß Birgit

Gruß
Tom

Hallo Birgit,

From: Tom Hart Sent: Thursday, February 02, 2012 12:57 PM

Am besten wäre hier (zum Vergleich) ein funktionierender Filter mit
Vorlage. Die mit LO kommen leider alle ohne Vorlage, im Netz habe ich
folgende Übersicht gefunden:
http://wiki.services.openoffice.org/wiki/Xml/Filters
und dann die Filter hier mit Writer Vorlagen:
http://sourceforge.net/projects/tei/files/TEIOO/2009-02-05/
vielleicht hilft dir da ein Blick auf die Vorlagen weiter...

Danke. Ich werde mal durchsuchen, ob ich was passendes finde.

und hats geholfen?

Die Hilfe zu den Dokumentvorlagen hast du gelesen?

Ja, danke. Hilft aber nicht wirklich weiter bei der Frage, ob die Vorlage zu einem Filter vielleicht bestimmte Kriterien erfüllen muss, damit sie verwendet wird.

Ja, genau diese Info hab ich auch vermisst... :-/

Ich hab holsten aus dem Forum mal ne PM geschickt, ob er sich mit den
Vorlagen auskennt und hier dazu antworten will.

Vielen Dank für deine ganzen Mühen!! Du bist eine große Hilfe!!

Gern geschehen :-).
holsten hat noch nicht geantwortet, vermute mal er hat die PM in seinem Forum Account noch nicht wahrgenommen...

Gruß Birgit

Gruß
Tom

holsten hat nicht geantwortet, aber Villeroy aus dem Forum hat noch ein paar Anmerkungen gegeben:
http://user.services.openoffice.org/en/forum/viewtopic.php?f=49&t=47620#p219689
und der Post darunter.