XML-LECCOR : Lecture Correspondance XML
BUT
Cette fonction permet de rechercher dans un message XML toutes les balises de départ d’une référence de correspondance de modèle XML définie dans la bibliothèque des correspondances XML DIAPASON. Techniquement, cette fonction permet d’initialiser un contexte de fonctionnement à DIAPASON pour l’instruction pour Chaque Correspondance XML, ce dernier permettant d’initialiser le contexte ENR-ACT-ENT à partir d’une partie d’un message.
TYPE CARACTERE
SYNTAXE
PARAMETRES
Paramètre | E/S | O | Type | Description |
REF-MESSAGE-XML | E | Oui | Caractère | Référence Message XML mémorisé dans la structure WfEIAXmlMes : cette structure contient le contenu du message XML dans un format lisible par DIAPASON. Cette structure a été pré-initialisée avant l’exécution de la requête (requêtes REB contextuelles dans le cas de l’EIA) ou est initialisée avec la fonction XML-LECMES : l’initialisation permet de renseigner ou non une référence de message (utile uniquement dans le cas où il faut lire simultanément plusieurs messages). La valeur peut être MESSAGE-COURANT (cas où un seul message a été initialisé) ou bien peut être définie par une variable locale, une constante (locale ou globale) ou une variable contextuelle. |
MODELE-XML | E | Oui | Caractère | Référence modèle XML permettant d’identifier la correspondance à rechercher. Le modèle doit être défini dans la bibliothèque des modèles XML. La valeur peut être définie par une variable locale, une constante (locale ou globale) ou une variable contextuelle. |
VERSION-MOD-XML | E | Oui | Caractère | Version modèle XML permettant d’identifier la correspondance à rechercher. La version doit être définie dans la bibliothèque des modèles XML. La version peut être VERSION-DEFAUT ou peut être définie par une variable locale, une constante (locale ou globale) ou une variable contextuelle. |
CORRESP-MOD-XML | E | Oui | Caractère | Référence correspondance permettant d’identifier la correspondance à rechercher. La correspondance doit être définie dans la bibliothèque des modèles XML. La correspondance peut être définie par une variable locale, une constante (locale ou globale) ou une variable contextuelle. |
CLE-CORRESP | E | Oui | Caractère | Clé permettant d’identifier les différentes balises rencontrées dans le message qui sont le point de départ de la correspondance définie par les 3 paramètres précédents. Cette clé est utilisée dans l’instruction Pour Chaque Correspondance. La clé peut être définie par une variable locale, une constante (locale ou globale) ou une variable contextuelle. |
Suite à son exécution, cette fonction retourne une valeur sous forme de variable pour préciser si le déroulement a été correct ou non : la variable retournée est vide si la fonction s’est déroulée correctement, sinon la variable contient *ERR suivie d’un code et libellée d’erreur ou *INC si l’exécution n’a pas pu du tout être réalisée.
EXEMPLE
…
VLO.Fonction = XML-LECCOR( REF-MESSAGE-XML= MESSAGE-COURANT , MODELE-XML= CLO."Message_Articles" , VERSION-MOD-XML= VERSION-DEFAUT , CORRESP-MOD-XML= CLO."Article" , CLE-CORRESP= CLO."Article" )
POUR CHAQUE COR-XML DE LA REF-MESSAGE-XML= MESSAGE-COURANT ET CLE-CORRESP= CLO."Article" AVEC ERREUR= VLO.Erreur :
…
Dans cet exemple, on recherche dans le message courant, la correspondance référencée Article pour le modèle XML Message_Articles, dans sa version défaut ; toutes les balises de départ de correspondance seront mémorisées pour DIAPASON avec la clé identifiée par « Article ».
NOTES
Cette instruction permet d’initialiser un contexte de balises qui ne peut être utilisée que par DIAPASON lors de l’exécution de l’instruction Pour Chaque Correspondance XML (voir détail fonction POUR CHAQUE COR-XML.