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 actifFait 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.dataRepré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 formulaireReprésente l’événement d’objet de formulaire actif.
Racine de modèle de formulaireRepré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 dispositionReprésente la racine du modèle de disposition xfa.layout.
Exemple$layout.ready
revient à dire
xfa.layout.ready
Collecte d’enregistrements de donnéesRepré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èleRepré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.datasetsReprésente la racine du modèle de données xfa.datasets.
Exemple!data
est équivalent à
xfa.datasets.data
Sélectionne tous les objets de formulaireSé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.
ExemplePar 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-conteneurVous 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.
ExempleL’expressionSubform_Page..Subform2 signifie localiser le nœudSubform_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.
ExempleLa 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 objetLes 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).
ExemplePour 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, etTextField2[*]est évalué relativement à l’objetSubform3.
Subform_Page.Subform1[*].TextField1 renvoie les deux instancesTextField1.Subform_Page.Subform1[*]a pour résultat les deux objetsSubform1, etTextField1est évalué relativement aux objetsSubform1.
Subform_Page.Subform1[*].Subform3.TextField2[1]renvoie le deuxième et le quatrième objetsTextField2à partir de la gauche.Subform_Page.Subform1[*]a pour résultat les deux objetsSubform1, etTextField2[1]est évalué relativement aux objetsSubform3.
Subform_Page.Subform1[*].Subform3[*]renvoie les deux instance de l’objetSubform3.
Subform_Page.*renvoie les deux objetsSubform1et l’objetSubform2.
Subform_Page.Subform2.*renvoie les deux instances de l’objetNumericField2.
Vous pouvez utiliser la syntaxe [ ] (crochets) avec JavaScript si elle est utilisée avec la méthode resolveNode.
|
|
|