Bonjour,

je n'arrive pas à valider mon XML comme j'ai envie et j'aimerai savoir si ce que j'ai fait est possible.

mon xml
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
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="Exercice_2.xsl" type="text/xsl"?>    
 
<organigramme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Exercice_2.xsd">
<service>
	<nom_service couleur="red">Direction</nom_service>
	<range>1</range>
	<longueur>20</longueur>
	<poste>
		<nom_poste>PDG</nom_poste>
		<nom>Monsieur Edmond VAZILLE</nom>
		<age>59</age>
		<formation>Math Elem (BAC+4)</formation>
		<anciennete>21</anciennete>
	</poste>
	<poste>
	<nom_poste>Secretaire</nom_poste>
	<nom>Madame Lucienne JULIOU</nom>
	<age>47</age>
	<formation>CAP sténo/dactylo(CAP)</formation>
	<anciennete>21</anciennete>
</poste>
</service>
</organigramme>
mon XML schéma
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
38
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
 
<xs:element name="organigramme" >
    <xs:complexType>
      <xs:sequence>
	          <xs:element ref="service" minOccurs="1" maxOccurs="unbounded"/>
	        </xs:sequence>
    </xs:complexType>
</xs:element>
 
 <xs:element name="service" >
    <xs:complexType>
      <xs:sequence>
        <xs:element name="nom_service"  type="xs:string" minOccurs="1" maxOccurs="1">
			<xs:complexType>
				<xs:attribute  name="couleur" type="xs:string" use="required"/>
			</xs:complexType>
		</xs:element>
        <xs:element name="range" type="xs:integer" minOccurs="1" maxOccurs="1"/>
        <xs:element name="longueur" type="xs:integer" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="poste" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>	  			
    </xs:complexType>
  </xs:element>
 
			<xs:element name="poste" >
			<xs:complexType>
			  <xs:sequence>
				<xs:element name="nom_poste" type="xs:string" minOccurs="1" maxOccurs="1"/>
				<xs:element name="nom" type="xs:string" minOccurs="1" maxOccurs="1"/>
				<xs:element name="age" type="xs:integer" minOccurs="1" maxOccurs="1"/>
				<xs:element name="formation" type="xs:string" minOccurs="1" maxOccurs="1"/>
				<xs:element name="anciennete" type="xs:integer" minOccurs="1" maxOccurs="1"/>
			  </xs:sequence>
			</xs:complexType>
		  </xs:element>
</xs:schema>
donc mon problème vient de l'élément nom_service : est ce qu'il est possible de donner un type à l'élément et un attribut ou bien faut il faire un choix pour valider le XML?
après quelques tests j'arrive à valider soit l'élément soit l'attribut mais je souhaiterai valider les deux.


Merci d'avance pour vos commentaires