Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2844 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  probleme XSD - XML schema

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme XSD - XML schema

n°1693087
beverley21
Posté le 26-02-2008 à 21:19:20  profilanswer
 

bonjour à tous
 
voila, je suis depuis 3 jours sur un probleme de XSD.
eclipse me souligne comme vous pouvez le voir si dessous et pas moyen de trouver le resultat.
 
http://bevounet.free.fr/xsd.jpg
 
je pensais qu'on pouvait mettre des max et min occurs dans les element et je ne pige pas les autres problemes non plus :sweat:  
c'est pour cela que je vous demande votre aide :sweat:  
voici mon code :  
 
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="TitreModule" type="xsd:string"/>
  <xsd:element name="IntroModule" type="xsd:string" maxOccurs="1" minOccurs="0" />
  <xsd:element name="titre" type="xsd:string" />
  <xsd:element name="Module" type="TypeModule" maxOccurs="unbounded" minOccurs="0"/>
  <xsd:complexType name="TypeModule">
     <xsd:sequence>
        <xsd:element name="titre" type="xsd:string" maxOccurs="1" minOccurs="0" />
        <xsd:element name="definition" type="xsd:string" maxOccurs="1" minOccurs="0" />
        <xsd:element name="illustrations" maxOccurs="unbounded" minOccurs="0" />  
        <xsd:element name="complement" type="TypeComplement" maxOccurs="1" minOccurs="0"/>  
        <xsd:complexType name="TypeComplement">
          <xsd:sequence>
            <xsd:element name="complement" type="xsd:string" maxOccurs="1" minOccurs="0" />  
            <xsd:element name="illustrations" maxOccurs="1" minOccurs="0" />
          </xsd:sequence>
        </xsd:complexType>
     </xsd:sequence>
  </xsd:complexType>
</xsd:schema>
 
je vous remerci pour votre sollicitude  
Beverley21

mood
Publicité
Posté le 26-02-2008 à 21:19:20  profilanswer
 

n°1699534
masklinn
í dag viðrar vel til loftárása
Posté le 09-03-2008 à 16:39:11  profilanswer
 

1. Lignes 4 et 6
 
xsd:element dans xsd:schema et dans un autre élément n'ont pas la même définition. Principalement, dans xsd:schema xsd:element n'a pas minOccurs et maxOccurs parce que ça n'a pas de sens. Ceux-ci apparaissent à l'utilisation de l'élément (via xsd:element @ref) puisqu'ils dépendent du type ou de l'élément au sein duquel on utilise le xsd:element ici défini.
 
2. Ligne 13, xsd:complexType n'est pas permis dans xsd:sequence. Suffit de regarder le message de ton validateur, il devrait te dire un truc du style

Citation :

Error:Error:line (12)cvc-complex-type.2.4.a: Invalid content was found starting with element 'xsd:complexType'. One of '{"http://www.w3.org/2001/XMLSchema":element, "http://www.w3.org/2001/XMLSchema":group, "http://www.w3.org/2001/XMLSchema":choice, "http://www.w3.org/2001/XMLSchema":sequence, "http://www.w3.org/2001/XMLSchema":any}' is expected.


qui me semble relativement clair...
 
3. Ligne 12, dans la mesure où il n'y a pas de définition valide pour "TypeComplement", la définition de l'élément est invalide (le symbole ne peut être résolu).
 
Pour résoudre ces problèmes:

  • Dégager les @minOccurs et @maxOccurs aux lignes 4 et 6
  • Placer la définition de TypeComplement dans xsd:schema si il va être utilisé pour d'autres éléments, ou bien inline dans le xsd:element s'il n'est utilisé qu'ici, et enlever son @name (voir xml final à la fin de mon post pour le dernier choix)
  • J'ajouterais d'utiliser un xsd:element @ref ligne 9 dans la mesure ou un élément "titre" a déjà été défini
  • @maxOccurs étant à "1" par défaut je ne vois pas l'intérêt de le respecifier à chaque fois, ne mettre que @minOccurs


Après un premier passage, ça donnerait:

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  3.    
  4.  <xsd:element name="TitreModule" type="xsd:string"/>
  5.  <xsd:element name="IntroModule" type="xsd:string"/>
  6.  <xsd:element name="titre" type="xsd:string" />
  7.  <xsd:element name="Module" type="TypeModule"/>
  8.  
  9.  <xsd:complexType name="TypeModule">
  10.     <xsd:sequence>
  11.        <xsd:element ref="titre" minOccurs="0" />
  12.        <xsd:element name="definition" type="xsd:string" minOccurs="0" />
  13.        <xsd:element name="illustrations" maxOccurs="unbounded" minOccurs="0" />
  14.        <xsd:element name="complement" minOccurs="0">
  15.            <xsd:complexType>
  16.                <xsd:sequence>
  17.                    <xsd:element name="complement" type="xsd:string" minOccurs="0" />
  18.                    <xsd:element name="illustrations" minOccurs="0" />
  19.                </xsd:sequence>
  20.            </xsd:complexType>
  21.        </xsd:element>
  22.     </xsd:sequence>
  23.  </xsd:complexType>
  24. </xsd:schema>


 
Mais j'avoue que le schéma est un peu bizarre (pourquoi avoir deux fois la définition d'un élément illustrations? À quoi servent TitreModule et IntroModule? Est-il vraiment utile de créer un type nommé pour Module?), et le style n'est pas fantastique: IntroModule, TitreModule et Module devraient au moins commencer par une minuscule, les majuscules c'est pour les types. Donc les renommer resp. introModule, titreModule et module, ou titre-module et intro-module pour les deux premiers. Mais ce sont imho des redondances inutiles, je ne vois pas l'intérêt d'avoir module/intro-module ou module/titre-module (cf répétition du mot module, module/titre et module/intro sont largement suffisants.
 
Enfin, j'ai tendance à coder en anglais (dans la mesure où tout ce qui est autour est de l'anglais) plutôt qu'en français.


Message édité par masklinn le 09-03-2008 à 16:40:07

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  probleme XSD - XML schema

 

Sujets relatifs
petit probleme de compréhension[RESOLU] problème avec $_SERVER['HTTP_REFERER'] et Flash
Problème d'import mysql ?[réglé] petite problème de code
Problème sur mon site, impossible de télécharger un fichierproblème d'affichage dans un thread différent du main
probleme input textproblème Java ME client web service
Probleme de regx avec un format dateproblème avec les conditions IF et les sessions
Plus de sujets relatifs à : probleme XSD - XML schema


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR