@Override
    public Producer createProducer() throws Exception {
        return new SchematronProducer(this);
    }
@Test
    public void testSchematronFileReadFromClassPath() throws Exception {

        String payload = IOUtils.toString(ClassLoader.getSystemResourceAsStream("xml/article-1.xml"),
                Charset.defaultCharset());
        Endpoint endpoint = context().getEndpoint("schematron://sch/schematron-1.sch");
        Producer producer = endpoint.createProducer();
        Exchange exchange = new DefaultExchange(context, ExchangePattern.InOut);

        exchange.getIn().setBody(payload);

        // invoke the component.
        producer.process(exchange);

        String report = exchange.getMessage().getHeader(Constants.VALIDATION_REPORT, String.class);
        assertNotNull(report);
    }