Passa al contenuto principale

DEFXMLDATA

DesktopWeb
warning
La specifica è deprecata nei sorgenti con STRICT maggiore o uguale a 3, al suo posto vedere classe BC_XML_DOCUMENT

Consente di definire la struttura di un file XML.

Consente di definire le seguenti strutture base XML:

\<Elemento Attr1=val1, Attr2=val2, .../\>
\<Elemento Attr1=val1, Attr2=val2, ...\>Valore\</Elemento\>
\<Elemento Attr1=val1, Attr2=val2, ...\>  
SottoElementi
\</Elemento\>
\<Elemento\>Valore\</Elemento\>     
\<Elemento\>   
SottoElementi
\</Elemento\>

Queste strutture possono essere ripetute e/o nidificate liberamente all'interno di altri elementi XML.
Si definisce ELEMENTO una porzione di file XML la quale si caratterizza per un nome ed una serie di attributi. Un elemento può contenere altri elementi, semplici oppure composti a loro volta di altri sotto-elementi.

La struttura qui descritta si interessa solo degli attributi e degli elementi semplici (non di quelli composti).

Parametri

ParametroDefinizioneI/OInformazioniVersione traduttoreSMP
PERCORSOStringaINObbligatorioDesktopWeb
VARVariabileINDesktopWeb
ATTRIBUTOINRipetibileDesktopWeb
FMTStringaINDesktopWeb
FILEVariabileINDesktopWeb
CDATAInteroINDesktopWeb
FACOLTATIVOInteroINValore non necessarioDesktopWeb
TRIMInteroINBinarioDesktop
BASE64InteroINDesktopWeb
NUMERODECIMALIMINIMOInteroINDesktopWeb
NOMEELEMENTOINObbligatorioDesktop
PERCORSOELEMENTOStringaINObbligatorioDesktop
NOMEVARIABILEELEMVariabiliINDesktop
NOMEATTRIBUTOStringaINDesktop
NOMEVARIABILEVariabiliINDesktop
TIPOINDesktop
OBBLIGATORIOInteroINBinarioDesktopWeb
ENDDATAINObbligatorioValore non necessario31.5Desktop

PERCORSO

StringaINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktopWeb

Percorso e nome dell'elemento, come compare all'interno del file XML.

VAR

VariabileINInputValore non necessarioValore non necessarioDesktopWeb

Variabile di programma destinata a contenere il valore dell'attributo, quando letto dal file XML. In base al tipo, desunto dall'appendice ($, &, !, etc. o nulla), viene effettuata la conversione in lettura (stringa - tipo della variabile) e scrittura (tipo della variabile - stringa).
La variabile può essere definita direttamente sulla specifica (es.: VAR[VALORE_CAMPO$[25]]).

ATTRIBUTO

INInputRipetibileRipetibileValore non necessarioValore non necessarioDesktopWeb
SottoParametri

Identifica il nome dell'attributo, ovvero del sotto-elemento semplice all'interno del file XML.

FMT

StringaINInputValore non necessarioValore non necessarioDesktopWeb
SottoParametri

Attributo di definizione del formato della variabile associata all'elemento/attributo.
TipoVar: può essere una delle costanti definite in BC per la definizione dei formati dei controlli, od un nuovo formato precedentemente definito con una specifica @DEFFORMAT.

note

Il formato deve essere coerente con il tipo della variabile o il testo costante presente in VAR[].

FILE

VariabileINInputValore non necessarioValore non necessarioDesktopWeb

Attributo che permette di indicare la variabile di tipo alfanumerico che contiene il nome del file da leggere / scrivere come contenuto dell'elemento

CDATA

InteroINInputValore non necessarioValore non necessarioDesktopWeb

Attributo che permette di indicare che l'elemento va scritto mediante una sezione CDATA.

FACOLTATIVO

InteroINInputDesktopWeb

Questo flag permette di definire come 'facoltativo' l'elemento definito.
E' possibile inserire il parametro solo nel caso in cui sia presente una variabile associata all'elemento.
Se questo parametro è indicato, l'elemento non verrà scritto nel caso la variabile associata non sia valorizzata.

TRIM

InteroINInputBinarioBinarioValore non necessarioValore non necessarioDesktop

Questo flag permette di pilotare il trim automatico del contenuto della variabile associato all'elemento definito.
Questo può assumere due valori:

  • 0 - (Default) Non effettua il trim automatico della variabile
  • 1 - Effettua il trim automatico in fase di scrittura del valore della variabile

Parametro con valori ammessi, si possono utilizzare i seguenti valori:

ValoreDescrizione
0No
1Si

BASE64

InteroINInputValore non necessarioValore non necessarioDesktopWeb

Il parametro permette di pilotare come includere un file all'interno del file. Esso può assumere due valori:

  • 1 - (Default) Consente di include il file scrivendolo su più linee

  • 2 - Consente di includere il file scrivendolo su unica riga

NUMERODECIMALIMINIMO

InteroINInputValore non necessarioValore non necessarioDesktopWeb

Il parametro permette di indicare un numero di cifre decimali minimo per la formattazione di un valore numerico.
Ad esempio, indicando 2, il numero 123 verrà formattato come 123.00.

L'utilizzo del parametro esclude l'utilizzo del parametro FMT

NOMEELEMENTO

INInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

Nome simbolico con cui il programma BC identifica l'elemento. Il nome simbolico viene utilizzato sulle specifiche di lettura/scrittura per riferire l'elemento.

PERCORSOELEMENTO

StringaINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

Percorso e nome dell'elemento, come compare all'interno del file XML. Deve essere una costante, indicata quindi tra doppi apici. Se l'elemento è contenuto in un altro elemento, la sua identificazione deve essere espressa accostando i nomi degli elementi-padre, separati da carattere backslash '\'.
Ogni elemento definito sarà quindi espresso in forma simile alla seguente: '\Radice\ElementoPadre\Elemento'

NOMEVARIABILEELEM

VariabiliINInputValore non necessarioValore non necessarioDesktop

Variabile di programma destinata a contenere il valore dell'elemento, quando letto dal file XML. In base al tipo, desunto dall'appendice ($, &, !, etc. o nulla), viene effettuata la conversione in lettura (stringa - tipo della variabile) e scrittura (tipo della variabile - stringa).

Nel caso di variabile stringa, il valore restituito al programma e riempito a spazi sulla lunghezza della variabile. La variabile può essere definita direttamente sulla specifica (es.: '\Elemento' VAL_ELEM$[25]).

NOMEATTRIBUTO

StringaINInputValore non necessarioValore non necessarioDesktop

Nome che identifica l'attributo, ovvero il sotto-elemento semplice all'interno del file XML.

note

Deve essere una costante, indicata quindi tra doppi apici.

NOMEVARIABILE

VariabiliINInputValore non necessarioValore non necessarioDesktop

Variabile di programma destinata a contenere il valore dell'attributo, quando letto dal file XML. In base al tipo, desunto dall'appendice ($, &, !, etc. o nulla), viene effettuata la conversione in lettura (stringa - tipo della variabile) e scrittura (tipo della variabile - stringa).

Nel caso di variabile stringa, il valore restituito al programma e riempito a spazi sulla lunghezza della variabile. La variabile può essere definita direttamente sulla specifica (es.: 'ATTR1' ATTRIBUTO_1$[25]).

TIPO

INInputValore non necessarioValore non necessarioDesktop

Definisce la sintassi con cui l'attributo si presenta sul file XML. Se non indicato, il default è '/'.
Può assumere i seguenti valori:

  • '=' - attributo espresso a livello di definizione dell'elemento (ATTRIBUTO='Valore')
  • '/' - attributo definito come sotto-elemento semplice (<ATTR>Valore</ATTR>).

Il default è '/'. Il gruppo di parametri 'NomeAttributo - NomeVariabile - Tipo' deve essere ripetuto per ogni attributo 'significativo' (necessario) dell'elemento definito.

Parametro con valori ammessi, si possono utilizzare i seguenti valori:

ValoreDescrizione
[=]attributo espresso a livello di definizione dell'elemento
[/]attributo definito come sotto-elemento semplice

OBBLIGATORIO

InteroINInputBinarioBinarioValore non necessarioValore non necessarioDesktopWeb

Indica se l'Attributo è obbligatorio, ovvero se deve essere scritto sul file XML anche quando non è valorizzato (ovvero, quando la variabile associata vale 0 se numerica, '' se alfanumerica). Qualora non indicato, il valore di default applicato è 0 = Attributo non obbligatorio.

I valori ammessi sono:

  • 0 - Attributo non obbligatorio. Se non valorizzato, non viene scritto sul file XML.
  • 1 - Attributo obbligatorio. Viene scritto anche quando non valorizzato.

Parametro con valori ammessi, si possono utilizzare i seguenti valori:

ValoreDescrizione
0No
1Si

ENDDATA

31.5INInputObbligatorioObbligatorioDesktop

Parola chiave, per individuare la fine della definizione dell'elemento.

Esempi

Definizione della struttura "elemento" di file XML

 'Considerando il seguente file XML:

'<ELEMENTO ATTR1="Valore 1" ATTR2="2222">
' <ELEM_SEMPLICE_1>Valore Semplice 1</ELEM_SEMPLICE_1>
' <ELEM_SEMPLICE_2>Valore Semplice 2</ELEM_SEMPLICE_2>
' <ELEMENTO_COMPOSTO ATTR3="Valore 3">
' <ELEM_SEMPLICE_3>Valore Semplice 3</ELEM_SEMPLICE_3>
' ... Altri sotto-elementi ...
' </ELEMENTO_COMPOSTO>
' <ELEMENTO_COMPOSTO>
' Attributi e componenti del sotto-elemento ...
' </ELEMENTO_COMPOSTO>
' <ELEMENTO_CON_VALORE ATTR1="Valore1">ValoreElemento</ELEMENTO_CON_VALORE>
'</ELEMENTO>

...
'Le istruzioni BC per costruire la definizione del file è la seguente:
'@DEFXMLDATA ELEMENTO_1 "\\ELEMENTO"
"ATTR1" Attributo_1 [=]
"ATTR2" Attributo_2 [=]
"ELEM_SEMPLICE_1" AttrElemSemplice_1 [/]
ENDDATA

'@DEFXMLDATA ELEMENTO_2 "\\ELEMENTO\\ELEMENTO_COMPOSTO"
"ATTR3" Attributo_3 [=]
"ELEM_SEMPLICE_3" AttrElemSemplice_3 [/]
ENDDATA

'@DEFXMLDATA ELEMENTO_3 "\\ELEMENTO\\ELEMENTO_CON_VALORE" AttrElem[20]
"ATTR1" Attributo_1 [=]
ENDDATA

'Come si può notare dagli esempi, la definizione dell'elemento ELEMENTO_1
'non prevede alcun riferimento al sottoelemento composto ELEMENTO_2:
'se devono essere elaborate anche le informazioni relative all'elemento composto,
'è necessario prevedere una seconda '@DEFXMLDATA.