- L’éditeur de XML/XSD de votre choix
ou
- Un éditeur de texte (par exemple Notepad++)
Cet article vise à décrire la liaison de champs de formulaire dynamiques à un document Schéma XML (fichier XSD) à l’aide de LiveCycle Designer ES.
L’interaction dynamique avec les formulaires électroniques constitue l’une des caractéristiques les plus attrayantes de LiveCycle. Lorsque le formulaire est conforme à la taille de document requise pour une transaction particulière, cela entraîne une économie des coûts d’impression (si le formulaire doit être imprimé). De plus, lorsque le formulaire présente uniquement la quantité d’informations nécessaire pour effectuer une transaction, l’utilisateur le lit et le comprend plus facilement. Les objets de formulaire, comme les boutons, peuvent être utilisés pour ajouter ou supprimer le nombre requis de champs de saisie de données d’un formulaire.
Les données capturées par les objets d’un formulaire sont stockées dans le formulaire sous forme de données XML. Pour transmettre ces données XML aux services principaux, le XML doit être structuré. Par défaut, les données XML générées dans un formulaire sont conformes à une structure XML Path (XPath) qui imite la disposition des objets de formulaire eux-mêmes ainsi que leur relation avec leur position sur le formulaire. Cette méthode de dénomination des éléments XPath n’est que rarement utile à un développeur principal. Ainsi, pour structurer le XML généré à partir d’un formulaire d’une manière considérée comme logique par le développeur principal, un document XSD est utilisé.
Le document XSD représente essentiellement un schéma ou un document regroupant un ensemble de règles écrit dans le langage de balisage XML. Cet XSD décrit la manière dont les données XML doivent être structurées lorsqu’elles sont extraites du formulaire. Une fois qu’un objet de formulaire est lié aux éléments de schéma, les données capturées dans le formulaire sont stockées dans un document XML au format décrit par le schéma XSD.
Un problème survient alors : comment lier à un élément de schéma un élément d’un objet de formulaire qui se répète de manière dynamique ? Puisque les objets n’apparaissent qu’une seule fois dans la structure du formulaire et dans la structure du schéma, mais ils peuvent être utilisés pour stocker plusieurs ensembles de données. Ce document a pour but d’expliquer les exigences structurelles des formulaires et les conventions de liaison nécessaires pour lier un formulaire à un schéma pour ces ensembles de données répétitives.
Le formulaire qui servira d’exemple pour ce tutoriel (voir l’illustration n° 1) est un formulaire simple qui peut servir à demander à un administrateur de site de permettre à ses entreprises partenaires de permettre à certains utilisateurs expérimentés de naviguer sur le site web de l’entreprise. Le nombre d’utilisateurs varie : par conséquent, pour que l’administrateur du site ajoute le nombre d’utilisateurs adéquat, un bouton « Ajouter un utilisateur » est inséré. En appuyant sur ce bouton, un nouveau bloc d’utilisateurs s’affiche, qui capture des informations similaires : prénom de l’utilisateur, nom de l’utilisateur, ajouter/modifier/supprimer (l’utilisateur nommé), numéro de téléphone de l’utilisateur et adresse électronique de l’utilisateur.
Tout d’abord, le formulaire créé doit contenir la fonctionnalité de champ répété souhaitée. Pour ce faire, la disposition du formulaire doit être souple. Une disposition souple est différente d’une disposition statique. Comme son nom l’indique, une disposition souple peut changer de taille et se développer ou se réduire selon les besoins, ce dont est incapable une disposition statique. Par défaut, une disposition souple empile tous les objets de formulaire les uns sur les autres et les aligne à gauche. Dans la mesure où cela n’emploie pas correctement l’espace utilisable du formulaire (zone d’espacement utilisable sur un formulaire), il est nécessaire d’utiliser un tableau, ou mieux, un sous-formulaire dont la disposition est placée au sein de la disposition souple.
Qu’il s’agisse de rendre la page entière souple ou de transformer un sous-formulaire enroulé en section souple, il suffit de l’enchaîner.
Remarque :
Si vous souhaitez enchaîner la page entière, cliquez avec le bouton droit de la souris sur l’élément de la hiérarchie des objets de formulaire qui représente la page dans la visualisation de la conception (nommé par défaut « (sous-formulaire sans titre)(page 1) ». Assurez-vous de ne pas cliquer sur l’objet « Page1 » sous l’objet « (Gabarits de pages) ».
Ce tutoriel ne traite pas le développement de schémas XML. Vous devez cependant créer un schéma XML pour le formulaire, puis créer une connexion de données entre le formulaire et le schéma.
Un schéma XML peut être développé avec n’importe quel outil de développement de schéma XML ou XSD, ou créé à l’aide d’un simple éditeur de texte comme le produit open source Notepad ++. Le schéma XML doit obligatoirement inclure une section qui imite la structure du sous-formulaire répété.
Dans l’exemple ci-dessus, le sous-formulaire « UserDesigneeSubform » comporte quelques éléments de capture de données, notamment :
- UserFirstNm — un champ de texte
- UserLastNm — un champ de texte
- UserAddChangeDelIn — un sélecteur de liste déroulante
- UserTelNo — un champ de texte (pourrait également être un champ numérique)
- UserEmailAd — un champ de texte
Cela signifie que les mêmes éléments doivent également être définis dans le document Schéma XML (comme dans l’illustration n° 4 ci-dessous). Remarque : l’attribut « maxOccurs » de l’objet contenant « souple » (UserDesigneeContainer) et de l’objet « positionné » du sous-formulaire (UserDesigneeSubform) doit être défini sur unbounded (illimité). Remarque supplémentaire : la manière dont l’objet répété « UserDesigneeSubform » est intégré à l’objet « UserDesigneeContainer » doit refléter sa position dans la hiérarchie du formulaire déterminée dans Designer.
Une fois le schéma développé et la connexion de données établie, la liaison des éléments de formulaires au schéma peut commencer. Vous trouverez ici des informations concernant la liaison des champs à une source de données.
La seule différence avec une liaison habituelle d’un objet de formulaire à un schéma XML est l’obligation du développeur d’inclure un astérisque entre crochets « [*] » dans le chemin de liaison de Designer (comme illustré par l’illustration n° 5 ci-dessous).
Il s’agit de la seule exigence pour lier le sous-formulaire répété au XSD. Désormais, lorsqu’un utilisateur ajoute au formulaire une section à remplir, un autre nœud de sortie XML identique s’affiche (comme illustré par l’illustration n° 6 ci-dessous).