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

Format d'échange (XML, JSON...) Java Discussion :

Je n'arrive pas à définir le XSD pour ma structure XML


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut Je n'arrive pas à définir le XSD pour ma structure XML
    Bonjour,

    Je ne m'y connais pas trop en XSD. J'ai une structure XML qui ressemble à ceci :
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <root>
    	<resources>
    		<resource>
    			<path>/cuisine.php</path>
    			<versions>
    				<version>
    					<name>CUISINE1</name>
    					<value>/cuisine1.php</value>
    				</version>
    				<version>
    					<name>CUISINE2</name>
    					<value>/cuisine2.php</value>
    				</version>
    			</versions>
    		</resource>
    		<resource>
    			<path>/cuisine.php</path>
    			<versions>
    				<version>
    					<name>CUISINE1</name>
    					<value>/cuisine1.php</value>
    				</version>
    				<version>
    					<name>CUISINE2</name>
    					<value>/cuisine2.php</value>
    				</version>
    			</versions>
    		</resource>
    	</resources>
    </root>
    Voici mon 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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
    		xmlns:tns="http://www.example.com/xml/example"
    		targetNamespace="http://www.example.com/xml/example">
     
        <element name="root" type="tns:root"/>
     
        <complexType name="root">
        	<sequence>
        		<element name="resources" type="tns:resource" maxOccurs="unbounded" minOccurs="1"/>
        	</sequence>
        </complexType>
     
        <complexType name="resource">
        	<sequence>
        		<element name="path" type="string" maxOccurs="1" minOccurs="1"/>
        		<element name="versions" type="tns:version" maxOccurs="unbounded" minOccurs="1"/>
        	</sequence>
        </complexType>
     
        <complexType name="version">
        	<sequence>
        		<element name="name" type="string" maxOccurs="1" minOccurs="1"/>
        		<element name="value" type="string" maxOccurs="1" minOccurs="1"/>
        	</sequence>
        </complexType>
     
    </schema>
    Mais ça ne marche pas, j'ai l'erreur suivante lorsque je parse mon fichier XML avec JAXB2 (j'ai généré mes classes avec xjc) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 13; cvc-complex-type.2.4.a : Contenu non valide trouvé à partir de l'élément 'resources'. L'une des valeurs '{resources}' est attendue.]
    Je n'arrive pas à voir ce qui cloche :/
    Merci de votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    J'ai finalement trouvé la réponse comme un grand

    Voici la solution qui correspond davantage à la structure que je voulais adopter :
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <root>
     
    	<resource>
    		<path>/cuisine.php</path>
    		<versions>
    			<version>
    				<name>CUISINE1</name>
    				<value>/cuisine1.php</value>
    			</version>
    			<version>
    				<name>CUISINE2</name>
    				<value>/cuisine2.php</value>
    			</version>
    		</versions>
    	</resource>
    	<resource>
    		<path>/cuisine.php</path>
    		<versions>
    			<version>
    				<name>CUISINE1</name>
    				<value>/cuisine1.php</value>
    			</version>
    			<version>
    				<name>CUISINE2</name>
    				<value>/cuisine2.php</value>
    			</version>
    		</versions>
    	</resource>
     
    </root>
    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
    40
    41
    42
    43
    44
    45
    46
     
    <?xml version="1.0" encoding="UTF-8"?>
    <schema
    	xmlns="http://www.w3.org/2001/XMLSchema"
    	xmlns:tns="http://www.example.com/xml/example"
    	targetNamespace="http://www.example.com/xml/example">
     
    	<element name="root">
    		<complexType>
    			<sequence>
    				<element ref="tns:resource" maxOccurs="unbounded" minOccurs="1" />
    			</sequence>
    		</complexType>
    	</element>
     
    	<element name="resource">
    		<complexType>
    			<sequence>
    				<element ref="tns:path" />
    				<element ref="tns:versions" maxOccurs="unbounded" minOccurs="1" />
    			</sequence>
    		</complexType>
    	</element>
     
    	<element name="versions">
    		<complexType>
    			<sequence>
    				<element ref="tns:version" maxOccurs="unbounded" minOccurs="1" />
    			</sequence>
    		</complexType>
    	</element>
     
    	<element name="version">
    		<complexType>
    			<sequence>
    				<element ref="tns:name" />
    				<element ref="tns:value" />
    			</sequence>
    		</complexType>
    	</element>
     
    	<element name="path" type="string" />
    	<element name="name" type="string" />
    	<element name="value" type="string" />
     
    </schema>

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

Discussions similaires

  1. [PHP 5.3] Je n'arrive pas à récupérer un fichier pour le lire (csv)
    Par beegees dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2011, 10h02
  2. Réponses: 8
    Dernier message: 10/02/2009, 00h04
  3. Je n'arrive pas à faire sans stop() pour un thread
    Par PaladinFr dans le forum Concurrence et multi-thread
    Réponses: 2
    Dernier message: 15/03/2007, 14h37
  4. Réponses: 10
    Dernier message: 17/10/2005, 11h07

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