Des exemples d'utilisation des fonctions du WLangage
Rien de tel qu'un exemple pour comprendre une fonction de WLangage. Dans cette section, vous trouverez des exemples simples.
Des exemples évolués, où la fonction est utilisée en contexte, sont également disponible sur ce site.
TexteVersXML (en anglais TextToXML)
// Convertir une chaîne de caractères au format ANSI
// en une chaîne de caractères au format XML sChaineXML est une chaîne = TexteVersXML ( "L'appareil est > à celui-ci") // sChaineXML contient "L'appareil est > à celui-ci"
|
XMLAjouteAttribut (en anglais XMLAddAttribute)
// Ajout d'une nouvelle ligne de commande
XMLParent("CdeXML") XMLAjouteFils("CdeXML", "lignecommande", "", Vrai ) XMLAjouteAttribut("CdeXML", "numero", "2") // Ajout de la balise "codeproduit" XMLAjouteFils("CdeXML", "codeproduit", "sro2125") // Ajout de la balise "designation" XMLAjouteFils("CdeXML", "designation", "souris optique") // Ajout de la balise "quantité" XMLAjouteFils("CdeXML", "quantité", "15")
|
XMLAjouteFils (en anglais XMLAddChild)
// Ajout d'une nouvelle ligne de commande
XMLParent("CdeXML") XMLAjouteFils ("CdeXML", "lignecommande", "", Vrai ) XMLAjouteAttribut("CdeXML", "numero", "2") // Ajout de la balise "codeproduit" XMLAjouteFils ("CdeXML", "codeproduit", "sro2125") // Ajout de la balise "designation" XMLAjouteFils ("CdeXML", "designation", "souris optique") // Ajout de la balise "quantité" XMLAjouteFils ("CdeXML", "quantité", "15")
|
XMLAnnuleRecherche (en anglais XMLCancelSearch)
//Recherche de la balise "<prix>"
XMLRecherche("DocXML", "prix", XMLBalise ) TANTQUE XMLTrouve("DocXML") Info("Balise trouvée " + XMLNomElément("DocXML")) XMLSuivant("DocXML") FIN //Annule la recherche en cours XMLAnnuleRecherche ("DocXML") //Reprise d'un parcours standard XMLPremier("DocXML") TANTQUE PAS XMLEnDehors("DocXML") //Opérations XMLSuivant("DocXML") FIN
|
XMLConstruitChaine (en anglais XMLBuildString)
SourceXML est une chaîne
Res est un booléen //Chargement du contenu XML SourceXML = fChargeTexte("exemple.xml") //Création du document XML Res =XMLDocument("DocXML", SourceXML) // Modification du document XML SourceXML = XMLConstruitChaîne ("DocXML") //Enregistrement du fichier XML fSauveTexte("ExampleModifié.xml",SourceXML)
|
XMLDernier (en anglais XMLLast)
//Positionne sur le dernier élément
XMLDernier ("DocXML") TANTQUE PAS XMLEnDehors("DocXML") //Traitements des données XMLPrécédent("DocXML") FIN
|
XMLDocument (en anglais XMLDocument)
SourceXML est une chaîne
|
XMLDonnee (en anglais XMLData)
Valeur est une chaîne
Valeur = XMLDonnée ("DocXML") //Positionné sur une balise ? SI ErreurDétectée ALORS Erreur(ErreurInfo()) SINON //Test de la valeur SI Valeur = "" ALORS Erreur("L'élément en cours n'a pas de valeur") SINON Info("La valeur de l'élément courant est : " + Valeur) FIN FIN
|
XMLEnDehors (en anglais XMLOut)
//Lecture du premier élément
XMLPremier("DocXML") //Balise trouvée ? SI XMLEnDehors ("DocXML") = Faux ALORS Info("Balise courante : " + XMLNomElement("DocXML")) FIN
|
XMLExecuteXPath (en anglais XMLExecuteXPath)
// Chargement du fichier XML
Mondoc est une chaîne Mondoc = fChargeTexte("exemple.xml") // Texte de la requête : Recherche de la balise Index RequeteXPATH est une chaîne = "Aide/Fonction/Index" // Création du document XMLDocument("exemple", Mondoc) SI ErreurDétectée ALORS Erreur("le fichier n'est pas au format XML") RETOUR FIN b est un booléen b= XMLexécuteXPath ("mondoc", RequeteXPATH) //est-ce une requête de calcul SI b ET XMLEnDehors("mondoc") ALORS //voilà le résultat du calcul Trace("XMLResultat="+XMLRésultat("mondoc")) FIN //est-ce une requête XPATH de sélection ? SI XMLTrouve("mondoc") ALORS //parcours de la sélection résultat TANTQUE XMLTrouve("mondoc") Trace(XMLPosition("mondoc")) XMLSuivant("mondoc") FIN //parcours terminé, on termine la requête XMLAnnuleRecherche("mondoc") FIN
|
XMLExtraitChaine (en anglais XMLExtractString)
//Chargement du code XML
SourceXML est une chaîne = fChargeTexte("exemple.xml") Résultat est une chaîne i est un entier = 1 //Extraction du code XML contenu dans la première balise "<operation>" Résultat = XMLExtraitChaîne (SourceXML, "operation", i) TANTQUE Résultat <> "" Trace(Résultat) i = i + 1 //Extraction du code XML contenu dans la balise "<operation>" suivante Résultat = XMLExtraitChaîne (SourceXML, "operation", i) FIN
|
XMLExtraitDocument (en anglais XMLExtractDocument)
SourceXML est une chaîne
|
XMLFils (en anglais XMLChild)
//Récupération du contenu XML du fichier "commande.xml"
Source est une chaîne = fChargeTexte("commande.xml") //Création du document XML XMLDocument("CdeXML", Source) SI ErreurDétectée ALORS Erreur("Erreur lors de la création du document XML") RETOUR SINON //Parcours effectué avec XMLPremier, XMLSuivant //Positionne sur l'élément "<commande>" XMLPremier("CdeXML") //Descend d'un niveau et positionne sur l'élément "<numero>" XMLFils ("CdeXML") //Récupère le numéro de la commande NumCde est un entier = Val(XMLDonnée("CdeXML")) //contient 1 FIN
|
XMLFilsExiste (en anglais XMLChildExist)
Mondoc
est une chaîne
Mondoc = fChargeTexte("exemple.xml")
|
XMLInsereDocument (en anglais XMLInsertDocument)
Resultat est un booléen
|
XMLModifie (en anglais XMLModify)
// Positionnement sur la racine
// Remplacement des liens FIN
|
XMLNomElement (en anglais XMLElementName)
NomBalise est une chaîne
//Récupère le nom de l'élément en cours NomBalise = XMLNomElément ("DocXML") //Positionné sur un élément ? SI ErreurDétectée ALORS Erreur("Aucune balise en cours") SINON Info("Le nom de l'élément courant est : " + NomBalise) FIN
|
XMLNomParent (en anglais XMLParentName)
NomBalise est une chaîne
NomBalise = XMLNomParent ("DocXML") //Positionné sur une balise ? SI ErreurDétectée ALORS Erreur(ErreurInfo()) SINON Info("Le nom de la balise parente est : " + NomBalise) FIN
|
XMLParent (en anglais XMLParent)
//Parcours effectué avec XMLPremier, XMLSuivant ...
//Positionne sur l'élément "<commande>" XMLDernier("CdeXML") //remonte d'un niveau et positionne sur l'élément "<numero>" XMLParent ("CdeXML") //Récupère le numéro de la commande NumCde est un entier = Val(XMLDonnée("DocXML")) //contient 1 //Positionne sur l'élément suivant XMLSuivant("CdeXML") //Récupère la date de la commande DateCde est une chaîne = XMLDonnée(" CdeXML ") //"20/11/2002"
|
XMLPosition (en anglais XMLPath)
Res est une chaîne
Res = XMLPosition ("MonDocument") // Res est de la forme : /COMMANDE/LIGNECDE[2]@NUMERO sur un attribut // Res est de la forme : /COMMANDE/LIGNECDE[1] sur une balise fille // Res est de la forme : /COMMANDE sur une balise
|
XMLPrecedent (en anglais XMLPrevious)
//Positionne sur le dernier élément
XMLDernier("DocXML") TANTQUE PAS XMLEnDehors("DocXML") //Traitements des données XMLPrécédent ("DocXML") FIN
|
XMLPremier (en anglais XMLFirst)
//Positionne sur le premier élément
XMLPremier ("DocXML") TANTQUE PAS XMLEnDehors("DocXML") //Traitements des données XMLSuivant("DocXML") FIN
|
XMLRacine (en anglais XMLRoot)
SI XMLDocument("mondocXML",CodeXML) =
Vrai
ALORS FIN
|
XMLRecherche (en anglais XMLFind)
//Recherche à partir de la position courante
XMLRecherche ("DocXML", "pri", XMLBalise + XMLSousElément , XMLCommencePar ) TANTQUE XMLTrouve("DocXML") Info("Balise trouvée " + XMLNomElément("DocXML")) //Elément suivant dans la recherche XMLSuivant("DocXML") FIN XMLAnnuleRecherche("DocXML") //Positionne à la racine du document XMLRacine("DocXML") //Recherche à l'indentique à partir du début du document XMLRecherche ("DocXML", "prix", XMLBalise + XMLContinue , XMLExact ) TANTQUE XMLTrouve("DocXML") Info("Balise trouvée " + XMLNomElément("DocXML")) //Elément suivant dans la recherche XMLSuivant("DocXML") FIN XMLAnnuleRecherche("DocXML")
|
XMLResultat (en anglais XMLResult)
// Chargement du fichier XML
Mondoc est une chaîne Mondoc = fChargeTexte("exemple.xml") // Texte de la requête : Recherche de la balise Index RequeteXPATH est une chaîne = "Aide/Fonction/Index" // Création du document XMLDocument("exemple", Mondoc) SI ErreurDétectée ALORS Erreur("le fichier n'est pas au format XML") RETOUR FIN b est un booléen b=XMLexécuteXPath("mondoc", RequeteXPATH) //est-ce une requête de calcul SI b ET XMLEnDehors("mondoc") ALORS //voilà le résultat du calcul Trace("XMLResultat="+ XMLRésultat ("mondoc")) FIN //est-ce une requête XPATH de sélection ? SI XMLTrouve("mondoc") ALORS //parcours de la sélection résultat TANTQUE XMLTrouve("mondoc") Trace(XMLPosition("mondoc")) XMLSuivant("mondoc") FIN //parcours terminé, on termine la requête XMLAnnuleRecherche("mondoc") FIN
|
XMLRetourPosition (en anglais XMLRestorePosition)
SI XMLDocument("mondocXML",CodeXML) =
Vrai
ALORS
|
XMLSauvePosition (en anglais XMLSavePosition)
SI XMLDocument("mondocXML",CodeXML) =
Vrai
ALORS
|
XMLSuivant (en anglais XMLNext)
// Cas 1 : sans recherche
XMLPremier("DocXML") TANTQUE PAS XMLEnDehors("DocXML") //Traitements des données XMLSuivant ("DocXML") FIN
|
XMLSuivant (en anglais XMLNext)
// Cas 2 : avec recherche
XMLRecherche("DocXML", "balise") TANTQUE XMLTrouve("DocXML") //Traitements des données XMLSuivant ("DocXML") FIN
|
XMLTermine (en anglais XMLClose)
XMLTrouve (en anglais XMLFound)
// Rechercher la balise qui commence par "pri"
XMLRecherche("DocXML", "pri", XMLBalise + XMLSousElément , XMLCommencePar ) TANTQUE XMLTrouve ("DocXML") Info("Balise trouvée " + XMLNomElément("DocXML")) //Elément suivant dans la recherche XMLSuivant("DocXML") FIN
|
XMLTrouve (en anglais XMLFound)
// Parcours d'un document
XMLPremier("DocXML") //Balise trouvée ? SI XMLTrouve ("DocXML") ALORS Info("Balise courante : " + XMLNomElement("DocXML")) FIN
|
XMLTypeElement (en anglais XMLElementType)
XMLPremier("DocXML")
SELON XMLTypeElement ("DocXML") CAS XMLBalise : Info(XMLNomElément("DocXML")+" est de type XMLBalise") CAS XMLAttribut : Info(XMLNomElément("DocXML")+" est de type XMLAttribut") FIN
|
XMLVersTexte (en anglais XMLToText)
// Convertir une chaîne de caractères au format XML
// en une chaîne de caractères au format ANSI sChaîneAnsi est une chaîne sChaîneAnsi = XMLVersTexte ("X est > que Y") // sChaîneAnsi contient "X est > que Y"
|
XMLVersTexte (en anglais XMLToText)
Mondoc est une chaîne
Mondoc = fChargeTexte("
exemple.xml
")
Resultat est une chaîne i est un entier=1 Resultat=XMLExtraitChaine(Mondoc , "NOM", i) TANTQUE resultat<>"" Trace(resultat) i=i+1 Resultat= XMLVersTexte (XMLExtraitChaine(Mondoc , "NOM", i)) FIN
// Dans la trace, on doit voir apparaître :
// navets // echalotte
|