Bonjour à tous

Je suis en train d'essayer d'intégrer un code pour valider un XML depuis un xsd

Le code, j'ai l'ai récupérer sur le site d'IBM : http://www.ibm.com/developerworks/xm....html#listing1
Donc j'imagine que ca devrait fonctionner

Voici le début du code

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
import java.io.*;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.*;
import org.xml.sax.SAXException;
 
public class DocbookXSDCheck {
 
    public static void main(String[] args) throws SAXException, IOException {
 
        // 1. Lookup a factory for the W3C XML Schema language
        SchemaFactory factory = 
            SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
 
        // 2. Compile the schema. 
        // Here the schema is loaded from a java.io.File, but you could use 
        // a java.net.URL or a javax.xml.transform.Source instead.
        File schemaLocation = new File("/opt/xml/docbook/xsd/docbook.xsd");
        Schema schema = factory.newSchema(schemaLocation);
 
.......
Je lui donne donc à manger mon xsd que voilà ( le début du moins )

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
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 rel. 3 sp2 (http://www.altova.com) by Philip Hoyer (Actividentity Inc) -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
	xmlns:oath-pskc="http://www.openauthentication.org/OATH/2006/10/PSKC" 
	xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 
	xmlns:oath-logo="http://www.openauthentication.org/OATH/2006/08/Logo" 
	targetNamespace="http://www.openauthentication.org/OATH/2006/10/PSKC" 
	elementFormDefault="qualified" attributeFormDefault="unqualified">
  <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/> 
  <import namespace="http://www.openauthentication.org/OATH/2006/08/Logo" schemaLocation="http://www.openauthentication.org/OATH/2006/08/Logo/oath_logotype_v1.0.xsd"/>
  <complexType name="SecretContainerType">
    <sequence>
      <element name="EncryptionMethod">
        <complexType>
          <complexContent>
            <extension base="oath-pskc:EncryptionMethodType"/>
          </complexContent>
        </complexType>
      </element>
      <element name="DigestMethod">
        <complexType>
          <complexContent>
            <extension base="oath-pskc:DigestMethodType"/>
          </complexContent>
        </complexType>
      </element>
      <element name="Device" type="oath-pskc:DeviceType" maxOccurs="unbounded"/>
      <element name="Signature" type="ds:SignatureType" minOccurs="0"/>
    </sequence>
    <attribute name="version" type="oath-pskc:VersionType" use="required"/>
  </complexType>
Et là le programme se lance, et tourne pendant quelques secondes à vide ( genre 10 secondes) et me sort un message d'erreur fort peu sympathique

org.xml.sax.SAXParseException: src-resolve: Cannot resolve the name 'ds:SignatureType' to a(n) 'type definition' component.

J'ai cherché un peu partout sur le net ... et j'avoue que je n'ai pas trouvé de réponse à mon problème. D'ailleurs, je ne comprends pas trop ce qui lui pose problème ...

Si quelqu'un a une idée ... je suis prenneur !!