Encoding nach Dxlimport

  • Hallo,


    ich habe mein Problem vor einiger Zeit schonmal [url=http://atnotes.de/index.php/topic,45327.0.html]hier[/url] beschrieben aber leider konnte mir bisher keiner weiter helfen (und das Problem rückte auch zunächst in den Hintergrund, tetzt ist es wieder akut). Ich importiere eine Dxldatei (die in einem Editor unter WinXP bestens aussieht) mit dem DXLImporter in den Notesclient, und dort angekommen, werden sämtliche Umlaute im Dokument inkorrekt dargestellt.


    Bin für jeden Hinweis dankbar.

  • Die dxl-Datei kommt aus dem dxlExporter, danach parse ich sie mit dem dom4j, verändere ein paar Attribute, und schreibe sie wie folgt zurück:


    Code
    OutputFormat format = new OutputFormat("", true, "utf-8");FileOutputStream fos = new FileOutputStream(filename);XMLWriter writer = new XMLWriter(fos, format);writer.write(doc);


    danach sieht der dxlCode folgenderweise aus:


    XML
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE document SYSTEM "C:\\Programme\\IBM\\Lotus\\Notes\\xmlschemas\\domino_8_0_1.dtd">
    <document xmlns="http://www.lotus.com/dxl" version="7.0" replicaid="C12345CD0034567A" form="Memo" response="false" conflict="false">
    ...
    <run html="false" highlight="none" readingorder="lefttoright">
    <font name="monospace"/>Franz jagt im komplett verwahrlosten Taxi quer durch Bayern äöüß
    <break/>
    </run>
    ...


    Wenn ich die Datei jetzt wieder (mit dem dxlimporter) importiere, sind die Umlaute(Sonderzeichen) kaputt(falsch dargestellt).

  • Und wenn du es nicht veränderst und davor auch Umlaute drin sind. geht es dann ?


    Dann wüsstest du dass es an deinen Veränderungen liegt und kein grundsätzliches Problem ist.
    Denn bei mir gehen Sonderzeichen problemlos

  • Ich hab jetzt den Fehler lokalisiert (glaub ich zumindest), aus dem dxlexporter raus kommt folgendes (bevor ich IRGENDWAS am dxlcode verändere):


    XML
    <?xml version='1.0'?>
    <!DOCTYPE document SYSTEM 'C:\\Programme\\IBM\\Lotus\\Notes\\xmlschemas\\domino_8_0_1.dtd'>
    <document xmlns='http://www.lotus.com/dxl' version='7.0' replicaid='C12345CD0034567A'
     form='Memo'>


    Hier fehlt die Angabe zum Encoding. Wenn ich die da ersetze, sollte das Problem wahrscheinlich gelöst sein?!?


    Was ich mich allerdings jetzt frage, wieso schreibt der dxlexporter Attributzuweisungen in Hochkommata (y='x') und nicht in Anfrührungszeichen (y="x")? Ist das überhaupt xml konform?