Bonjour,

bonnes fêtes!
Mon problème est le suivant: je voudrais déclarer en XSD un attribut qui prenne sa valeur dans une liste , du style

Fichier XML:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
...
<prix unité="euros">32.1</prix>
...
avec unité qui prend ses valeurs dans (francs,euros,dollars...).

J'ai donc le code XML Schéma suivant:

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
 
 
<xs:element name="prix>
  <xs:complexType>
    <xs:simpleContent>
    <xs:extension  base="xs:float">						
      <xs:attribute name="unité2">
      <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:enumeration value="euros"></xs:enumeration>
        <xs:enumeration value="francs"></xs:enumeration>
      </xs:restriction>
      </xs:simpleType>
      </xs:attribute>
    </xs:extension>
    </xs:simpleContent>						
  </xs:complexType>
</xs:element>
et le code XML associé est:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<prix unité2="euros">3,70</prix>
mais ça ne marche pas : XML Spy dit:

la valeur "3.70" n'est pas autorisée pour l'élément prix
J'ai essayé "3,70" au lieu de "3.70" mais sans succès...
Avez-vous une idée de l'origine de l'erreur?

lolveley.