|
Per semplificare l'accesso alle proprietà e ai valori dell'oggetto, FormCalc include collegamenti per snellire la procedura di creazione dei riferimenti. In questa sezione vengono descritti i collegamenti della sintassi di riferimento di FormCalc.
Campo oppure oggetto correnteSi riferisce al campo o all'oggetto corrente
Esempio$ = "Tony Blue"
L'esempio precedente imposta il valore del campo o dell'oggetto corrente su Tony Blue.
Livello principale del modello dati xfa.datasets.dataRappresenta il livello principale del modello dati xfa.datasets.data.
Esempio$data.purchaseOrder.total
equivale a
xfa.datasets.data.purchaseOrder.total
Evento oggetto moduloRappresenta l'evento oggetto modulo corrente.
Livello principale del modello di moduloRappresenta il livello principale del modello di modulo xfa.form.
Esempio $form.purchaseOrder.tax
equivale a specificare
xfa.form.purchaseOrder.tax
Oggetto hostRappresenta l'oggetto host.
Esempio $host.messageBox("Hello world")
equivale a
xfa.host.messageBox("Hello world")
Per ulteriori informazioni, vedere Uso di un'applicazione host.
Livello principale del modello layoutRappresenta il livello principale del modello layout xfa.form.
Esempio$layout.ready
equivale a specificare
xfa.layout.ready
Record di un insieme di datiRappresenta il record corrente di un insieme di dati, come un file XML.
Esempio$record.header.txtOrderedByCity
fa riferimento al nodo txtOrderedByCity interno al nodo header dei dati XML correnti.
Livello principale del modello preimpostatoRappresenta il livello principale del modello preimpostato xfa.template.
Esempio$template.purchaseOrder.item
equivale a
xfa.template.purchaseOrder.item
Livello principale del modello datiRappresenta il livello principale del modello dati xfa.datasets.data.
Esempio!data
equivale a
xfa.datasets.data
Seleziona tutti gli oggetti moduloSeleziona tutti gli oggetti modulo in un dato contenitore, ad esempio un sottomodulo, indipendentemente dal nome, oppure seleziona tutti gli oggetti che hanno un nome simile.
In JavaScript è possibile utilizzare la sintassi con asterisco (*), purché sia impiegata assieme al metodo resolveNode.
EsempioAd esempio, l'espressione seguente seleziona tutti gli oggetti denominati item in un modulo:
xfa.form.form1.item[*]
Cercare gli oggetti che fanno parte di un sottocontenitoreSi possono utilizzare due punti in una posizione qualsiasi della sintassi di riferimento per cercare gli oggetti che fanno parte di un qualsiasi sottocontenitore dell'oggetto contenitore corrente, ad esempio un sottomodulo.
È possibile inserire due punti consecutivi (..) (doppio punto) in JavaScript, purché siano impiegati assieme al metodo resolveNode.
EsempioL'espressione Subform_Page..L'espressione Subform_2 richiede di individuare il nodo Subform_Page (secondo la procedura comune) e di trovare un discendente di Subform_Page denominato Subform2.
Utilizzando la struttura di esempio precedente:
Subform_Page..TextField2
equivale a
Subform_Page.Subform1[0].Subform3.TextField2[0]
poiché TextField2[0] è nel primo nodo Subform1 incontrato da FormCalc durante la ricerca. Come secondo esempio,
Subform_Page..Subform3[*]
restituisce tutti e quattro gli oggetti TextField2.
Denota un oggetto senza nome o specifica una proprietàNella sintassi di riferimento, il simbolo cancelletto (#) è utilizzato per indicare uno dei casi seguenti:
In JavaScript è possibile utilizzare la sintassi con il simbolo cancelletto (#), purché sia impiegata assieme al metodo resolveNode.
EsempioLa sintassi di riferimento seguente accede ad un sottomodulo senza nome:
xfa.form.form1.#subform
La sintassi di riferimento seguente accede alla proprietà name di un sottomodulo se anche il sottomodulo contiene un campo chiamato name:
xfa.form.form1.#subform.#nome
Valore occorrenza di un oggettoLa notazione parentesi quadra ([ ]) indica il valore occorrenza di un oggetto.
Nei moduli specifici per le lingue araba, ebraica, tailandese e vietnamita, la sintassi di riferimento si trova sempre a destra. Ciò vale anche per le lingue che si scrivono da destra a sinistra.
EsempioPer creare un riferimento al valore occorrenza, posizionare le parentesi quadre ([ ]) dopo un nome oggetto e racchiudere tra parentesi uno dei seguenti valori:
[ n ], dove n è un numero di indice di occorrenza assoluto che inizia in corrispondenza di 0. Un numero di occorrenza non compreso nell'intervallo restituisce un errore. Ad esempio,
xfa.form.form1.#subform.Quantity[3]
si riferisce alla quarta occorrenza dell'oggetto Quantity.
[ +/- n ], dove n indica una occorrenza relativa alla occorrenza dell'oggetto che costituisce il riferimento. Valori positivi producono numeri di occorrenza più alti mentre valori negativi producono numeri di occorrenza più bassi. Ad esempio,
xfa.form.form1.#subform.Quantity[+2]
Questo riferimento genera l'occorrenza dell'oggetto Quantity, il cui valore numerico è superiore di due rispetto al numero di occorrenza del contenitore che costituisce il riferimento. Ad esempio, se allegato all'oggetto Quantity[2], il riferimento è lo stesso di
xfa.template.Quantity[4]
Se il numero di indice calcolato non rientra nell'intervallo, il riferimento genera un errore.
Questa sintassi è utilizzata generalmente per individuare l'occorrenza precedente o successiva di uno specifico oggetto. Ad esempio, ogni occorrenza dell'oggetto Quantity (ad eccezione della prima) potrebbe utilizzare Quantity per restituire il valore dell'oggetto Quantity precedente.
[*] indica più occorrenze di un oggetto. Una volta trovato il primo oggetto denominato, vengono restituiti gli oggetti con lo stesso nome e lo stesso livello del primo. Utilizzando questa notazione si ottiene un insieme di oggetti. Ad esempio,
xfa.form.form1.#subform.Quantity[*]
Questa espressione fa riferimento a tutti gli oggetti con un nome Quantity allo stesso livello della prima occorrenza dell'oggetto Quantity trovato dal riferimento.
Utilizzando la struttura come riferimento, queste espressioni restituiscono i seguenti oggetti:
Subform_Page.Subform1[*] restituisce entrambi gli oggetti Subform1.
Subform_Page.Subform1.Subform3.TextField2[*] restituisce due oggetti TextField2.Subform_Page.Subform1 restituisce il primo oggetto Subform1 a sinistra e TextField2[*] risulta relativo all'oggetto Subform3.
Subform_Page.Subform1[*].TextField1 restituisce entrambe le istanze TextField1.Subform_Page.Subform1[*] restituisce entrambi gli oggetti Subform1 e TextField1 risulta relativo agli oggetti Subform1.
Subform_Page.Subform1[*].Subform3.TextField2[1] restituisce il secondo e il quarto oggetto TextField2 da sinistra.Subform_Page.Subform1[*] restituisce entrambi gli oggetti Subform1 e TextField2[1] risulta relativo agli oggetti Subform3.
Subform_Page.Subform1[*].Subform3[*] restituisce entrambe le istanze dell'oggetto Subform3.
Subform_Page.*restituisce sia l'oggetto Subform1 che l'oggetto Subform2.
Subform_Page.Subform2.*restituisce le due istanze dell'oggetto NumericField2.
In JavaScript è possibile utilizzare la sintassi con le parentesi quadre [ ], purché sia impiegata assieme al metodo resolveNode.
|
|
|