Bonjour,
J'ai un problème pour créer un schéma de validation.
j'ai besoin de créer un schema xml qui me valide une suite d'élément xml de même nom mais étant différents au niveau de leurs attributs et de leur éléments fils.
Un exemple simpliste avec les 2 documents suivants :
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?xml version="1.0" encoding="UTF-8"?> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="grammarSimple.xsd"> <test>test</test> <test>0.0</test> <test>true</test> <test>0</test> <test>0.0</test> <test>test</test> </root>
2 éléments sont optionnels, donc manquant dans ce document.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?xml version="1.0" encoding="UTF-8"?> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="grammarSimple.xsd"> <test>test</test> <test>0.0</test> <test>true</test> <test>0.0</test> <test>test</test> </root>
je pensais faire le schéma suivant qui n'est pas conforme :
Dans mon cas j'ai des types complexes, mais je voulais illustrer mon pb.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="root"> <xs:complexType> <xs:sequence> <xs:element name="test" type="xs:string"/> <xs:element name="test" type="xs:decimal"/> <xs:element name="test" type="xs:boolean"/> <xs:element name="test" type="xs:byte" minOccurs="0"/> <xs:element name="test" type="xs:double"/> <xs:element name="test" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
D'ou ma question, comment puis je valider les 2 documents ci dessus ?
Dois je passer par des namespaces ?
Partager