Bonjour,
je suis en train de faire mon premier fichier XSD.
Celui-ci doit valider des fichiers de ce type:
Et voici le XSD que j'ai produit:
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 <?xml version="1.0" encoding="utf-8"?> <lineStyles> <lineStyle> <view>__. __. __. __. </view> <style>2,0,-1.25</style> <name>new line style</name> <description> <LANGUAGE xml:lang="en">double underscore dot long space</LANGUAGE> <LANGUAGE xml:lang="fr">double tiret bas point espace long</LANGUAGE> </description> </lineStyle> <lineStyle> <view>__ __ __ __ __ __ __</view> <style>12,-3</style> <name>ISO02W100</name> <description> <LANGUAGE xml:lang="en">disconnected ISO</LANGUAGE> <LANGUAGE xml:lang="fr">ISO interrompu</LANGUAGE> </description> </lineStyle> </lineStyles>
J'ai créer un petit script PHP qui me test si un fichier XML est valide a partir d'un fichier XSD.
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 <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'> <!-- Declaration des types simple --> <xsd:element name="view" type="xsd:string"/> <xsd:element name="style" type="xsd:string"/> <xsd:element name="name" type="xsd:string"/> <!-- Declaration des types complexe --> <xsd:element name="LANGUAGE" > <xsd:complexType mixed="true"> <xsd:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="strict"/> </xsd:complexType> </xsd:element> <xsd:element name="description"> <xsd:complexType> <xsd:element ref="LANGUAGE" minOccurs="1" maxOccurs="unbounded"/> </xsd:complexType> </xsd:element> <xsd:element name="lineStyle"> <xsd:complexType> <xsd:sequence> <xsd:element ref="view"/> <xsd:element ref="style"/> <xsd:element ref="name"/> <xsd:element ref="description" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="lineStyles"> <xsd:complexType> <xsd:sequence> <xsd:element ref="lineStyle" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>
Malheureusement je dois avoir une erreur dans mon fichiers XSD car mon script php m'indique ceci comme erreur:
Je ne comprend pas ou est mon erreur.Warning:
Error 3033: Element '{http://www.w3.org/2001/XMLSchema}complexType': The content is not valid. Expected is (annotation?, (simpleContent | complexContent | ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?)))). in file:///C:/wamp/www/xsdValidation/informations.xsd on line 18 in C:\wamp\www\xsdValidation\test_validation_xml_2.php on line 32
Auriez vous une idée ?
Merci d'avance pour votre aide
Partager