Bonjour,
Je ne trouve pas mon erreur pour que mon XML Schéma soit valide.
Dans mon cas, j'ai un choix possible entre 2 attributs ainsi qu'un ajout de deux nouveaux attributs si un attribut prends une certaine valeur.
voici donc le xml schema et un xml exemple pour que vous compreniez bien ce que je veux :
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 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="manager"> <xsd:complexType> <xsd:sequence> <xsd:element ref="testimonial" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="author" type="xsd:string" use="required"/> <xsd:attribute name="version" type="xsd:string" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="testimonial" type="published"> <xsd:key name="att_choice"> <xsd:selector xpath="testimonial"/> <xsd:field xpath="@question|@answer"/> </xsd:key> </xsd:element> <xsd:complexType name="published" abstract="true"> <xsd:attribute name="id" type="xsd:int" use="required"/> <xsd:attribute name="question" type="xsd:int"/> <xsd:attribute name="answer" type="xsd:int"/> <xsd:attribute name="published" type="xsd:boolean" use="required"/> </xsd:complexType> <xsd:complexType name="published-true"> <xsd:simpleContent> <xsd:extension base="published"> <xsd:attribute name="modified" type="xsd:boolean" use="required"/> <xsd:attribute name="deleted" type="xsd:boolean" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="published-false"> <xsd:simpleContent> <xsd:extension base="published"/> </xsd:simpleContent> </xsd:complexType> </xsd:schema>nb : ne faites pas attention au contenu du xml exemple, c'est la fatigue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?xml version="1.0" encoding="iso-8859-15"?> <manager xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" author="ynostel" version="1.0"> <testimonial xsi:type="published-false" id="1" question="2" published="false">Il est temps d'aller se reposer...</testimonial> <testimonial xsi:type="published-false" id="2" question="4" published="false">Fini la sieste, il y a du taf pour Lundi !!</testimonial> <testimonial xsi:type="published-false" id="3" question="6" published="false">Tu es à la bourre. Bouges-toi le cul !</testimonial> <testimonial xsi:type="published-true" id="4" question="7" published="true" modified="false" deleted="false">Tu vas te faire virer si tu continues comme ca...</testimonial> <testimonial xsi:type="published-false" id="5" answer="4">Pause café !!!!</testimonial> </manager>
Partager