Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Scorp am 30.10.03 - 11:44:56

Titel: DXL Import!
Beitrag von: Scorp am 30.10.03 - 11:44:56
Hi!

Nochmal ne Frage zu dem DXL-Import.
Ich hab jetzt ne Datenbank, von der ich per Agent ein Document exportiere, dieses Document dem DOM-Parser übergebe und dann das geparste Document wieder mit dem DXL-Importer importieren möchte.

Dieser agent soll später mal dazu dienen, Internetdocumente zu exportieren, bestimmt Teile zu verändern und dieses veränderte dann wieder zu importieren.

Mein Problem ist jetzt dieses wenn ich ein document das erste diesen Prozeß durchlaufen lasse, läuft alles prima. Wenn ich das selbe aber dann nochmal durchlaufen lassen will, bringt er mir beim DXLimport eine Fehlermeldung("DXLImport failed!")

Woran kann das liegen?

Ich habe erst gedacht das ich beim Parsen einen fehler mache, deshalb übergebe ich das document nur noch dem parser und üergebe dieses document dann gleich wieder dem dxlimporter, aber trotzdem bricht der import immer wieder ab.

Wie gesagt der agent läuft einmal fehlerfrei bei ein und demselben document, danach nicht mehr!

Kann mir einer helfen, oder Tips geben?

Danke schonmal im voraus!
Titel: Re:DXL Import!
Beitrag von: Lossa am 03.11.03 - 14:12:24
Hi,

ich habe kein Problem mit dem Export und Import von DXL. Ich habe hier eine kleine Datenbank gemacht wo ein Export und Import Agent vorhanden  ist.
Ansonsten müsste ich deine Entwicklung genauer betrachten.

Titel: Re:DXL Import!
Beitrag von: Scorp am 04.11.03 - 07:48:39
Hi!

Danke erstmal für die Antwort.
Also mein Problem bestand darin das ich die DXL-Datei nicht auf der Festplatte zwichenspeichern wollte. Meiner bisherigen Recherche und den Versuchen, glaube ich das es daran lag (bin mir aber noch nicht sicher), jetzt lager ich die Datei auf die Festplatte aus, kann so auch den Zeichentyp ASCII benutzen,seitdem habe ich beim Import auch keine Fehlermeldung mehr.

Aber es ist leider ein neues Problem aufgetreten, ich versuche nun per agent das Attribut tabellenbreite(width) zu verändern.
Dazu benutze ich den Befehl: z.B.: a.AttributeValue = "1.3333"
Wenn ich im Debugger schaue wird auch alles korrekt eingetragen, aber nach dem Import, haben sich die werte nicht wie gewüncht verändert. Meine Frage dazu muß ich vor dem Import noch so eine Art SaveBefehl ausführen?

Obwohl das ja auch nicht sein kann, da ich Farbformatierungen und Schriften rauslöschen kann! Hmm ich bin raltos!  ???
Titel: Re:DXL Import!
Beitrag von: Scorp am 04.11.03 - 08:52:48
Ich bin am verzweifeln, jetzt hab ich die DocumentImportOption auf create gestellt und trotzdem importiert er das Document nicht korrekt! er soll "0.5729" reinschreiben, aber immer wenn ich mir dann das document anschaue steht "0.5722" drin, Wieso??
Titel: Re:DXL Import!
Beitrag von: Lossa am 04.11.03 - 23:10:57
Hi,

kannst du mir mal deinen DB schicken?
Es ist dann evtl. einfacher parallel zu "lesen"

Titel: Re:DXL Import!
Beitrag von: Scorp am 06.11.03 - 09:10:19
jo ich geb jetzt hier einfach mal mein Script Libary rein, schaut bitte einfach mal durch, ob es vom prinzip her richtig ist! Ich weiß jetzt wirklich, im moment, nicht weiter!  ???
Ich habe erstmal alles rausgenommen, naja ihr werdets ja dann sehen.
Jedenfalls fkt. bei einigen Documenten, und bei anderen bricht er dann beim Import ab, ich weiß jetzt nur das nach dem DOMParser eine nicht strukturierte DXL Datei rauskommt, weiß aber nicht warum, da ich jetzt wirklich nix mehr dran mache. Naja schauts euch einfach an!

Titel: Re:DXL Import!
Beitrag von: Axel Janssen temp am 07.11.03 - 12:38:37
Hi,

ich habs mir nur kurz angeschaut und keine Lösung.
Langsam bin ich wieder ein vielbeschäftigter Mensch.  >:(
Kannst du vielleicht ein Beispieldokument aus der Datenbank und das xml File in C:\temp irgendwas einfügen.
Ist ein bischen nervig sich da eine Testumgebung selbst einzurichten.
Durch reines Source-code lesen kann ich mit meinem Gehirn nur in relativ wenigen Bereichen wirklich vernünftige Aussagen darüber treffen, warum was nicht läuft. Dafür gibts debugger und compiler.

Merkwürig sehen diese Zeilen (in RepairTemplate.Start) aus:
Code
call exporter.setInput(doc)
call exporter.setOutput(inputstream)

ist das nicht genau umgekehrt ???  (setInput(inputStream) sowie setOutput(doc).  
Schau mir das am WE nochmal an.

Gruß Axel
Titel: Re:DXL Import!
Beitrag von: Scorp am 07.11.03 - 13:56:28
Jo werds versuchen da noch was zusammen zu schustern ;)
Nein Das ist schon so richtig, auch wenn die namen verwirrend sind (ich gebs ja zu).
Der Exporter erhält als input das doc(document) und erstellt als output den stream (inputdtream) dieses wiederrum dient als input für den DOMParser und dann wird besser/einleuchtender mit den bezeichnungen. Inputstream für den DOMParser und Outputstream für den DomParser als output.
aber der outputstream gilt dann gleichzeitig als input für den importer. ;)
wollt das alles in einem ritt weg haben, funktioniert ja auch bei bestimmten Documenten und bei anderen überhaupt nicht. Und das ist mein problem.
Titel: Re:DXL Import!
Beitrag von: Scorp am 10.11.03 - 09:35:10
Also hab mir das jetzt nochmal amgeschaut. Wegen dem Document was ich  einfügen sollte, das ist nicht so ohne weiteres machbar, da ich ja auf server zukreife, kann aber insgesamt 2 documente hier reinposten, in form von DXL. Ein document kurz nachdem export und dann kurz nach dem DomParser (serialize), das ander Document auch so aufgeteilt. Der Unterschied beider wäre der import des einen funktioniert der Import des anderen nicht.
Durchgeführt mit dem selben Agenten.

Wäre das OK?