Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred
Dans : news: jean saint jalmes écrit :
Bonjour,
Bonjour,
J'échange des requêtes XML avec un serveur HTTP. Ces requêtes XML répondent à deux schémas XSD.
Existe-t'il sous VB6.0 un outil qui permette de vérifier que les requêtes XML reçues sont conformes à un schéma XSD prédéfini ?
Sous VB6 non, mais il est possible de faire appel au composant MSXML Il y a un exemple ici : http://msdn.microsoft.com/library/en-us/xmlsdk/html/4b7d51a0-8fdc-4720-9f19-2063cca982f5.asp
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Dans : news:C9321D8D-4278-41CC-899B-0A4E024B0CD9@microsoft.com
jean saint jalmes écrit :
Bonjour,
Bonjour,
J'échange des requêtes XML avec un serveur HTTP.
Ces requêtes XML répondent à deux schémas XSD.
Existe-t'il sous VB6.0 un outil qui permette de vérifier que les
requêtes XML reçues sont conformes à un schéma XSD prédéfini ?
Sous VB6 non, mais il est possible de faire appel au composant MSXML
Il y a un exemple ici :
http://msdn.microsoft.com/library/en-us/xmlsdk/html/4b7d51a0-8fdc-4720-9f19-2063cca982f5.asp
J'échange des requêtes XML avec un serveur HTTP. Ces requêtes XML répondent à deux schémas XSD.
Existe-t'il sous VB6.0 un outil qui permette de vérifier que les requêtes XML reçues sont conformes à un schéma XSD prédéfini ?
Sous VB6 non, mais il est possible de faire appel au composant MSXML Il y a un exemple ici : http://msdn.microsoft.com/library/en-us/xmlsdk/html/4b7d51a0-8fdc-4720-9f19-2063cca982f5.asp
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
jean saint jalmes
Bonjour Fred et merci pour cette réponse très rapide.
J'ai immédiatement essayé cette méthode qui détecte bien les erreurs du type "Balise de fin absente" etc.... mais qui ne semble pas détecter le non respect du schéma.
J'ai volontairement supprimé un élément XML pourtant déclaré en "requiered" dans le schéma et la méthode ne détecte pas cette erreur. De même, j'ai modifié le type d'un attribut sans déclancher d'erreur.
Je précise que le schéma est défini dans le flux XML et que je l'ai aussi défini comme l'indique la méthode proposée.
Aurais-je oublié quelque chose ? Ci-dessous le code du programme VB6.0
Function ValidateFile(strFile As String) Dim x As New DOMDocument50 x.async = False x.validateOnParse = True x.resolveExternals = True x.setProperty "SelectionLanguage", "XPath" ' ns = "xmlns:x='urn:book'" (exemple microsoft) ns = "xmlns='urn:x-csrp:fr.csrp.protocole:enveloppe'" x.setProperty "SelectionNamespaces", ns
x.Load strFile If x.parseError.errorCode <> 0 Then ValidateFile = "Validation failed on " & _ strFile & vbCrLf & _ "=====================" & vbCrLf & _ "Reason: " & x.parseError.reason & _ vbCrLf & "Source: " & _ x.parseError.srcText & _ vbCrLf & "Line: " & _ x.parseError.Line & vbCrLf Else ValidateFile = "Validation succeeded for " & _ strFile & vbCrLf & _ "======================" & _ vbCrLf & x.xml & vbCrLf End If End Function
Bonjour Fred et merci pour cette réponse très rapide.
J'ai immédiatement essayé cette méthode qui détecte bien les erreurs du type
"Balise de fin absente" etc.... mais qui ne semble pas détecter le non
respect du schéma.
J'ai volontairement supprimé un élément XML pourtant déclaré en "requiered"
dans le schéma et la méthode ne détecte pas cette erreur. De même, j'ai
modifié le type d'un attribut sans déclancher d'erreur.
Je précise que le schéma est défini dans le flux XML et que je l'ai aussi
défini comme l'indique la méthode proposée.
Aurais-je oublié quelque chose ? Ci-dessous le code du programme VB6.0
Function ValidateFile(strFile As String)
Dim x As New DOMDocument50
x.async = False
x.validateOnParse = True
x.resolveExternals = True
x.setProperty "SelectionLanguage", "XPath"
' ns = "xmlns:x='urn:book'" (exemple microsoft)
ns = "xmlns='urn:x-csrp:fr.csrp.protocole:enveloppe'"
x.setProperty "SelectionNamespaces", ns
x.Load strFile
If x.parseError.errorCode <> 0 Then
ValidateFile = "Validation failed on " & _
strFile & vbCrLf & _
"=====================" & vbCrLf & _
"Reason: " & x.parseError.reason & _
vbCrLf & "Source: " & _
x.parseError.srcText & _
vbCrLf & "Line: " & _
x.parseError.Line & vbCrLf
Else
ValidateFile = "Validation succeeded for " & _
strFile & vbCrLf & _
"======================" & _
vbCrLf & x.xml & vbCrLf
End If
End Function
Bonjour Fred et merci pour cette réponse très rapide.
J'ai immédiatement essayé cette méthode qui détecte bien les erreurs du type "Balise de fin absente" etc.... mais qui ne semble pas détecter le non respect du schéma.
J'ai volontairement supprimé un élément XML pourtant déclaré en "requiered" dans le schéma et la méthode ne détecte pas cette erreur. De même, j'ai modifié le type d'un attribut sans déclancher d'erreur.
Je précise que le schéma est défini dans le flux XML et que je l'ai aussi défini comme l'indique la méthode proposée.
Aurais-je oublié quelque chose ? Ci-dessous le code du programme VB6.0
Function ValidateFile(strFile As String) Dim x As New DOMDocument50 x.async = False x.validateOnParse = True x.resolveExternals = True x.setProperty "SelectionLanguage", "XPath" ' ns = "xmlns:x='urn:book'" (exemple microsoft) ns = "xmlns='urn:x-csrp:fr.csrp.protocole:enveloppe'" x.setProperty "SelectionNamespaces", ns
x.Load strFile If x.parseError.errorCode <> 0 Then ValidateFile = "Validation failed on " & _ strFile & vbCrLf & _ "=====================" & vbCrLf & _ "Reason: " & x.parseError.reason & _ vbCrLf & "Source: " & _ x.parseError.srcText & _ vbCrLf & "Line: " & _ x.parseError.Line & vbCrLf Else ValidateFile = "Validation succeeded for " & _ strFile & vbCrLf & _ "======================" & _ vbCrLf & x.xml & vbCrLf End If End Function
Fred
Dans : news: jean saint jalmes écrit :
Bonjour Fred et merci pour cette réponse très rapide.
J'ai immédiatement essayé cette méthode qui détecte bien les erreurs du type "Balise de fin absente" etc.... mais qui ne semble pas détecter le non respect du schéma.
Il semble donc ne pas tenir compte du tout du schéma. Cette erreur est détectable sans schéma.
Je précise que le schéma est défini dans le flux XML et que je l'ai aussi défini comme l'indique la méthode proposée.
Je pense que l'erreur est là. Je t'ai donné un lien qui utilise un schéma «externe» Juste à côté de cet exemple, il y en a un autre qui conviendra mieux je pense : Validating with an Inline XSD Schema http://msdn.microsoft.com/library/en-us/xmlsdk/html/16b39a4a-04bc-4970-b926-411c9d6bcc30.asp
Aurais-je oublié quelque chose ? Ci-dessous le code du programme VB6.0
Le code proposé fonctionne très bien si le fichier xsd est placé dans le même répertoire que le fichier xml à analyser. C'est juste mon choix de l'exemple qui n'était pas bon !
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Dans : news:23090DEF-B4E3-448A-BEA5-9211C2A7C86A@microsoft.com
jean saint jalmes écrit :
Bonjour Fred et merci pour cette réponse très rapide.
J'ai immédiatement essayé cette méthode qui détecte bien les erreurs
du type "Balise de fin absente" etc.... mais qui ne semble pas
détecter le non respect du schéma.
Il semble donc ne pas tenir compte du tout du schéma. Cette erreur est
détectable sans schéma.
Je précise que le schéma est défini dans le flux XML et que je l'ai
aussi défini comme l'indique la méthode proposée.
Je pense que l'erreur est là. Je t'ai donné un lien qui utilise un
schéma «externe»
Juste à côté de cet exemple, il y en a un autre qui conviendra mieux je
pense :
Validating with an Inline XSD Schema
http://msdn.microsoft.com/library/en-us/xmlsdk/html/16b39a4a-04bc-4970-b926-411c9d6bcc30.asp
Aurais-je oublié quelque chose ? Ci-dessous le code du programme VB6.0
Le code proposé fonctionne très bien si le fichier xsd est placé dans le
même répertoire que le fichier xml à analyser.
C'est juste mon choix de l'exemple qui n'était pas bon !
Bonjour Fred et merci pour cette réponse très rapide.
J'ai immédiatement essayé cette méthode qui détecte bien les erreurs du type "Balise de fin absente" etc.... mais qui ne semble pas détecter le non respect du schéma.
Il semble donc ne pas tenir compte du tout du schéma. Cette erreur est détectable sans schéma.
Je précise que le schéma est défini dans le flux XML et que je l'ai aussi défini comme l'indique la méthode proposée.
Je pense que l'erreur est là. Je t'ai donné un lien qui utilise un schéma «externe» Juste à côté de cet exemple, il y en a un autre qui conviendra mieux je pense : Validating with an Inline XSD Schema http://msdn.microsoft.com/library/en-us/xmlsdk/html/16b39a4a-04bc-4970-b926-411c9d6bcc30.asp
Aurais-je oublié quelque chose ? Ci-dessous le code du programme VB6.0
Le code proposé fonctionne très bien si le fichier xsd est placé dans le même répertoire que le fichier xml à analyser. C'est juste mon choix de l'exemple qui n'était pas bon !