Les particularités du modèle objet utilisé sont décrites ci-dessous.
Utilisation des collections
Toutes les collections du modèle objet prennent en charge les méthodes suivantes :
Nom | Type | Accès | Description |
|---|
Count | int | Lecture seule | Nombre d’éléments dans la collection |
Item( index : int ) | ItemInterface | Lecture seule | Récupère l’élément de la collection correspondant à l’indice spécifié. L’indexation commence à “0”. |
Au lieu d’utiliser la méthode Item, vous pouvez également accéder aux éléments de la collection à l’aide de parenthèses ou de crochets, selon le langage sélectionné. Dans les langages JScript, VBScript et Visual Basic.Net, des parenthèses sont utilisées. En C#.Net, seuls les crochets peuvent être utilisés. En JScript.Net, il est possible d’utiliser à la fois les parenthèses et les crochets.
Par exemple,
Items( 1 ).Text = "Hello" or Items[ 1 ].Text = "Hello"
Toutes les collections peuvent être utilisées dans des constructions “for each” et d’autres constructions similaires.
Utilisation des champs récurrents et des tableaux
Tous les champs du document, à l’exception des tableaux, peuvent être récurrents.
Dans la structure du document, les champs récurrents sont représentés par un champ prototype spécial doté d’une collection Items non vide.
Un champ prototype n’a ni éléments enfants ni valeur. Il sert uniquement à stocker l’ensemble des occurrences du champ. Les champs enfants et/ou les valeurs des champs ne peuvent être des attributs que des instances de champ, accessibles via la méthode Items de l’objet IField.
Les tableaux possèdent toujours la collection Rows (Rows est synonyme de Items). La collection Rows contient uniquement les lignes du tableau dont les cellules sont accessibles via la méthode Children des lignes.
Composition des chemins d’accès aux champs
Les méthodes Field, HasField et IndexedItemValue de l’objet IDocument utilisent des chemins d’accès aux champs du formulaire comme paramètres. La manière formelle de représenter le chemin en BNF (forme de Backus-Naur) est la suivante :
<Path> ::= <Path_component> | <Path> "" <Path_component>
<Path_component> ::= <Field_name> | <Field_name> ”[“<Field_iteration_number>”]”
Où Field_name désigne les noms des champs du document tels qu’ils sont définis dans Document Definition, et Field_iteration_number correspond au numéro d’itération du champ répétitif (le numéro de ligne pour les tableaux), à partir de “0”.
Le chemin peut être complet ou relatif. Les chemins complets sont construits en commençant par le nom de la section du document, tandis que les chemins relatifs sont construits en commençant par le nom de l’élément enfant du groupe.
Par exemple, pour désigner la troisième ligne de la colonne “Total” dans le tableau “Table”, situé dans la section “Section”, vous devez écrire ce qui suit :
Un tel nom complet peut être obtenu à l’aide de la méthode FullName de l’objet IField.