Autor Thema: DesignElemente per DXL erstellen  (Gelesen 4128 mal)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
DesignElemente per DXL erstellen
« am: 20.08.08 - 15:25:08 »
So ich brauche mal wieder einen Kognitiven-Anstoss

Ich habe ein DesignElement per DXL-Exporter exportiert und möchte dies nun in einer anderen DB  erstellen.

Nun habe ich ein bisschen die Suche gequält und bin auch schon soweit, dass ich die NotesDXLImporter-Klasse brauche

Habe dann folgenden Code getippert :

Code
	Dim s As New NotesSession
	Dim ws As New NotesUIWorkspace
	
	Dim streamer As NotesStream
	Dim dxlImporter As NotesDXLImporter
	
	Dim dbTarget As NotesDatabase
	
	Dim varChoice As Variant
	
	varChoice = ws.Prompt(13,"Choose Database","Please select the Target Database",0,0)
	
	If Isarray(varChoice) Then
		Set dbTarget = s.GetDatabase(varChoice(0), varChoice(1))
		If Not dbTarget.IsOpen Then
			Call dbTarget.Open(dbTarget.Server,dbTarget.FilePath)
		End If
		
		If Not dbTarget.IsOpen Then
			Msgbox "Konnte die angebene Datenbank nicht finden" , 16 , "Fehler"
			Exit Sub
		End If
		
		Set dxlImporter = s.CreateDXLImporter(newAgent)
		dxlImporter.DesignImportOption = DXLIMPORTOPTION_CREATE
		Call dxlImporter.SetOutput(newAgent)
		Call dxlImporter.Process

newAgent ist eine Konstante

FehlerMeldung ist die folgende :

Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: DesignElemente per DXL erstellen
« Antwort #1 am: 20.08.08 - 15:32:07 »
Input und Output wird mit der "Konstanten" newAgent beschrieben ????
Überleg mal was Input und was Output sein müsste ;)
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: DesignElemente per DXL erstellen
« Antwort #2 am: 20.08.08 - 15:35:24 »
Ich habe ehrlich gesagt, keine Ahnung ich brauch ja eigentlich nur einen Ouput, aber das hat er auch kritisiert.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: DesignElemente per DXL erstellen
« Antwort #3 am: 20.08.08 - 15:38:14 »
Code
		Set dxlImporter = s.CreateDXLImporter(newAgent)
		dxlImporter.DesignImportOption = DXLIMPORTOPTION_CREATE
		Call dxlImporter.SetOutput(dbTarget)
		Call dxlImporter.Process

So müsste das schon ein bisschen eher hinkommen
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: DesignElemente per DXL erstellen
« Antwort #4 am: 20.08.08 - 15:40:38 »
Geht es jetzt?
Was sind newAgent und dbTarget, ich hoffe keine Konstanten!!
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: DesignElemente per DXL erstellen
« Antwort #5 am: 20.08.08 - 15:42:30 »
newAgent ist eine Constante die den DXL-export enthält

dbTarget ist eine NotesDatabase

ja und laufen tut das auch nicht
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: DesignElemente per DXL erstellen
« Antwort #6 am: 20.08.08 - 15:45:19 »
habe aus der CONST newAgent ein

Dim strDXL as String gemacht und ersetzt , bringt aber leider auch nichts
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: DesignElemente per DXL erstellen
« Antwort #7 am: 20.08.08 - 16:00:02 »
So habe noch folgende Version :

Code
		Set dxlImporter = s.CreateDXLImporter()
		dxlImporter.DesignImportOption = DXLIMPORTOPTION_CREATE
		Call dxlImporter.Import(strDXL,dbTarget)
		


auch nicht lauffähig
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: DesignElemente per DXL erstellen
« Antwort #8 am: 20.08.08 - 16:03:27 »
newAgent oder strDXL der Name ist doc egal. Es darf halt keine Stringkonstante sein sondern z.B. ein StreamInput oder ein DXLOutputStream usw.
steht alles in der Hilfe.
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: DesignElemente per DXL erstellen
« Antwort #9 am: 20.08.08 - 16:09:59 »
Also

habe es auch mal über die Stream-Klasse probiert.

Habe die Stream-Klasse initiiert und mit ReadText meinen DXL-Export darein gelutscht und dann das ganze an in den DXL-Importer gegeben, hat auch nichts gebracht.

Aber ich glaube die Import-Methode sollte doch genau das sein was ich brauche.

Der kann man auch einen String mitgeben,laut Hilfe  ;D (Liesst er nämlich doch mal, versteht er nur nicht immer)
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: DesignElemente per DXL erstellen
« Antwort #10 am: 20.08.08 - 17:35:00 »
Du musst das pipelinen.
Beispiel für import-domParser-export Pipeline.
Der exporter bekommt eine Node-Collection (hier das Design-Element Datenbankscript).
Das wird durch den Dom Parser gejagt, wo es editiert werden kann.
Am Ende wird das Designelement in die Datenbank importiert. 
Code
        Set nc = dbUmzug.CreateNoteCollection(False)
	nc.SelectDatabaseScript = True
	
'Pipeline creation
	Set exporter = session.CreateDXLExporter
	Set parser = session.CreateDOMParser	
	Set importer = session.CreateDXLImporter
	Call exporter.SetInput(nc)
	Call exporter.SetOutput(parser)
	Call parser.SetOutput(importer)
	Call importer.SetOutput(dbUmzug)

importer.ReplicaRequiredForReplaceOrUpdate = False
	importer.DocumentImportOption = DXLIMPORTOPTION_IGNORE
	importer.DesignImportOption = DXLIMPORTOPTION_REPLACE_ELSE_CREATE

       On Event PostDOMParse From parser Call PostDOMParseAdd
' die Funktion PostDomParseAdd wird aufgerufen, wenn das DXL vom Dom Parser voll geparsed und als DOM-Modell dargestellt ist. In der Funktion können Nodes verändert werden. 


       Call Exporter.Process
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz