Élément TemplateDocument, d'un fichier de définition de modèle
Pour chaque message XML entrant, il doit y avoir au moins un document de modèle défini dans le message. Il est défini dans l'élément TemplateDocument.
L'élément TemplateDocument comporte quatre sous-éléments :
- DocumentType (avec un attribut de version facultatif)
- Cette partie spécifie le nom du document XML ou le nom de l'élément racine et l'attribut "version" de l'élément racine s'il existe. Voici un exemple de l'élément DocumentType :
<DocumentType version='1.0'>Reset_Password</DocumentType> - StartElement
- Cette partie spécifie l'élément à partir duquel le mappeur de message XML démarre le mappage de balises. Cela doit correspondre à un élément du DTD pour le message. Le mappage de balise génère les paires nom-valeur qui sont utilisées comme paramètres de commande. Voici un exemple de l'utilisation de StartElement :
Dans cet exemple, il doit y avoir un élément nommé PasswordInfo défini dans le fichier DTD pour ce message. Par exemple, le fichier DTD doit contenir une ligne telle que la suivante qui définit un élément PasswordInfo :<StartElement>PasswordInfo</StartElement><!ELEMENT PasswordInfo (Password, ConfirmPassword)> - TemplateTagName
- Cette partie spécifie le mappage de balises à utiliser pour le message. Le mappage de balises est défini ailleurs dans le fichier de définition de modèle sous l'élément TemplateTag. Cela signifie que la valeur de l'élément TemplateTagName doit correspondre à l'attribut de nom d'un élément TemplateTag qui apparaît quelque part dans le fichier de définition de modèle. Pour plus de détails, reportez-vous à la section sur l'élément TemplateTag. L'exemple suivant illustre l'utilisation de l'élément TemplateTagName :
- CommandMapping
- Cet élément détermine les commandes appelées par le message. L'élément contient un sous-élément appelé Command. L'élément Command est utilisé pour indiquer la commande de contrôleur HCL Commerce qui s'exécute lorsque le message est mappé avec succès. Il contient un attribut obligatoire appelé CommandName, qui est utilisé pour indiquer le nom de la commande. La valeur de cet attribut doit correspondre à une commande existante enregistrée dans les fichiers de configuration Struts. Par exemple, vous pouvez associer un message à la commande qui réinitialise un mot de passe à l'aide de la syntaxe suivante :
Pour plus d'informations, voir la rubrique personnalisation de la configuration de l'application Web HCL Commerce basée sur Struts.<CommandMapping> <Command CommandName='ResetPassword'/> </CommandMapping>Vous pouvez également associer plusieurs commandes au même message. Pour ce faire, vous devez utiliser les attributs supplémentaires suivants de l'élément Command :
- Attribut de condition : La syntaxe de la condition est la suivante ( [] représente un élément facultatif, * signifie qu'un élément peut être répété) :
nomZonefieldName [="fieldValue "] [AND fieldName [="fieldValue "]]*- fieldName="fieldValue "
- Une valeur du message XML est définie dans le champ de fieldName. Lorsque le message est mappé, si la valeur est la même que fieldValue, la condition est vraie.
- fieldName1="fieldValue1" ET fieldName1="fieldValue2"
- Les valeurs du message XML sont définies dans le champ fieldName1 et fieldName2 lorsque le message est analysé. Si les valeurs sont identiques à fieldValue1 et fieldValue2 respectivement, la condition est vraie.
- Attribut de condition : La syntaxe de la condition est la suivante ( [] représente un élément facultatif, * signifie qu'un élément peut être répété) :
- Attribut TemplateTagName
- Si vous spécifiez l'attribut TemplateTagName pour cet élément Command, chaque fois que la condition devient vraie, un nouveau modèle de balise avec le nom défini dans TemplateTagName sera utilisé pour le reste du message XML entrant.