Windev : Valider un fichier XML avec un schéma XSD distant ou local sans ajouter de description dans le projet
Voici une méthode permettant d'effectuer la validation d'un fichier XML à l'aide d'un schéma XSD distant (Url) ou local, sans avoir à ajouter la description XSD dans la liste des éléments du projet.
La méthode décrite ici ne me convenait pas, car je voulais que le code soit le plus dynamique possible et non dépendant d'éléments intégrés dans le projet :
http://doc.pcsoft.fr/fr-FR/?xmldocumentvalide-fonction
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
LOCAL
sXMLDoc est un xmlDocument
//Chemin complet du fichier XML
sFiXML est une chaîne
//Url du fichier XSD
sUrlXSD est une chaîne
//Chemin complet du fichier XSD
sFiXSD est une chaîne
//Chaine contenant le code XSD
sXSD est une chaîne
sFiXML = ComplèteRep(fRepExe())+"MonFichier.xml"
//Dans mon cas, je vais chercher le fichier XSD à une Url pour le créer en local.
sUrlXSD = "http://Localhost/Description.xsd"
sFiXSD = ComplèteRep(fRepExe())+"Description.xsd"
SI HTTPRequête(sUrlXSD) ALORS
sXSD = HTTPDonneRésultat()
SI PAS fSauveTexte(sFiXSD,sXSD) ALORS
Erreur(ErreurInfo(errMessage))
RENVOYER Faux
FIN
SINON
Erreur(ErreurInfo(errMessage))
RENVOYER Faux
FIN
sXMLDoc = XMLOuvre(sFiXML,depuisFichier)
SI WL.ErreurDétectée ALORS
Erreur(ErreurInfo(errComplet))
RENVOYER Faux
FIN
SI PAS XMLDocumentValide(sXMLDoc,sFiXSD) ALORS
Erreur(ErreurInfo(errMessage))
RENVOYER Faux
SINON
Info("Le fichier XML"+RC+"'"+sFiXML+"'"+RC+"est valide !")
FIN |
Et voilà !
Bonne prog :ccool: