Bonjour à toutes et à tous,
Je vous remercie d'avance pour votre aide car j'en ai bien besoin, je tourne un peu en rond et je suis completement perdu car je suis novice en matière de XSD.
Voici mes XSD :
XMLSchema1 :
XMLSchema2 :
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 <?xml version="1.0" encoding="utf-8"?> <xs:schema id="XMLSchema1" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://tempuri.org/XMLSchema1.xsd" xmlns="http://tempuri.org/XMLSchema1.xsd" xmlns:s1="http://tempuri.org/XMLSchema1.xsd" xmlns:s2="http://tempuri.org/XMLSchema2.xsd" elementFormDefault="unqualified" > <!-- Imports --> <xs:import namespace="http://tempuri.org/XMLSchema2.xsd" schemaLocation="XMLSchema2.xsd" /> <!-- Elements --> <xs:element name="a"> <xs:complexType> <xs:sequence> <xs:element name="a" type="s2:ct1" minOccurs="0" /> <xs:element name="b" type="s1:ct2" minOccurs="0" /> <xs:element name="c" type="s2:ct3" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <!-- Complex Types --> <xs:complexType name="ct2"> <xs:sequence> <xs:element name="a" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:schema>
Donc le XSD 1 importe les types complexes du XSD 2 pour pouvoir les utiliser.
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 <?xml version="1.0" encoding="utf-8"?> <xs:schema id="XMLSchema2" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://tempuri.org/XMLSchema2.xsd" xmlns="http://tempuri.org/XMLSchema2.xsd" xmlns:mstns="http://tempuri.org/XMLSchema2.xsd" elementFormDefault="unqualified" > <!-- Complex Types --> <xs:complexType name="ct1"> <xs:sequence> <xs:element name="a" type="ct3" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> <xs:complexType name="ct3"> <xs:sequence> <xs:element name="a" type="st1" minOccurs="0" /> <xs:element name="b" type="st2" minOccurs="0" /> <xs:element name="c" type="st3" minOccurs="0" /> </xs:sequence> <xs:attribute name="d" type="xs:string" use="required" /> </xs:complexType> <!-- Simple Types --> <xs:simpleType name="st1"> <xs:restriction base="xs:string"> <xs:enumeration value="a" /> <xs:enumeration value="b" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="st2"> <xs:restriction base="xs:string"> <xs:enumeration value="a" /> <xs:enumeration value="b" /> <xs:enumeration value="c" /> <xs:enumeration value="d" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="st3"> <xs:restriction base="xs:string"> <xs:enumeration value="a" /> <xs:enumeration value="b" /> <xs:enumeration value="c" /> </xs:restriction> </xs:simpleType> </xs:schema>
Le XML que je génère :
J'aimerais me débarasser de l'attribut "xmlns="">" dans les balises.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?xml version="1.0" encoding="utf-8" ?> <a xmlns="http://tempuri.org/XMLSchema1.xsd"> <a xmlns=""> <a d="y"></a> </a> <b xmlns=""> <a>abcd</a> </b> <c d="z" xmlns=""> <b>a</b> <c>b</c> </c> </a>
Le "elementFormDefault="unqualified"" n'est pas censé faire en sorte que l'on ne soit pas obligé de spécifié le namespace?
Merci de votre aide.
Bonne et heureuse année 2011.
Joooooon
Partager