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 :

[XSD] problème : le document est valide!


Sujet :

Valider XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 959
    Par défaut [XSD] problème : le document est valide!
    Bonjour,

    Voici mon problème: que ce soit avec eclipse+pack PHP all-in-one, ou avec XML Spy, les documents suivants sont valides:

    FICHIER videoclub2.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?xml version="1.0" encoding="UTF-8"?>
    <fiches xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="videoclub2.xsd">
    	<fiche>
    		<numéroDVD>1745</numéroDVD>
    		<titre>L'île au trésor</titre>
    		<date>1995</date>
    		<duréeMn>105</duréeMn>
    		<édigeur>Warner Home Video</édigeur>
    		<acteurs>
    			<acteur>Harrison Ford</acteur>
    			<acteur>Robert Redford</acteur>
    		</acteurs>
    		<langues>
    			<langue>Français</langue>
    		</langues>
    		<quantité>3</quantité>
    	</fiche>
    </fiches>
    et FICHIER videoclub2.xsd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.example.org/videoclub2">
    	<element name="fiches">
    		<complexType>
    			<sequence>
    				<element name="fiche" minOccurs="0" maxOccurs="unbounded"/>
    			</sequence>
    		</complexType>
    	</element>
    	<element name="fiche">
    		<complexType>
    			<sequence>
    				<element name="numéroDVD" type="int"/>
    				<element name="titre" type="string"/>
    				<element name="date" type="date"/>
    				<element name="duréeMn" type="int"/>
    				<element name="éditeur" type="string"/>
    				<element name="acteurs" minOccurs="0"/>
    				<element name="langues"/>
    				<element name="quantité"/>
    			</sequence>
    		</complexType>
    	</element>
    	<element name="acteurs">
    		<complexType>
    			<sequence>
    				<element name="acteur" type="string" maxOccurs="unbounded"/>
    			</sequence>
    		</complexType>
    	</element>
    	<element name="langues">
    		<complexType>
    			<sequence>
    				<element name="langue" type="string"/>
    			</sequence>
    		</complexType>
    	</element>
    </schema>
    Le hic, c'est que le fichier XML contient "édigeur" à la place de "éditeur".Les programmes de validation auraient dû le signaler...

    Avez-vous une explication?

  2. #2
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Bonjour,

    je ne m'explique pas trop la présence de cet espace de noms...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns:xsi="http://www.example.org/videoclub2
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 959
    Par défaut
    Bonjour,

    j'ai essayé de supprimer cet espace de noms, les fichiers sont toujours valides, mais XML Spy ne détecte toujours pas l'erreur...

    lolveley.

  4. #4
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Il y a deux problèmes dans ton schéma :

    1) Tu as défini deux éléments <fiche> ; un global, l'autre local dans la définition de <fiches>. Le local n'a pas de type précisé, donc par défaut il est de type xs:anyType, ce qui explique pourquoi il accepte n'importe quel contenu. Pour préciser que l'élément <fiche> référence le même <fiche> défini globalement, il faut utiliser l'attribut ref et non l'attribut name.

    2) Tu indiques que l'espace de noms par défaut est "http://www.w3.org/2001/XMLSchema", le problème est que cela englobe aussi les éléments que tu définis ; déclare un alias pour l'espace de nom WXS (généralement on prend xs ou xsd), et utilise-le devant chaque balise propre au WXS.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 959
    Par défaut
    Merci, grandFather; ça marche maintenant!

    lolveley.

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

Discussions similaires

  1. [XSD] Problème lors de la validation d'un xml
    Par TheRealWill dans le forum Valider
    Réponses: 2
    Dernier message: 29/09/2010, 14h12
  2. Réponses: 1
    Dernier message: 14/02/2007, 08h14
  3. [XSD] problème de validation
    Par anitshka dans le forum Valider
    Réponses: 1
    Dernier message: 23/11/2006, 12h38
  4. Savoir si mon document XML est valide
    Par jsaviola dans le forum Valider
    Réponses: 1
    Dernier message: 28/04/2006, 13h43
  5. [xsd->Shema || Jaxe]Document valide?
    Par Zenol dans le forum Valider
    Réponses: 2
    Dernier message: 04/12/2005, 16h10

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