[Xerces] Problème avec les Name Spaces
Bonjour,
est-ce que quelqu'un a déjà eu à utiliser Xerces sur des fichiers avec des nameSpaces ??
En fait j'essaye de valider des fichiers XML avec des schémas XSD qui sont stockés sur des fichiers en local.
Normalement, pour spécifier le fichier XSD je doit écraser la propriété du SAXParser.
j'ai essayé les deux cas:
Si je concidère qu'il n'y a aps de nameSpaces
Code:
1 2 3 4 5 6 7 8 9 10 11
|
InputSource xml = new InputSource(new FileInputStream("C:/test.xml"));
URL xsd = new File("C:/test.xsd").toURL();
SAXParser parser = new SAXParser();
parser.setFeature("http://xml.org/sax/features/validation", true);
parser.setFeature("http://apache.org/xml/features/validation/schema", true);
parser.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", xsd.toString()); |
erreur :
Code:
1 2 3
| cvc-elt.1.a: Cannot find the declaration of element 'Document'
TargetNamespace.2: Expecting no namespace, but the schema document has a target namespace of 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.02' |
Si je considère qu'il ya les nameSpaces:
Code:
1 2 3 4 5 6 7 8 9 10
| InputSource xml = new InputSource(new FileInputStream("C:/test.xml"));
URL xsd = new File("C:/test.xsd").toURL();
SAXParser parser = new SAXParser();
parser.setFeature("http://xml.org/sax/features/validation", true);
parser.setFeature("http://apache.org/xml/features/validation/schema", true);
parser.setProperty("http://apache.org/xml/properties/schema/external-schemaLocation", xsd.toString()); |
erreur:
Code:
1 2 3
| http://www.w3.org/TR/xml-schema-1#SchemaLocation?file:/C:/test.xsd
cvc-elt.1.a: Cannot find the declaration of element 'Document' |
voici un aperçu des fichiers:
XSD
Code:
1 2 3 4 5 6 7 8 9 10
| <?xml version="1.0" encoding="UTF-8"?>
<!--Generated by SWIFTStandards Workstation (build:R5.1.0.4) on 2006 Sep 08 11:58:39-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02">
<xs:element name="Document" type="Document"/>
<xs:complexType name="AccountIdentification3Choice">
<xs:sequence>
<xs:choice>
<xs:element name="IBAN" type="IBANIdentifier"/>
<xs:element name="BBAN" type="BBANIdentifier"/>
... |
XML
Code:
1 2 3 4 5 6 7 8 9 10
| <?xml version = "1.0" encoding = "UTF-8"?>
<Document xmlns = "urn:iso:std:iso:20022:tech:xsd:pain.001.001.02" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance">
<pain.001.001.02>
<GrpHdr>
<MsgId>ABC/060928/CCT001</MsgId>
<CreDtTm>2006-09-28T14:07:00</CreDtTm>
<BtchBookg>false</BtchBookg>
<NbOfTxs>3</NbOfTxs>
<CtrlSum>11500000</CtrlSum>
... |
Merci pour l'aide, ça commence à me gonfler ce Xerces :p