Das Notes Forum

Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: Sebastianh am 16.04.09 - 14:18:15

Titel: Dxlimporter Fehler
Beitrag von: Sebastianh am 16.04.09 - 14:18:15
Hallo,

beim Versuch ein exportiertes Dokument zu importieren, bekam ich grad folgende Fehlermeldung vom Importer:

Code
<?xml version='1.0'?>
<DXLImporterLog>
<error id='7066'>Table right margin must be greater than the left margin.</error>
<error>DXL importer operation failed</error>
</DXLImporterLog>

Laut Link (http://www-01.ibm.com/support/docview.wss?rs=0&uid=swg27010904) ist das seit 7.0.3 gelöst. Jetzt befindet sich auf meinem Produktivsystem aber ein 8.0.1. Kann mir jemand sagen, wieso ich trotzdem die Fehlermeldung bekomme, bzw. hat wer einen Verdacht?
Ist evtl. ein Workaround bekannt?

edit: wo ich grad beim Thema bin, hab grad mal die folgenden Funktionen "ausprobieren" wollen:
Code
dxlExporter.setMIMEOption(DxlExporter.DXLMIMEOPTION_DXL);
dxlExporter.setRichTextOption(DxlExporter.DXLRICHTEXTOPTION_RAW);
laut Designerhilfe seit Release 8 dabei, laut meinem Produktivsystem: not implemented!
???
Gruß,

Sebastian
Titel: Re: Dxlimporter Fehler
Beitrag von: Sebastianh am 23.04.09 - 14:08:09
hab mir die betroffenen DXL-Dateien jetzt mal im Detail angeschaut. Im genauen geht es wohl um Kontrukte dieser Art:

Code
<table user4spacing='true' leftmargin='5.7069in' widthtype='fitmargins' cellborderstyle='ridge'
 columnspacing='0.0278in' rightmargin='4.3972in' refwidth='10.1104in'><tablecolumn
 width='100%'/>

Gibt es wirklich keine andere Lösung, als das ganze jetzt programmtechnisch mit nem XML-Parser einzulesen, die entsprechenden Stellen rauszusuchen, Werte zu ändern, und zu hoffen, dass die Tabelle danach noch "ansprechend" aussieht?
Titel: Re: Dxlimporter Fehler
Beitrag von: flaite am 23.04.09 - 16:33:38
eher xslt als parser.
Vielleicht kannst du aber auch einfach die Tabelleneinstellungen der Maske so ändern, dass die Probleme nicht auftauchen.
Dürften die Probleme des unvollständigen Roundtrip Enginering sein.
Titel: Re: Dxlimporter Fehler
Beitrag von: Sebastianh am 23.04.09 - 16:54:03
Vielleicht kannst du aber auch einfach die Tabelleneinstellungen der Maske so ändern, dass die Probleme nicht auftauchen.
Das sind Mails/Dokumente von "aussen", ich hab keine Ahnung wie/wo die generiert werden. Also habe ich keine Möglichkeit, an einer Maske rumzuschrauben. :(
Das mit dem xslt werd ich mir mal anschauen, Danke!

Roundtrip Engineering sacht mir jetzt mal gar nix. Sollte es?
Bleibt immer noch die Frage, warum IBM sagt, das Problem sei behoben.
Titel: Re: Dxlimporter Fehler
Beitrag von: flaite am 23.04.09 - 18:42:13
Das ist nicht schön.

Wenn du in den "kaputten" DXLs eine Regelmässigkeit bezüglich der Attribut-Werte findest geht das sicher. Aber XSLT ist auch nicht so einfach. Für mich lohnt es sich, da ich das in verschiedenen Umgebungen nutzen kann.

Du solltest von einem "identity" Xslt ausgehen. D.h. eins das ein vorhandenes xml genauso kopiert wie es reinkam. Und dann spezielle Templates für die Veränderung nicht okayer Tabellenparameter.

Identity Template XSLT: 
Code
<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <!-- Import filter rules -->
       <xsl:include href="filter.xslt"/>


    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="node() | @*">
         <xsl:copy>
              <xsl:apply-templates select="node() | @*"/>
         </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

Für Roundtrip Engineering -> Roundtrip Engineering DXL in google eingeben.
Titel: Re: Dxlimporter Fehler
Beitrag von: Sebastianh am 07.05.09 - 17:54:53
Bin heute mal wieder dazu gekommen, mich um das Projekt zu kümmern. Das mit dem XSLT hab ich nicht wirklich verstanden. Habe jetzt das komplette Dokument mit einem XML-Parser eingelesen, die entsprechenden Attribute verglichen und im Fall der Fälle die Werte neu gesetzt. Sieht nicht wirklich gut aus, scheint aber seinen Zweck zu erfüllen. Trotzdem, zufriedenstellend finde ich das irgendwie nicht.

Gruß,

Sebastian
Titel: Re: Dxlimporter Fehler
Beitrag von: Sebastianh am 14.05.09 - 10:30:47
Jetzt habe ich gedacht, ich hätte alle Einträge korrigiert, aber ich bekomme (bei einer bestimmten Datei) immer noch den oben erwähnten Fehler. Kann es sein, dass bei:

Code
<table user4spacing="true" widthtype="fitmargins" cellborderstyle="ridge" columnspacing="0.0278in" 
refwidth="20.1111in" minrowheight="0" rowspacing="0" cellbordercolor="none" colorstyle="none" 
leftmargin="1in" rightmargin="100%" 
rowdisplay="all" outsidewrap="false" insidewrap="false" direction="lefttoright">

1in > 100% ???

bzw. wie sind denn die 100% hier zu interpretieren (nicht die gesamt zur Verfügung stehende Breite des Dokuments(die offensichtlich > 1in ist)?)?

edit: try & error beweist, dass dies tatsächlich die Ursache war. Allerdings trägt das verändern der Werte nicht gerade zum aufhübschen des Dokuments / der Tabelle bei