Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > WinDev > Contribuez
Contribuez Vos contributions pour la rubrique Windev : articles, cours, tutoriels, faq, comparatifs, tests, sources, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 15/06/2012, 17h55   #1
bastiencb
Membre régulier
 
Inscription : août 2005
Messages : 57
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 57
Points : 73
Points : 73
Par défaut 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
bastiencb est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h25.


 
 
 
 
Partenaires

Hébergement Web