[Camel] Contrôler un XML par un XSD
Bonjour,
je n'arrive pas à contrôler la structure d'un fichier xml par un fichier xsd. Pour cela j'utilise le composant camel "xslt".
Je suis complètement perdu....
Voici mon fichier xml :
Code:
1 2 3 4 5 6 7 8
| <?xml version="1.0"?>
<!-- element_racine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd" -->
<element_racine xmlns:xsi="schema.xsd">
<!-- <nombre>sdg</nombre> -->
<nombre>90</nombre>
<nombre>80</nombre>
<nombre>99</nombre>
</element_racine> |
mon fichier xsd :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xsd:simpleType name="entre50et100">
<xsd:restriction base="xsd:positiveInteger">
<xsd:minExclusive value="50"/>
<xsd:maxExclusive value="100"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="nombre" type="entre50et100"/>
<xsd:element name="element_racine">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="nombre" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema> |
ma route camel :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public void configure() {
// error channel
errorHandler(deadLetterChannel("file:dead/?fileName=${date:now:yyyy-MM-dd}/${id}").useOriginalMessage());
// Incoming file
from("file:input/test.xml")
.log("Starting to process file")
.to("xslt:META-INF/XSDDocument/test.xsd")
.bean(Services.class, "check")
.to("direct:unknownIncoming");
}
} |
J'ai mis un point d'arrêt dans la méthode "check" de ma classe Services en me disant que si ça arrivait jusque là c'est que le fichier xml serait valide...
Quand je lance le débug, j'ai un message d'erreur :
"Failed to create route route1 at: >>> To[xslt:META-INF/XSDDocument/test.xsd] <<< in route: Route[[From[file:input/?noop=true&initia... because of Failed to resolve endpoint: xslt://META-INF/XSDDocument/test.xsd due to: Impossible de compiler la feuille de style
Merci pour votre aide