Elément TemplateTag d'un fichier de définition de modèle
L'élément TemplateTag est utilisé avec TemplateDocument dans le fichier de définition de modèle. Plusieurs éléments TemplateTag peuvent être définis pour chaque message XML entrant. Toutefois, chaque élément TemplateTag doit être lié a un élément TemplateDocument à l'aide de l'attribut name. La valeur associée à l'attribut name
doit correspondre à la valeur qui figure dans le sous-élément TemplateTagName
d'un élément TemplateDocument défini avec le fichier de définition de modèle.
Chaque élément TemplateTag contient une liste de définitions de marques dans le sous-élément Tag. L'élément Tag peut contenir les cinq attributs suivants :
- XPath : chemin d'accès de l'élément XML, relatif à l'élément StartElement
indiqué dans le TemplateDocument. L'élément XPath
est déterminant pour chercher le nom de zone de la paire nom-valeur. Exemples de chemins XPath :
- E1/E2 : élément E2, qui est imbriqué dans l'élément E1. Vous trouverez ci-dessous un exemple de ce type de chemin d'accès :
XPath='Address/ZipCode'
E1/E2/E3 : élément E3, qui est imbriqué dans l'élément E2, qui est imbriqué dans l'élément E1. Vous trouverez ci-dessous un exemple de ce type de chemin d'accès :
XPath='ContactInfo/Address/ZipCode'
- E3@a1 : attribut a1 dans l'élément E3. Vous trouverez ci-dessous un exemple de ce type de chemin d'accès :
XPath='InvoiceInfo@InvoiceType'
Dans ce cas, l'attribut InvoiceType peut être utilisé pour indiquer à quel type de factures, parmi plusieurs types, s'applique le message.
- E4[1] : première instance de l'élément E4. Il peut y avoir plusieurs instances d'E4. Par exemple, vous pouvez utiliser ce format qui comporte plusieurs lignes pour une adresse. Chaque ligne de l'adresse peut être contenue dans un élément Tag distinct.
- E5[@a2="value 2"] : instance de l'élément E5, où l'attribut a2 de E5 est équivalent à "value 2". Par exemple, vous pouvez utiliser le format suivant :
XPath='InvoiceInfo[@InvoiceType="ShippingInvoice"]
E5[@a1="value1"][@a2="value 2"] : instance de l'élément E5, où l'attribut a1 de E5 est équivalent à '"value1", et où l'attribut a2 de E5 est équivalent à "value 2".
- XPathType : type d'élément indiqué dans XPath. Cet attribut indique comment l'élément XML doit être traité par l'outil d'analyse XML. Les types pris en charge sont les suivants :
- PCDATA : l'élément ou l'attribut de l'élément contient des données entrantes, brutes, qui seront traitées et renvoyées dans une paire nom-valeur. Il s'agit de la valeur par défaut de XPathType.
- EMPTY : l'élément est vide ou contient des données qui peuvent être ignorées. Aucune paire nom-valeur n'est renvoyée pour cet élément.
- REPEAT : l'élément peut avoir plusieurs instances. Chaque PCDATA d'élément est renvoyé dans une paire nom-valeur.
- ATTRIBUTE : si le nom de la zone de l'élément est déterminé par la valeur d'un attribut, cet attribut doit avoir le type ATTRIBUTE.
- VECTOR : une nouvelle table de hachage sera ajoutée à Vector et toutes les paires nom-valeur générées pour les sous-éléments seront placées dans la nouvelle table de hachage.
- USERDATA : indique un élément défini par l'utilisateur. L'élément
a un attribut appelé name dont la valeur est le nom de la zone. Les données de l'élément sont renvoyées dans une paire nom-valeur.
- Field : nom de la zone de la paire de valeurs de noms qui sera
incluse dans l'attribut TypedProperty.
Ce nom doit correspondre au nom d'un paramètre utilisé par l'instruction appelée.
- FieldType : type de la zone de données. Le type de zone peut être String ou Date (format de date ISO 8601). String est la valeur par défaut.
- FieldInfo : indique le TypedProperty dans lequel la paire nom-valeur doit être placée. Data est la valeur par défaut. Si vous voulez placer la paire nom-valeur dans plusieurs TypedProperty, vous devez spécifier plusieurs des valeurs indiquées dans la liste ci-dessous, séparées par des virgules :
- Data : la paire nom-valeur sera placée dans l'objet commandProperty
qui contient les arguments de l'instruction.
- Control : la paire nom-valeur sera placée dans un
messageProperty qui contient les données de contrôle de l'instruction, par exemple USERID ou PASSWORD
- Command : la paire nom-valeur est utilisée pour déterminer l'instruction à appeler.
Les paires nom-valeur générées sont utilisées dans l'élément CommandMapping de TemplateDocument.
Si l'élément XPath est introuvable dans le modèle de marque, l'élément XPath figurant dans le
message XML est utilisé comme nom de zone, le XPathType étant PCDATA, ce qui génère une paire
nom-valeur utilisant XPath comme nom de zone.
Pour voir un exemple d'utilisation de l'élément TemplateTag, reportez-vous au
fichier sys_template.xml.