Logo du forum
 

Forum TTH-News

| Inscription | | Recherche | | FAQ | | Accueil | | Liste des membres |
| Calendrier |
 
Vous n'êtes pas identifié! [Connexion] ou [Inscription] Forum » Programmation » [XML/XSL] » prise de tête fichier xsd
Login Mot de passe

1 visiteurs sur ce topic (0 membre(s), 1 invité(s) )


Auteur
Sujet : prise de tête fichier xsd
Aquillon
Vétéran
Membre # 6518

 Avatar du membre
Lieu : Genève

Messages :
3749 (0.63 par jour)


Score :

Message du 23-11-2007 @ 12:11   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   


Salut,
j'ai un petit soucis avec mon fichier xsd.
Je souhaite réaliser mon fichier de façon à ce qu'il permette plusieurs choix pour certaine balise xml

voici mon fichier xml :
Code :

<?xml version="1.0" encoding="iso-8859-1"?>
<bibliographie xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Program Files\EasyPHP1-8\www\exercice2_bibliographie1.xsd">
   <livre>
      <isbn>123456789</isbn>
      <datePublication>2007-11-20</datePublication>
      <nomEditeur>Editeur</nomEditeur>
      <titre>Titre du livre</titre>
      <langue attribut="fr" />
      <auteur>
         <nom>Nom</nom>
         <prenom>Prénom</prenom>
      </auteur>
      <resume attribut="FR">résumé du livre en français</resume>
      <prix attribut="eur">8</prix>
      <copyright>Copyright</copyright>
   </livre>
</bibliographie>



et mon fichier xsd :
Code :

<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.w3.org/2001/XMLSchema file:/C:/Program%20Files/Exchanger%20XML%20Lite%203.2/types/XML%20Schema/Validation/XMLSchema.xsd">
   
   <!--Définition du type_enfant_langue-->
   <xsd:complexType name="type_enfant_langue">
      <xsd:simpleContent>
            <xsd:attribute name="attribut" use="required">
               <xsd:simpleType>
                  <xsd:restriction base="xsd:NMTOKEN">
                     <xsd:enumeration value="fr" />
                     <xsd:enumeration value="en" />
                  </xsd:restriction>
               </xsd:simpleType>
            </xsd:attribute>
      </xsd:simpleContent>
   </xsd:complexType>
   
   <!--Définition du type_enfant_resume-->
   <xsd:complexType name="type_enfant_resume">
      <xsd:simpleContent>
         <xsd:extension base="valeurs_enfant_resume">
            <xsd:attribute name="attribut" use="required">
               <xsd:simpleType>
                  <xsd:restriction base="xsd:NMTOKEN">
                     <xsd:enumeration value="FR" />
                     <xsd:enumeration value="EN" />
                  </xsd:restriction>
               </xsd:simpleType>
            </xsd:attribute>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="valeurs_enfant_resume">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="résumé du livre en français" />
         <xsd:enumeration value="résumé du livre en anglais" />
      </xsd:restriction>
   </xsd:simpleType>
   
   <!--Définition du type_enfant_prix-->
   <xsd:complexType name="type_enfant_prix">
      <xsd:simpleContent>
         <xsd:extension base="valeurs_enfant_prix">
            <xsd:attribute name="attribut" use="required">
               <xsd:simpleType>
                  <xsd:restriction base="xsd:NMTOKEN">
                     <xsd:enumeration value="eur" />
                     <xsd:enumeration value="usd" />
                  </xsd:restriction>
               </xsd:simpleType>
            </xsd:attribute>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="valeurs_enfant_prix">
      <xsd:restriction base="xsd:integer">
         <xsd:enumeration value="12" />
         <xsd:enumeration value="8" />
      </xsd:restriction>
   </xsd:simpleType>
   
   <xsd:element name="bibliographie">
      <xsd:complexType>
         <xsd:sequence>
            <xsd:element name="livre">
               <xsd:complexType>
                  <xsd:sequence>
                     <xsd:element name="isbn" type="xsd:integer" />
                     <xsd:element name="datePublication" type="xsd:date" />
                     <xsd:element name="nomEditeur" type="xsd:string" />
                     <xsd:element name="titre" type="xsd:string" />
                     <xsd:element name="langue" type="type_enfant_langue" maxOccurs="1" />
                     <xsd:element name="auteur">
                        <xsd:complexType>
                           <xsd:sequence>
                              <xsd:element name="nom" type="xsd:string" />
                              <xsd:element name="prenom" type="xsd:string" />
                           </xsd:sequence>
                        </xsd:complexType>
                     </xsd:element>
                     <xsd:element name="resume" type="type_enfant_resume" maxOccurs="1" />
                     <xsd:element name="prix" type="type_enfant_prix" maxOccurs="1" />
                     <xsd:element name="copyright" type="xsd:string" />
                  </xsd:sequence>
               </xsd:complexType>
            </xsd:element>
         </xsd:sequence>
      </xsd:complexType>   
   </xsd:element>
</xsd:schema>



Donc en fait là par exemple pour la balise langue, je souhaite que l'attribut "fr" ou "en" soit bon. Sauf que mon fichier ne fonctionne pas, enfin oui mais non quoi ^^ si j'ouvre le fichier xml avec IE ça marche mais quand j'essaye de valider le fichier dans Exchanger XML Editor j'ai des erreurs ([Xerces-J 2.7.1] Validating "exercice2_bibliographie.xml" against "file:/C:/Program Files/EasyPHP1-8/www/exercice2_bibliographie.xsd" ...
Ln 7 Col 51 - s4s-elt-invalid-content.1: The content of 'type_enfant_langue' is invalid. Element 'attribute' is invalid, misplaced, or occurs too often.
1 Errors)

Et donc ben... je vois pas où est le soucis :sic: (en fait je ne sais même pas si ce que j'ai fait est correcte par rapport à ce que je souhaite réaliser :yeux:)
- Haut de page -
boubavic
Vétéran
Membre # 10228

 Avatar du membre
Lieu : Boulogne Billancourt

Messages :
3991 (0.7 par jour)


Score :

Message du 25-11-2007 @ 22:23   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Pourquoi tu déclares un type complexe pour "type_enfant_langue" alors que c'est un type simple

genre comme ca ca marcherait pas ?

Code :



<xsd:attribute name="type_enfant_langue" default="fr" use="required">
   <xsd:simpleType name="type_enfant_langue">
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="fr"/>
      <xsd:enumeration value="en"/>
   </xsd:restriction>
   </xsd:simpleType>         
</xsd:attribute>



[message édité le 25-11-2007 @ 22:27 Par boubavic]
- Haut de page -


Aller dans le forum :  

Plan du forum | Contacter l'administrateur

Powered by SoulBB 3.0.1
© Soulmanto, 2003-2010

Valid XHTML 1.0 Transitional

Page générée en 0.025 secondes