Les enfants non obligatoires de chaque nœud dans l’arborescence sont triés par âge. En d’autres termes, le DOM connaît l’ordre dans lequel les nœuds enfants non obligatoires ont été ajoutés.
Pour chaque étape du traitement du formulaire, il existe un DOM contenant les structures de données pour cette étape. Les scripts peuvent examiner et modifier chaque DOM. Les DOM sont chargés de maintenir la cohérence interne, mais non pas externe. Par exemple, lorsqu’un script active un bouton radio en attribuant le champ correspondant, tous les autres boutons couplés à celui-là sont automatiquement désactivés. Il s’agit de la cohérence interne, gérée par le DOM du formulaire lui-même.
En revanche, le DOM de données n’effectue aucune action pour empêcher un script de violer les règles de XML, par exemple en attribuant à un objet deux propriétés ayant le même nom. Il s’agit de la cohérence externe, responsabilité de l’auteur du script et non pas celle du DOM.
Le modèle d’objet de formulaire XML est utilisé chaque fois qu’une conception de formulaire est associée à des données, afin de faciliter le processus de fusion de modèle et de données pour créer le formulaire qui en résulte. Ce processus commence par utiliser les représentations de DOM XML existantes de la conception du formulaire et les données XML pour créer des modèles distincts. Ces modèles distincts stockent une représentation structurée de la conception du formulaire et les données XML originales. Le DOM du modèle correspond à la conception du formulaire, et le DOM des données aux données XML fournies par l’utilisateur.
Après la création du modèle et des modèles de données, un troisième modèle est créé, le DOM du formulaire, qui représente les informations fusionnées. Le DOM du formulaire sert à combiner les valeurs spécifiques des données XML avec les règles de présentation définies par la conception du formulaire.
Après la création du DOM du formulaire, si vous créez un formulaire interactif, ce dernier est prêt à être déployé par les utilisateurs. Il est possible que les conceptions de formulaire interactives possèdent des données associées avec lesquelles elles sont fusionnées, mais la plupart des formulaires interactifs sont conçus pour prendre en charge des données saisies par l’utilisateur.
Le processus de création du DOM du formulaire est identique pour tous les formulaires. Les formulaires non interactifs disposent cependant d’un jeu de données devant être fusionné avec leur conception de formulaire. Dans le cas de formulaires ayant une mise en page fixe, la fusion de données ne détermine pas les règles de présentation du formulaire ; en d’autres termes, les données sont fusionnées dans les champs appropriés sans modifier les propriétés du champ. En revanche, lorsque des données sont fusionnées avec des formulaires ayant une mise en page souple, les champs augmentent ou diminuent pour prendre en compte la quantité des données fusionnées.
Le DOM du formulaire pour des formulaires disposant de mises en page fixes et souples est très similaire ; il s’agit d’un long formulaire sans pagination. Lorsque les données et les règles de présentations sont appliquées à ces types de formulaires, elles doivent être formatées selon les informations de mise en page. Un DOM de mise en page est créé à partir du DOM du formulaire qui structure le formulaire en pages et applique toutes les autres règles de page, telles la numérotation de pages, les caractères de début et les caractères de fin. Le diagramme suivant illustre ce processus.
Après l’application des règles de mise en page aux formulaires disposant d’une mise en page fixe ou souple, les deux types de formulaires sont terminés.