Collegamenti per sintassi di riferimento FormCalc

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 corrente

Si riferisce al campo o all'oggetto corrente

Notazione

$

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.data

Rappresenta il livello principale del modello dati xfa.datasets.data.

Notazione

$data

Esempio

$data.purchaseOrder.total

equivale a

xfa.datasets.data.purchaseOrder.total

Evento oggetto modulo

Rappresenta l'evento oggetto modulo corrente.

Notazione

$event

Esempio

$event.name

equivale a

xfa.event.name

Per ulteriori informazioni, vedere Uso del modello evento.

Livello principale del modello di modulo

Rappresenta il livello principale del modello di modulo xfa.form.

Notazione

$form

Esempio

$form.purchaseOrder.tax

equivale a specificare

xfa.form.purchaseOrder.tax

Oggetto host

Rappresenta l'oggetto host.

Notazione

$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 layout

Rappresenta il livello principale del modello layout xfa.form.

Notazione

$layout

Esempio

$layout.ready

equivale a specificare

xfa.layout.ready

Record di un insieme di dati

Rappresenta il record corrente di un insieme di dati, come un file XML.

Notazione

$record

Esempio

$record.header.txtOrderedByCity

fa riferimento al nodo txtOrderedByCity interno al nodo header dei dati XML correnti.

Livello principale del modello preimpostato

Rappresenta il livello principale del modello preimpostato xfa.template.

Notazione

$template

Esempio

$template.purchaseOrder.item

equivale a

xfa.template.purchaseOrder.item

Livello principale del modello dati

Rappresenta il livello principale del modello dati xfa.datasets.data.

Notazione

!

Esempio

!data

equivale a

xfa.datasets.data

Seleziona tutti gli oggetti modulo

Seleziona 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.

Notazione

*

Esempio

Ad 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 sottocontenitore

Si 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.

Notazione

..

Esempio

L'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:

  • Un oggetto senza nome

  • Specificare una proprietà nella sintassi di riferimento se una proprietà e un oggetto hanno lo stesso nome

In JavaScript è possibile utilizzare la sintassi con il simbolo cancelletto (#), purché sia impiegata assieme al metodo resolveNode.

Notazione

#

Esempio

La 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 oggetto

La 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.

Notazione

[ ]

Esempio

Per 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.