Better explain.
What i want is a validation xml in DSL, that apply one or other xsd depending on one of the fields of the xml.
At now look like this:
Read from a MongoDB -> Split in the files the JSON have -> trying to validate. But what i want to pass as a parameter is the same XML, not the "classpath:validation.xsd".
return IntegrationFlows.from(configurationInbound(factory))
.split(Configuration.class,m->m.getFiles().values())
.filter(new XmlValidatingMessageSelector(commonResources.getResource("classpath:validation.xsd"),
SchemaType.XML_SCHEMA))
Is any way to do it?
Your explanation is a bit not clear, but let me guess:
You want to use an XSD resource from the message passing through the flow, not statically configured on the mentioned XmlValidatingMessageSelector
.
If it is that, then unfortunately that is how this XmlValidatingMessageSelector
is designed.
As a solution I suggest to implement your own DynaicXmlValidatingMessageSelector
with some copied logic from the existing XmlValidatingMessageSelector
and create an XmlValidator
in the accept()
method on the fly based on the incoming message.