Bonjour, je me prends la tête avec l'imbitable grammaire XSD sur un truc simple. J'ai besoin de doc XML de la sorte :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<notes> --> c'est la racine donc une seule occurrence et pas de données dedans.
   <note utilisateur="tartempion" horodatage="2017-01T01:20:33:44"> --> c'est un ensemble non limité de notes avec comme attribut un nom d'utilisateur et une date heure de postage
      bla bla bla --> le contenu de la note elle même
   </note>
   <note utilisateur="tduchemol" horodatage="2017-02-13T11:12:13"> 
      lkedzj pùzef EZAFR ùpoezafr  w!setj 
   </note>
</notes>
Voici le schéma que j'ai tenté :

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
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  targetNamespace="http://XSpace.com/ODS" 
  xmlns="http://XSpace.com/ODS" 
  elementFormDefault="qualified">
 
 <xs:annotation>
  <xs:documentation xml:lang="en">
   Purchase order schema for Example.com.
   Copyright 2000 Example.com. All rights reserved.
  </xs:documentation>
 </xs:annotation>
 
 <xs:element name="notes" type="XMLnotes"/>
 
 <xs:complexType name="XMLnotes">
   <xs:sequence>
     <xs:element name="notes" minOccurs="0" maxOccurs="1" type="ALLnotes"/>
   </xs:sequence>
 </xs:complexType>
 
 <xs:complexType name="ALLnotes">
   <xs:sequence>
     <xs:element name="note" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
   </xs:sequence>
   <xs:attribute name = "horodatage" type = "xs:dateTime"/>
   <xs:attribute name = "utilisateur" type = "xs:string"/>
 </xs:complexType>
 
</xs:schema>
Sauf que ça marche pas.... Quand j'essaye de valider ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
'<notes>
   <note horodatage ="2016-01-01T11:21:33" utilisateur = "tartempion">
bla bla bla
   </note>
</notes>'
Il me répond : Validation XML*: déclaration introuvable pour l'élément 'notes'. Emplacement*: /*:notes[1]

Merci de me dire ce qui ne va pas !

A +