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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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 <?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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager