English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Document Orientation
  • ID Document
  • XML JSON

On Load XML Prop

evento copia link

Condizioni di notifica

Questo evento viene notificato dal sistema durante il caricamento di un documento da XML mediante la funzione LoadFromXML.

Utilizzo consigliato

Normalmente questo evento viene gestito quando occorre personalizzare il caricamento del documento da XML. Può essere utile farlo, per esempio, se il formato dell'XML è diverso da quello che avrebbe l'XML se fosse generato dal sistema per mezzo della funzione SaveToXML. L'evento permette, infatti, dato il nome di un attributo di un nodo XML di indicare al sistema a quale proprietà del documento corrisponde.

Argomenti

Nome Interno Parametro di output stringa. Rappresenta il nome della proprietà del documento che occorre valorizzare utilizzando il nome dell'attributo del nodo XML il cui nome è stato comunicato mediante il parametro Tag Esterno.
Tag Esterno E' una stringa che rappresenta il nome dell'attributo del nodo XML (o il nome del nodo XML, vedi il paragrafo Note dell'articolo LoadFromXML per i diversi formati supportati) in fase di caricamento.
Valore Parametro di output stringa. Rappresenta il valore letto da XML. E' possibile modificare il valore prima che il sistema lo utilizzi per valorizzare la proprietà del documento.
Elemento Non utilizzato.
Cancel Parametro di output booleano. Se impostato a True indica al sistema di non valorizzare la corrispondente proprietà del documento.

Esempio di codice

// ************************************************
// Fired when an attribute is being loaded from XML
// ************************************************

event Categorie.OnLoadXMLProp(
  inout string InternalName // Internal Name. You can choose where to store the attribute
  string ExternalTag        // Name of the attribute as it appears in the XML file
  inout string Value        // Value of the attribute. You can change it!
  inout boolean IsElement   // Reserved for future use
  inout boolean Cancel      // Set to TRUE to disable attribute setting
)
{
  // Traduco l'XML in inglese
  if ExternalTag = CategoryID
  {
    InternalName := IDCategoria
  }
  if ExternalTag = CategoryID +c C_O
  {
    InternalName := IDCategoria +c C_O
  }
  // 
  if ExternalTag = CategoryName
  {
    InternalName := NomeCategoria
  }
  if ExternalTag = CategoryName +c C_O
  {
    InternalName := NomeCategoria +c C_O
  }
  // 
  if ExternalTag = Description
  {
    InternalName := Descrizione
  }
  if ExternalTag = Description +c C_O
  {
    InternalName := Descrizione +c C_O
  }
}
  • L'evento viene notificato due volte per ogni proprietà del documento: la prima volta per valorizzare la proprietà e la seconda volta per scrivere il valore originale di tale proprietà. Se il documento è stato salvato dal sistema mediante la funzione SaveToXML il nome del nodo XML (o dell'attributo a seconda del formato scelto per il salvataggio) termina con la stringa "_O" per indicare che quel nodo XML identifica il valore originale della proprietà.
  • Qualora il valore sia di tipo diverso da stringa è possibile utilizzare la funzione di libreria Convert per indicare ad Instant Developer di non utilizzare un controllo stretto dei tipi di dato. Quindi è possibile scrivere:
    Valore := Convert(Now())
    per sostituire il valore letto da XML con la data e ora correnti.

Ultima modifica: 01/04/2020 / Validità: da 6.5.2680

Vedi Anche

  • Load From XML (funzione)
  • Save To XML (funzione)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum