Bonjour j'ai un probleme avec des definitions d'elements any. J'avais jamais fait de shema avant lundi donc j'ai un peut de la misere a comprendre tout le fonctionnement. Enfin, si vous pourriez m'aider ca permetterais d'avancer dans mon stage...
Donc voici les fichiers en questions:
Tout dabord mes schema:
/xsd/common/common.xsd
/xsd/lscd/common/common.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 <?xml version="1.0" encoding="UTF-8"?> <xsd:schema targetNamespace="xml/xsd/common" xmlns="xml/xsd/common" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!-- TYPES --> <xsd:simpleType name="administrativeUnit"> <xsd:restriction base="xsd:token" /> </xsd:simpleType> ... <xsd:complexType name="form"> <xsd:sequence> <xsd:element name="header" type="section" /> <xsd:element name="body" type="section" /> <xsd:element name="custom" type="section" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="version" type="version" use="required" /> <xsd:attribute name="customVersion" type="version" /> </xsd:complexType> <xsd:simpleType name="name"> <xsd:restriction base="xsd:token"> <xsd:pattern value="[\p{L}\p{Zs}\-]{1,}" /> </xsd:restriction> </xsd:simpleType> ... <xsd:complexType name="section"> <xsd:sequence> <xsd:any minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> ... <xsd:simpleType name="version"> <xsd:restriction base="xsd:token"> <xsd:pattern value="(\d+\.){0,3}\d+" /> </xsd:restriction> </xsd:simpleType> </xsd:schema>
Et un petit document test:
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 <?xml version="1.0" encoding="UTF-8"?> <xsd:schema targetNamespace="xml/xsd/lscd/common" xmlns="xml/xsd/lscd/common" xmlns:com="xml/xsd/common" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:import namespace="xml/xsd/common" schemaLocation="../../common/common.xsd" /> <!-- TYPES --> <xsd:complexType name="formHeader"> <xsd:sequence> <xsd:element name="entityName" type="com:entity" /> <xsd:element name="contactFirstName" type="com:name" /> <xsd:element name="contactLastName" type="com:name" /> <xsd:element name="contactTelephone" type="com:telephoneWithExtension" /> <xsd:element name="contactAdministrativeUnit" type="com:administrativeUnit" /> <xsd:element name="contactEmail" type="com:email" /> <xsd:element name="submitDate" type="xsd:dateTime" /> </xsd:sequence> </xsd:complexType> <!-- SCHEMA --> <xsd:element name="header" type="com:form"> <xsd:complexType> <xsd:sequence> <xsd:element name="header" type="formHeader" /> <xsd:element name="body" type="com:section" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>
/xml/lscd/common/common.xml
Donc le probleme c'est que lorsque je verifie mon document je recoit un message d'erreur (par un validateur perso en java) du type:
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 <?xml version="1.0" encoding="UTF-8"?> <lscd:form version="0.0.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:lscd="xml/xsd/lscd/common" xsi:schemaLocation= "xml/xsd/lscd/common ../../../xsd/lscd/common/lscd.xsd"> <header> <entityName>123/XYZ</entityName> <contactFirstName>Ablert</contactFirstName> <contactLastName>Moustachu</contactLastName> <contactAdministrativeUnit>blah</contactAdministrativeUnit> <contactTelephone>(418) 852-9630</contactTelephone> <submitDate>2006-07-14T14:22:24</submitDate> </header> <body /> </lscd:form>
"src-element.3: Element 'header' has both a 'type' attribute and a 'anonymous type' child. Only one of these is allowed for an element."
En attendant je continue de chercher et j'attend avec impatience des repones
Merci!
Partager