IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Valider XML Discussion :

Validation XSD SEPA


Sujet :

Valider XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 38
    Points : 23
    Points
    23
    Par défaut Validation XSD SEPA
    <Document xmlns="urn:iso:std:iso:20022:techsd:pain.008.001.02" xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="urn:iso:std:iso:20022:techsd:pain.008.001.02 PAIN.008.001.02.xsd">
    et le message d'erreur que j'obtiens lorsque je veux valider le fichier XML
    L'attribut «*{http://www.w3.org/2001/XMLSchema-instance}SchemaLocation*» n'est pas défini.
    dans PAIN.008.001.02
    <xs:schema xmlns="urn:iso:std:iso:20022:techsd:pain.008.001.02" xmlnss="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:iso:std:iso:20022:techsd:pain.008.001.02" elementFormDefault="qualified">
    Et voici enfin l'objet que j'utilise pour valider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    xmldoc = COMate_CreateObject("Msxml2.DOMDocument.6.0")
    schemaCache = COMate_CreateObject("Msxml2.XMLSchemaCache.6.0");
    SchemaCache\SetProperty("add( 'urn:iso:std:iso:20022:tech:xsd:pain.008.001.02','" +pain+"')" )
    xmldoc\SetProperty("ResolveExternals = #False") 
    xmldoc\SetProperty("schemas = " + Str(SchemaCache)+" As COMateObject")
    xmldoc\SetProperty("ValidateOnParse=#True") 
    xmldoc\SetProperty("setProperty('MultipleErrorMessages',#True)")
    xmldoc\SetProperty("async=#False")
     
    xmldoc\Invoke("Load('" +sXML + "')")
    Quelqu'un pourrait-il m'aider
    Merci par avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    schemaLocation commence par une minuscule, comme tout ce que le W3C recommande à propos de XML.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 38
    Points : 23
    Points
    23
    Par défaut
    J'ai testé avec vos recommandations ça nz marche pas mieux car le test de validité ressort bon alors que le fichier présente des anomalies
    Je suis complétement perdu

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    On va pas deviner... C'est quoi le fichier, c'est quoi le schéma ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 38
    Points : 23
    Points
    23
    Par défaut
    Bonjour,
    Excuse moi voila le schema pain.008.001.02 ainsi que le fichier testsepa.xml
    Merci par avance car je suis complétement perdu.
    Peut être le probleme provient-t-il de ma programmation
    Fichiers attachés Fichiers attachés

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Ouaip, c'est là l'un des inconvénients de XML Schema. Il vérifie la validité des éléments qui sont dans le namespace qui le concerne. Mais il ne vérifie pas si l'élément racine en est.

    Ton XSD définit la validité des éléments qui sont dans un certain namespace. Ton XML ne contient que des éléments sans namespace (ce qui est probablement une erreur.)

    À la vérification, le validateur ne trouve donc aucun élément qui le concerne, donc rien à vérifier. Nombre d'erreurs de validation : zéro. Donc le document est valide.

    Ton XML devrait indiquer un truc du genre xmlns="quelquechose" et xsi:noNamespaceSchemaLocation devrait être remplacé par un xsi:schemaLocation bien fait.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 38
    Points : 23
    Points
    23
    Par défaut
    Ton XML devrait indiquer un truc du genre xmlns="quelquechose" et xsi:noNamespaceSchemaLocation devrait être remplacé par un xsi:schemaLocation bien fait.
    Ce fichier est un fichier nomé ISO20022

    Voici la balise qui devrait être utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02 ">
    Mais même avec cette balise la validation ne marche pas

    Selon toi que faudrait-il mettre comme balise xmlns="quelquechose"
    et la syntaxe ci-dessus est-elle bonne ?
    Merci par avance

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Citation Envoyé par loupat456 Voir le message
    Voici la balise qui devrait être utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02 ">
    Non... Le xsi:schemaLocation doit aussi indiquer l'URI du fichier XSD.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 38
    Points : 23
    Points
    23
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02 ">
    Comme celà est-ce bon pour l'URI

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02 pain.008.001.02.xsd">
    Si ce n'est pas bon peux tu me dire ce qu'il faut mettre ?

  10. #10
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Ça a l'air ok mais bon, je sais pas où il est, moi, ton fichier .xsd. S'il est pas à côté du XML ça n'ira pas.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 38
    Points : 23
    Points
    23
    Par défaut
    Le XML et le XSD sont dans le même répertoire ça devrait donc marcher

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM XML] Validation XSD en PHP 4 et DOM_XML
    Par philippejuju dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 02/12/2008, 17h23
  2. [XSLT] Unable to locate a reference to a valid XSD
    Par scout dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 19/02/2007, 16h17
  3. [Word 2003] validation xsd
    Par mariemor64 dans le forum Valider
    Réponses: 4
    Dernier message: 29/06/2006, 18h14
  4. [XSLT] Xml validé XSD puis transformé via XSLT
    Par cash3000 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 16/06/2006, 13h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo