probleme XSD - XML schema - XML/XSL - Programmation
Marsh Posté le 09-03-2008 à 16:39:11
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:
Après un premier passage, ça donnerait:
Code :
|
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.
Marsh Posté le 26-02-2008 à 21:19:20
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.
je pensais qu'on pouvait mettre des max et min occurs dans les element et je ne pige pas les autres problemes non plus
c'est pour cela que je vous demande votre aide
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