Load From XML

funzione copia link

Scopo

Questa funzione permette di caricare completamente un book da un file XML opportunamente formattato.

Sintassi

int Risultato = 0 // Risultato lettura da XML
//
Risultato := Book.LoadFromXML(nome file)

Argomenti

Nome File Percorso completo del file XML da caricare

Valore di ritorno

La funzione restituisce un intero che indica se ha avuto successo o meno. Questi sono i possibili valori restituiti dalla funzione:

Valore
Significato
0 Lettura effettuata con successo
1 Errore generico: consultare i files di LOG dell'applicazione per ulteriori informazioni
2 File XML non trovato o vuoto
3 Formato XML errato: manca nodo radice
4 Formato XML errato: manca nodo Book

Esempio di codice

// ********************************************
// Mostra il book caricando il file XML fornito
// ********************************************

public void BookDaXML.MostraBookXML(
  string FileName // Nome del file XML da mostrare
)
{
  int Risultato = 0 // 
  // 
  // Carico il book da XML. Se ho successo proseguo

  Risultato := XMLBook.LoadFromXML(Path() +c C/ +c BookXML/ +c FileName)
  if Risultato = ZERO
  {
    // Stampo la prima pagina del book
    XMLBook.Print(ONE, ONE)
  }
}
  • E' possibile utilizzare Instant Developer per produrre il file XML. Per fare questo occorre selezionare un book nell'albero degli oggetti e selezionare la voce di menù File, Export to XML.
  • Il formato del file XML deve essere corrispondente a quello prodotto da Instant Developer.
  • Il file XML contiene, per ogni report, il testo della query ed il nome del database richiesto per eseguirla. Quando il book viene stampato il motore di stampa tenta di recuperare l'interfaccia verso un database partendo dal nome del database letto dal file XML. Il database richiesto dal book, letto da XML, deve quindi essere uno dei database conosciuti dall'applicazione. In alternativa è possibile implementare l'evento dell'applicazione GetDBByName al quale viene fornito dal framework il nome del DB recuperato dal file XML. Compito dell'evento è quello di tradurre il nome recuperato dal file XML nel nome di uno dei database conosciuti dall'applicazione.
  • In generale il book (utilizzato per produrre il file XML) non deve utilizzare eventi di formattazione. Gli eventi, infatti, non sono inclusi nel file XML ed il loro codice è noto solo all'applicazione che ha prodotto il file XML e non necessariamente all'applicazione che utilizza il file XML.
  • E' possibile utilizzare gli eventi di formattazione nei book salvati su XML solo se l'applicazione che ha prodotto il file XML e l'applicazione che utilizza il file XML coincidono. E' anche necessario che la videata che contiene il book da cui è stato generato il file XML sia la stessa videata che contiene il book utilizzato per caricare il file XML.
  • Non è possibile utilizzare, all'interno degli span dei book salvati in XML, espressioni non costanti. Tali espressioni, infatti, vengono compilate da Instant Developer come righe di codice inserite nell'applicazione che contiene il book. E' possibile utilizzare espressioni complesse solo se l'applicazione e la videata che contengono il book utilizzato per generare il file XML e il book utilizzato per caricare il file XML coincidono.

Ultima modifica: 14/05/2007 / Validità: da 6.5.2680