Andiamo con ordine: se già hai un file XML con i tuoi dati si tratta di trasformarlo in un altro file XML conforme allo "standard" DXL (e cioè al DTD definito da Domino che trovi nella cartella xmlschemas nella tua installazione Lotus). Il file risultante può essere importato in Notes con alcune linee Lotus Script del tipo (aggiungendo un qualche controllo qua e là :yellow_wink2.gif: ): Dim xmlFile As NotesStream \'file xml con i dati Set xmlFile = session.CreateStream Call xmlFile.Open("dati.xml") Dim xsltFile As NotesStream \'trasformazione xsl Set xsltFile = session.CreateStream Call xsltFile.Open("trasformazione.xsl") Dim xslt As NotesXSLTransformer Set xslt = session.CreateXSLTransformer(xmlFile, xsltFile) Dim importer As NotesDXLImporter Set importer = session.CreateDXLImporter(xslt, session.CurrentDatabase) \'esegui la trasformazione e importa il risultato Call xslt.Process xsltFile.Close xmlFile.Close Semplice no? Il trucco è nel file trasformazione.xsl. Se non hai dimestichezza con xsl la partenza non sarà facile ma puoi trovare on line un sacco di documentazione ed esempi. Comunque se per ogni ARTICOLO devi creare un doc in Notes con i campi corrispondenti il tuo file di trasformazione potrebbe essere più o meno così: <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:dxl=\'http://www.lotus.com/dxl\'> <xsl:output method="xml"/> <xsl:template match="/"> <dxl:database> <xsl:attribute name="title"><xsl:value-of select="@title"/></xsl:attribute> <xsl:apply-templates/> </dxl:database> </xsl:template> <xsl:template match="articolo"> <dxl:document> <xsl:attribute name="form"><xsl:value-of select="ArticoloForm"/></xsl:attribute> <xsl:apply-templates/> </dxl:document> </xsl:template> <xsl:template match="idarticolo"> <dxl:item> <xsl:attribute name="idarticolo"><xsl:value-of select="."/></xsl:attribute> </dxl:item> </xsl:template> <!-- ... e cosi\' via per gli altri campi... --> </xsl:stylesheet> La performance dipende dal volume di dati da trattare. Direi che è accettabilissima se si tratta di una trasformazione unica. Se invece è frequente o peggio interattiva conviene fare delle prove e valutare il caso concreto...
|