[XSD] Problème d'import via web
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:
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:
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 !! :)