Export in Datei von XML/XSL
dey
- javascript
0 Gunnar Bittersmann0 dey0 Gunnar Bittersmann0 dey
0 ChrisB0 dey
Hallo,
das Reportsystem meiner Fa verwendet XML als Datenquelle und stellt diese dann mit XSL als HTML in einem WebBrowser dar.
Jetzt versucge ich zusätzlich zur visuellen/ gedruckten Ausgabe noch einen Export asl CSV.
Mir fehlt da nur so gänzlich der Ansatz.
Der Aufruf der XML erfolgt lokal. Schreibrechte sind da hoffentlich kein Problem.
Kennt jemand einen Link mit einem entsprechenden Codeschnipsel zur Weiterverarbeitung?
bydey
@@dey:
nuqneH
das Reportsystem meiner Fa verwendet XML als Datenquelle und stellt diese dann mit XSL als HTML in einem WebBrowser dar.
Jetzt versucge ich zusätzlich zur visuellen/ gedruckten Ausgabe noch einen Export asl CSV.
XSLT kann auch reinen Text generieren.
Wo genau ist dein Problem? Und was hat es mit JavaScript zu tun?
Qapla'
Hallo Gunnar,
danke fürs Feedback
XSLT kann auch reinen Text generieren.
meine Darstellung in CSV habe ich schon. DAs war so weit klar.
Allerdings nur im Browser. Aktuell kann ich nur Copy 'n Paste anbieten, in eine neue Datei und dann speichern vis Texteditor z.B.
Wo genau ist dein Problem? Und was hat es mit JavaScript zu tun?
Ich würde aber lieber einen Button anbieten der, den von mir als CSV strukturierten Text dann in eine lokale Datei schreibt.
Ich bin mir noch nicht sicher, ob ich die Datei immer wieder verwenden kann oder ich jedes mal eine neue erzeugen muss.
Die CSV soll dann von einem weiteren System automatisch weiter verarbeitet werden.
bydey
@@dey:
nuqneH
meine Darstellung in CSV habe ich schon. […]
Allerdings nur im Browser.
Läuft die Transformation clientseitig? Wenn ja, warum?
Qapla'
Hallo,
Läuft die Transformation clientseitig? Wenn ja, warum?
weil es keine Server gibt. Es ist ein Reportsystem, das seine selektitierten Daten in eine XML mit einer festen Zuweisung auf eine XSL abgelegt. Display Report öffnet dann die XML im Standardbrowser.
bydey
Hi,
meine Darstellung in CSV habe ich schon. DAs war so weit klar.
Allerdings nur im Browser. Aktuell kann ich nur Copy 'n Paste anbieten, in eine neue Datei und dann speichern vis Texteditor z.B.
Reicht es dir, wenn ein Download-Dialog angeboten wird, über den der Benutzer die Daten dann auf Platte speichern kann?
Dann würde ich einen Data URI als Lösung vorschlagen.
Einfach den passenden String in JavaScript zusammensetzen (URL-Encoding der Daten nicht vergessen -> encodeURIComponent), und dann an location.href zuweisen. Das sollte in allen modernen browsern problemlos funktionieren. (IE < 9 also außen vor, siehe Beschränkungen im Wikipedia-Artikel.)
Die CSV soll dann von einem weiteren System automatisch weiter verarbeitet werden.
Wenn du es ohne Benutzerinteraktion haben willst, dann musst du schauen unter welchen Bedingungen in welchem Browser ein automatischer Schreibzugriff auf das Dateisystem möglich ist.
MfG ChrisB
Hallo Chris,
Hi,
meine Darstellung in CSV habe ich schon. DAs war so weit klar.
Allerdings nur im Browser. Aktuell kann ich nur Copy 'n Paste anbieten, in eine neue Datei und dann speichern vis Texteditor z.B.Reicht es dir, wenn ein Download-Dialog angeboten wird, über den der Benutzer die Daten dann auf Platte speichern kann?
Ja. Wobei ich nciht den Inhalt des XML speichern oder die XML kopieren will. Es muss
a) CSV sein
b) fasse ich die Daten der XML zusammen mit neu kalkulierten Ergebnissen
Dann würde ich einen Data URI als Lösung vorschlagen.
Einfach den passenden String in JavaScript zusammensetzen (URL-Encoding der Daten nicht vergessen -> encodeURIComponent), und dann an location.href zuweisen. Das sollte in allen modernen browsern problemlos funktionieren. (IE < 9 also außen vor, siehe Beschränkungen im Wikipedia-Artikel.)
Ich sehe in den Link nicht, wie ich etwas schreiben kann. Da wird doch nur gelesen?!
Die CSV soll dann von einem weiteren System automatisch weiter verarbeitet werden.
Wenn du es ohne Benutzerinteraktion haben willst, dann musst du schauen unter welchen Bedingungen in welchem Browser ein automatischer Schreibzugriff auf das Dateisystem möglich ist.
1x klicken um das Abspeichern auszulösen wäre OK, wenn ich das Ziel per default vorgeben kann
bydey