Élément TemplateTag d'un fichier de définition de modèle
Les fichiers de définition de modèle utilisent les éléments
TemplateTag et TemplateDocument. Plusieurs éléments TemplateTag peuvent être définis pour chaque message XML entrant. Chaque élément TemplateTag doit être lié à un élément TemplateDocument à l'aide de l'attribut name. La valeur associée à l'attribut name doit correspondre à la valeur d'un sous-élément TemplateTagName dans un élément TemplateDocument défini dans le fichier de définition de modèle.Chaque élément TemplateTag contient une liste de définitions de balises 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, par rapport au
StartElementl'indiqué dansTemplateDocument. L'élémentXPathest la clé pour trouver le nom de champ de la paire nom-valeur. Les exemples suivants illustrent la valeur qui peut être utilisée pour l'attributXPath:- E1/E2 - L'élément E2 est imbriqué dans l'élément E1.
XPath='Address/ZipCode'
- E1/E2/E3 - L'élément E3 est imbriqué dans l'élément E2, qui est imbriqué dans l'élément E1.
XPath='ContactInfo/Address/ZipCode'
- E3@a1 - L'attribut a1 est imbriqué dans l'élément E3.
XPath='InvoiceInfo@InvoiceType'
L'attributInvoiceTypepeut être utilisé pour indiquer à quel type de facture le message s'applique. - E4[1] - Première instance, l'élément E4. Il peut y avoir plusieurs instances d'E4. Par exemple, vous pouvez utiliser ce format lorsque vous avez plusieurs lignes d'une adresse. Chaque ligne de l'adresse est contenue dans un élément de balise distinct.
- E5[@2="value 2"] - Instance de l'élément E5, où l'attribut a2 dans E5 est égal à
"value 2".XPath='InvoiceInfo[@InvoiceType="ShippingInvoice"]
E5[@a1="value1"][@a2="value 2"] - Instance de l'élément E5, où l'attribut a1 d'E5 est égal à
'"value1", et l'attribut a2 d'E5 est égal à"value 2".
- E1/E2 - L'élément E2 est imbriqué dans l'élément E1.
XPathType- Type d'élément indiqué dans le XPath. Cet attribut indique comment l'élément XML doit être traité par l'analyseur XML. Les types de données suivants sont admis pour l'attribut.
- PCDATA
- L'élément ou l'attribut de l'élément contient des données brutes entrantes qui sont traitées et renvoyées dans une paire nom-valeur. Il s'agit du type de valeur par défaut pour
XPathType. - EMPTY
- L'élément est vide ou contient des données qui peuvent être ignorées. Aucune paire nom-valeur n'est retournée pour cet élément.
- REPEAT
- L'élément peut avoir plusieurs instances. Le
PCDATAde chaque élément est retourné dans une paire nom-valeur. - ATTRIBUTE
- Si le nom du champ d'élément est déterminé par la valeur d'un attribut, cet attribut doit présenter le type
ATTRIBUTE. - Vector
- Un nouveau tableau de hachage est ajouté au vecteur, et toutes les paires nom-valeur générées pour les sous-éléments sont mises dans le nouveau tableau de hachage.
- USERDATA
- Indique un élément défini par l'utilisateur. L'élément a un attribut appelé
namedont la valeur est le nom de champ. Les données de l'élément sont retournées dans une paire nom-valeur.
- Zone
- Nom de champ de la paire nom-valeur renseigné dans
TypedProperty. La valeur de cet attribut doit correspondre au nom d'un paramètre utilisé par la commande appelée. - FieldType
- Type de zone de données. Le type de zone peut être
StringouDate(format de date ISO 8601). La valeur par défaut estString. - FieldInfo
- Indique dans
TypedPropertylaquelle la paire nom-valeur doit être placée. La valeur par défaut estData. Si vous souhaitez placer la paire nom-valeur dans plus d'uneTypedProperty, vous devez spécifier plusieurs des valeurs suivantes, séparées par une virgule :- Data
- La paire nom-valeur est intégrée à la carte des propriétés de la demande de l'objet
CommandPropertyqui contient des arguments pour la commande. - Contrôle
- La paire nom-valeur est intégrée à la carte des propriétés d'exécution de l'objet
CommandPropertyqui contient des informations de contrôle pour la commande, telles que USERID ou PASSWORD. Ces paires nom-valeur sont généralement utilisées avant l'exécution de la logique métier réelle, telles que la validation de l'utilisateur / le contrôle d'accès. - Commande
- La paire nom-valeur est utilisée pour déterminer la commande à appeler. Les paires nom-valeur générées sont utilisées dans l'élément
CommandMappingde l'élémentTemplateDocument.
Si l'élément XPath n'est pas trouvé dans le modèle de balise, le XPath dans le message XML est utilisé comme nom de champ et XPathType est PCDATA. Une paire nom-valeur est générée en utilisant XPath comme nom de champ.
Pour un exemple de la façon dont l'élément TemplateTag est utilisé, reportez-vous au fichier sys_template.xml.