j'invite tous les developpeurs à participer à ce sujet


mon environnement : netBeans 3.6

j'essaie désespérement de valider un doc xml par un schema avec SAX.

maintenant que mon xml et mon xsd semble bon

j'ai l'erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
LOCATOR
 SYS ID: file:d:/xml/XMLschema_recu.xml
 
START DOCUMENT
<?xml version='1.0' encoding='UTF-8'?>
** Parsing error, line 4, uri file:d:/xml/XMLschema_recu.xml
   cvc-elt.1: Cannot find the declaration of element 'message'.
org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'message'.
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
        at Echo10.main(Echo10.java:88)
mon xml :
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
<?xml version="1.0"?>
<message xmlns="d:\xml\"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
            xsi:schemaLocation="d:/xml/ file:schema-annonce.xsd">
    <server>
      <server_url>10.0.0.1</server_url>
      <service_list_port>1820</service_list_port>
    </server>
    <location>
      <name>Vous etes ici</name>
      <absolute_coord>
        <description>bureau 8335</description>
        <latitude>75</latitude>
        <longitude>35</longitude>
        <height>10</height>
      </absolute_coord>
    </location>
</message>
mon 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?xml version="1.0" encoding="UTF-8"?>
 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="nif:report-schema"
            xmlns="nif:report-schema"
            elementFormDefault="unqualified"
            attributeFormDefault="unqualified">
 
   <xsd:element name="version" type="xsd:string"/>
 
   <xsd:element name="message">
     <xsd:complexType>
       <xsd:sequence>
         <xsd:element ref="server" minOccurs="1" maxOccurs="1"/>
         <xsd:element ref="location" minOccurs="1" maxOccurs="1"/>
       </xsd:sequence>
     </xsd:complexType>
   </xsd:element>
 
   <xsd:element name="server">
     <xsd:complexType>
       <xsd:sequence>
         <xsd:element ref="server_url" minOccurs="1" maxOccurs="1"/>
         <xsd:element ref="service_list_port" minOccurs="1" maxOccurs="1"/>
       </xsd:sequence>
     </xsd:complexType>
   </xsd:element>
 
   <xsd:element name="location">
     <xsd:complexType>
       <xsd:sequence>
         <xsd:element ref="name" minOccurs="1" maxOccurs="1"/>
         <xsd:element ref="absolute_coord" minOccurs="1" maxOccurs="1"/>
       </xsd:sequence>
     </xsd:complexType>
   </xsd:element>
 
   <xsd:element name="absolute_coord">
     <xsd:complexType>
       <xsd:sequence>
         <xsd:element ref="description" minOccurs="0" maxOccurs="1"/>
         <xsd:element ref="latitude" minOccurs="1" maxOccurs="1"/>
         <xsd:element ref="longitude" minOccurs="1" maxOccurs="1"/>
         <xsd:element ref="height" minOccurs="1" maxOccurs="1"/>
       </xsd:sequence>
     </xsd:complexType>
   </xsd:element>
 
<xsd:simpleType name="port_valid">
    <xsd:restriction base="xsd:integer">
      <xsd:minInclusive value="1025"/>
      <xsd:maxExclusive value="65000"/>    
    </xsd:restriction>
</xsd:simpleType>   
 
<xsd:element name="server_url" type="xsd:anyURI" />
<xsd:element name="service_list_port" type="xsd:integer" default="1899"/>
<xsd:element name="name" type="xsd:string" />
<xsd:element name="description" type="xsd:string" />
<xsd:element name="latitude" type="xsd:float" />
<xsd:element name="longitude" type="xsd:float" />
<xsd:element name="height" type="xsd:float" />
 
</xsd:schema>
et de plus si je mets xsd:port_valid à la place de xsd:integer dans mon element service_list_port il ne reconnait pas le namespace..

merci d'avance à tous, Arnoo.