Création de formulaires adaptatifs à l’aide d’un schéma XML creating-adaptive-forms-using-xml-schema
Adobe recommande d’utiliser les composants principauxde capture de données modernes et extensibles pour créer de nouveaux formulaires adaptatifsou ajouter des formulaires adaptatifs à des pages AEM Sites. Ces composants représentent une avancée significative dans la création de formulaires adaptatifs, ce qui garantit des expériences utilisateur impressionnantes. Cet article décrit l’ancienne approche de la création de formulaires adaptatifs à l’aide de composants de base.
Conditions préalables prerequisites
La création d’un formulaire adaptatif à l’aide d’un schéma XML en tant que modèle de formulaire requiert des connaissances de base en matière de schémas XML. Il est également recommandé de lire le contenu suivant avant cet article.
Utilisation d’un schéma XML en tant que modèle de formulaire using-an-xml-schema-as-form-model
Experience Manager Forms prend en charge la création d’un formulaire adaptatif en utilisant un schéma XML existant en tant que modèle de formulaire. Ce schéma XML représente la structure dans laquelle les données sont générées ou utilisées par le système back-end de votre organisation.
Les principales caractéristiques de l’utilisation d’un schéma XML sont les suivantes :
- La structure du modèle XSD s’affiche sous forme d’arborescence sous l’onglet Outil de recherche de contenu en mode création pour un formulaire adaptatif. Vous pouvez faire glisser et ajouter un élément de la hiérarchie XSD dans le formulaire adaptatif.
- Vous pouvez préremplir le formulaire avec du code XML conforme au schéma associé.
- Au moment de l’envoi, les données saisies par l’utilisateur ou l’utilisatrice sont envoyées au format XML approprié pour le schéma associé.
Un schéma XML se compose de types d’éléments simples et complexes. Les éléments possèdent des attributs qui ajoutent des règles à ceux-ci. Lorsque ces éléments et attributs sont déplacés vers un formulaire adaptatif, ils sont automatiquement mis en correspondance avec les composants de formulaires adaptatifs correspondants.
Cette mise en correspondance des éléments XML avec les composants de formulaires adaptatifs est la suivante :
Exemple de schéma XML sample-xml-schema
Vous trouverez ci-dessous un exemple de schéma XML.
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="https://adobe.com/sample.xsd"
xmlns="https://adobe.com/sample.xsd"
xmlns:xs="https://www.w3.org/2001/XMLSchema"
>
<xs:element name="sample" type="SampleType"/>
<xs:complexType name="SampleType">
<xs:sequence>
<xs:element name="leaderName" type="xs:string" default="Enter Name"/>
<xs:element name="assignmentStartBirth" type="xs:date"/>
<xs:element name="gender" type="GenderEnum"/>
<xs:element name="noOfProjectsAssigned" type="IntType"/>
<xs:element name="assignmentDetails" type="AssignmentDetails"
minOccurs="0" maxOccurs="10"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AssignmentDetails">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="durationOfAssignment" type="xs:unsignedInt" use="required"/>
<xs:attribute name="numberOfMentees" type="xs:unsignedInt" use="required"/>
<xs:attribute name="descriptionOfAssignment" type="xs:string" use="required"/>
<xs:attribute name="financeRelatedProject" type="xs:boolean"/>
</xs:complexType>
<xs:simpleType name="IntType">
<xs:restriction base="xs:int">
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GenderEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="Female"/>
<xs:enumeration value="Male"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Ajout de propriétés spéciales aux champs à l’aide d’un schéma XML adding-special-properties-to-fields-using-xml-schema
Vous pouvez ajouter les attributs suivants aux éléments de schéma XML pour ajouter des propriétés spéciales aux champs du formulaire adaptatif associé.
- la mise en majuscule du premier caractère du nom de l’élément ;
- l’insertion d’un espace entre la casse mixte.
userFirstName
, la légende générée dans le formulaire adaptatif est User First Name
.Valeurs possibles de limite pour un composant de formulaire adaptatif limit-acceptable-values-for-an-adaptive-form-component
Vous pouvez ajouter les restrictions suivantes aux éléments de schéma XML pour limiter les valeurs possibles pour un composant de formulaire adaptatif :
Questions fréquemment posées frequently-asked-questions
Comment savoir quel élément de l’arborescence est associé à quel élément XML ?
Lorsque vous double-cliquez sur un élément dans l’Outil de recherche de contenu, une fenêtre pop-up affiche un nom de champ et une propriété appelée bindRef
. Cette propriété met en correspondance l’élément de l’arborescence avec l’élément ou l’attribut du schéma.
Le champ bindRef
affiche l’association entre un élément de l’arborescence et un élément ou un attribut d’un schéma.
@
dans la valeur bindRef
pour les différencier des éléments. Par exemple, /config/projectDetails/@duration
.Pourquoi est-ce que je ne parviens pas à faire glisser des éléments individuels d’un sous-formulaire (structure générée à partir de n’importe quel type complexe) pour les sous-formulaires répétables (les valeurs minOccurs ou maxOccurs sont supérieures à 1) ?
Dans un sous-formulaire répétable, vous devez utiliser le sous-formulaire complet. Si vous souhaitez uniquement des champs sélectifs, utilisez la structure entière et supprimez les champs indésirables.
Je dispose d’une longue structure complexe dans l’Outil de recherche de contenu. Comment puis-je trouver un élément spécifique ?
Vous disposez de deux options :
- Parcourez la structure de l’arborescence.
- Utilisez la zone Rechercher pour rechercher un élément.
Qu’est-ce qu’un bindRef ?
Un bindRef
est le lien entre un composant de formulaire adaptatif et un élément ou un attribut de schéma. Il détermine le XPath
où la valeur capturée à partir de ce composant ou champ est disponible dans le code XML de sortie. Un bindRef
sert également au préremplissage d’une valeur de champ d’un code XML prérempli.