Pour faciliter l’accès aux propriétés et aux valeurs et limiter votre travail, FormCalc offre des raccourcis pratiques pour créer des références. Cette section décrit les raccourcis de syntaxe de référence pour FormCalc.
Champ ou objet actif
Fait référence au champ ou à l’objet actif
Exemple
$ = "Tony Blue"
L’exemple ci-dessus définit la valeur du champ ou de l’objet actuel sur
Tony Blue
.
Racine du modèle de données de xfa.datasets.data
Représente la racine du modèle de données
xfa.datasets.data
.
Exemple
$data.purchaseOrder.total
est équivalent à
xfa.datasets.data.purchaseOrder.total
Evénement d’objet de formulaire
Représente l’événement d’objet de formulaire actif.
Racine de modèle de formulaire
Représente la racine du modèle de formulaire
xfa.form
.
Exemple
$form.purchaseOrder.tax
revient à dire
xfa.form.purchaseOrder.tax
Racine du modèle de disposition
Représente la racine du modèle de disposition
xfa.layout
.
Exemple
$layout.ready
revient à dire
xfa.layout.ready
Collecte d’enregistrements de données
Représente l’enregistrement actuel d’une collection de données, provenant d’un fichier XML par exemple.
Exemple
$record.header.txtOrderedByCity
Référence le nœud
txtOrderedByCity
dans le nœud d’en-tête des données XML actuelles.
Racine du modèle de modèle
Représente la racine du modèle de modèle xfa.template.
Exemple
$template.purchaseOrder.item
est équivalent à
xfa.template.purchaseOrder.item
Racine de modèle de données de xfa.datasets
Représente la racine du modèle de données
xfa.datasets
.
Exemple
!data
est équivalent à
xfa.datasets.data
Sélectionne tous les objets de formulaire
Sélectionne tous les objets de formulaire dans un conteneur donné (tel qu’un sous-formulaire), quel que soit le nom, ou sélectionne tous les objets ayant un nom similaire.
Vous pouvez utiliser la syntaxe ‘*’ (astérisque) avec JavaScript si elle est utilisée avec la méthode
resolveNode
.
Exemple
Par exemple, l’expression suivante sélectionne tous les objets nommés
item
sur un formulaire :
xfa.form.form1.item[*]
Recherche les objets faisant partie d’un sous-conteneur
Vous pouvez utiliser deux points à un endroit quelconque de votre syntaxe de référence pour rechercher des objets faisant partie de n’importe quel sous-conteneur du conteneur actuel (tel qu’un sous-formulaire).
Vous pouvez utiliser la syntaxe ‘..’ (double point) avec JavaScript en faisant appel à la méthode
resolveNode
.
Exemple
L’expression
Subform_Page..Subform2
signifie localiser le nœud
Subform_Page
(normal) et rechercher un descendant de
Subform_Page
appelé
Subform2
.
En se fondant sur l’arborescence ci-dessus,
Subform_Page..TextField2
est équivalent à
Subform_Page.Subform1[0].Subform3.TextField2[0]
puisque
TextField2[0]
est le premier nœud
Subform1
que FormCalc rencontre lors de sa recherche. Deuxième exemple :
Subform_Page..Subform3[*]
renvoie les quatre objets
TextField2
.
Désigne un objet sans nom ou indique une propriété
La notation
#
(dièse) est utilisée pour représenter l’un des éléments suivants dans une syntaxe de référence :
Vous pouvez utiliser la syntaxe ‘#’ (signe dièse) avec JavaScript si elle est utilisée avec la méthode
resolveNode
.
Exemple
La syntaxe de référence suivante accède à un sous-formulaire sans nom :
xfa.form.form1.#subform
La syntaxe de référence suivante accède à la propriété
name
d’un sous-formulaire si ce dernier contient également un champ appelé
name
:
xfa.form.form1.#subform.#name
Valeur d’occurrence d’un objet
Les crochets (
[ ]
) représentent la valeur d’occurrence d’un objet.
dans les formulaires en arabe, hébreu, thaï et vietnamien, la syntaxe de référence se trouve toujours à droite (même pour les langues s’écrivant de droite à gauche).
Exemple
Pour créer une référence à une valeur d’occurrence, placez des crochets (
[ ]
) après un nom d’objet et insérez entre les crochets l’une des valeurs suivantes :
-
[ n ]
, où
n
est un numéro d’index d’occurrence absolu commençant à 0. Un numéro d’occurrence hors limite ne renvoie aucune valeur Par exemple :
xfa.form.form1.#subform.Quantity[3]
renvoie à la quatrième occurrence de l’objet Quantity.
-
[ +/- n ]
, où
n
indique une occurrence relative à l’occurrence de l’objet porteur de la référence. Les valeurs positives retournent des nombres d’occurrences plus élevés alors que les valeurs négatives retournent des nombres d’occurrences plus bas. Par exemple :
xfa.form.form1.#subform.Quantity[+2]
Cette référence retourne l’occurrence de Quantity dont le nombre d’occurrences est deux de plus que le nombre d’occurrences du conteneur qui constitue la référence. Si, par exemple, cette référence était jointe à l’objet Quantity[2], la référence serait la même que :
xfa.template.Quantity[4]
Si le numéro d’index calculé est hors limite, la référence renvoie une erreur.
Cette syntaxe sert surtout à localiser l’occurrence précédente ou suivante d’un objet en particulier. Par exemple, chaque occurrence de l’objet Quantity (sauf la première) peut utiliser Quantity[-1] pour obtenir la valeur de l’objet Quantity précédent.
-
[*]
indique plusieurs occurrences d’un objet. Le premier objet nommé est trouvé, et les objets portant le même nom et ayant le même parent immédiat sont retournés. Le résultat de cette notation est une collection d’objets. Par exemple :
xfa.form.form1.#subform.Quantity[*]
-
Cette expression fait référence à tous les objets portant le nom de
Quantity
et ayant le même parent immédiat que la première occurrence de
Quantity
trouvée par la référence.
L’arborescence servant de référence, les expressions suivantes retournent les résultats indiqués :
-
Subform_Page.Subform1[*]
renvoie les deux objets
Subform1
.
-
Subform_Page.Subform1.Subform3.TextField2[*]
renvoie deux objets
TextField2
.
Subform_Page.Subform1
a pour résultat le premier objet
Subform1
sur la gauche, et
TextField2[*]
est évalué relativement à l’objet
Subform3
.
-
Subform_Page.Subform1[*].TextField1
renvoie les deux instances
TextField1
.
Subform_Page.Subform1[*]
a pour résultat les deux objets
Subform1
, et
TextField1
est évalué relativement aux objets
Subform1
.
-
Subform_Page.Subform1[*].Subform3.TextField2[1]
renvoie le deuxième et le quatrième objets
TextField2
à partir de la gauche.
Subform_Page.Subform1[*]
a pour résultat les deux objets
Subform1
, et
TextField2[1]
est évalué relativement aux objets
Subform3
.
-
Subform_Page.Subform1[*].Subform3[*]
renvoie les deux instance de l’objet
Subform3
.
-
Subform_Page.*
renvoie les deux objets
Subform1
et l’objet
Subform2
.
-
Subform_Page.Subform2.*
renvoie les deux instances de l’objet
NumericField2
.
-
Vous pouvez utiliser la syntaxe
[ ]
(crochets) avec JavaScript si elle est utilisée avec la méthode
resolveNode
.
|
|
|