Hallo,
das Thema wurde schon mehrfach angesprochen, aber ich habe in den bisherigen Threads leider keine befriedigende Antwort gefunden.
Es geht darum, ein Dokument per DXL zu exportieren und in eine andere Datenbank zu importieren. Ich benutze das zum Beispiel, wenn mir ein Kunde ein Dokument schicken möchte, bei dem irgend etwas nicht so funktioniert, wie es soll. Er exportiert es mit einem Agenten per DXL, schickt mir die Datei, und ich importiere sie bei mir und prüfe wo das Problem liegt.
Beim Export werden ä ö ü usw. leider direkt exportiert, anstatt diese durch ä ö ü zu ersetzen. Prinzipiell hätte ich da nichts dagegen, aber beim Import werden diese dann falsch importiert.
Vielleicht ist das Problem ja ganz einfach und es gibt ein Flag oder eine Methode, dass die Ersetzungen direkt vorgenommen werden? Für Tipps bin ich dankbar.
Ich habe das bei mir jetzt so gelöst, dass in allen Texten die Umlaute durch die Funktion EncodeXMLU ersetzt werden (nur die Umlaute, aber nicht < oder >, weil das anscheinend funktioniert und die <break/> ebenfalls nicht ersetzt werden dürfen):
While (Instr(dxl, "<text>") > 0)
res = res & Strleft(dxl, "<text>") & "<text>"
dxl = Strright(dxl, "<text>")
res = res & EncodeXMLU(Strleft(dxl, "</text>")) & "</text>"
dxl = Strright(dxl, "</text>")
Wend
res = res & dxl
In dxl ist also der gesamte DXL-String enthalte und nach dem Code sind die Umlaute konvertiert. Solche Strings kann ich dann problemlos per DXL-Importer wieder importieren, aber das ist alles sehr konstruiert und bei großen Dokumenten vermutlich nicht sonderlich performant.
Also hier die Frage: Welche Einstellungen muss man vornehmen, damit ein per DXL exportiertes Dokument exakt so wieder importiert werden kann? Ober das Exporter- oder Importer-Einstellungen sind ist egal. (Ich weiß, dass das von IBM nicht versprochen wird, aber vielleicht hat ja jemand eine Idee).
Im Voraus vielen Dank für Eure Hilfe,
Joachim