LibraryToggle FramesPrintFeedback

The Jing component uses the Jing Library to perform XML validation of the message body using either:

Note that the MSV component can also support RelaxNG XML syntax.

rng:someLocalOrRemoteResource
rnc:someLocalOrRemoteResource

Where rng means use the RelaxNG XML Syntax whereas rnc means use RelaxNG Compact Syntax. The following examples show possible URI values

Example Description
rng:foo/bar.rng References the XML file foo/bar.rng on the classpath
rnc:http://foo.com/bar.rnc References the RelaxNG Compact Syntax file from the URL, http://foo.com/bar.rnc.

You can append query options to the URI in the following format, ?option=value&option=value&...

Option Default Description
useDom false Apache Camel 2.0: Specifies whether DOMSource/DOMResult or SaxSource/SaxResult should be used by the validator.

The following example shows how to configure a route from the endpoint direct:start which then goes to one of two endpoints, either mock:valid or mock:invalid based on whether or not the XML matches the given RelaxNG Compact Syntax schema (which is supplied on the classpath).

<camelContext xmlns="http://camel.apache.org/schema/spring">
    <route>
        <from uri="direct:start"/>
        <doTry>
            <to uri="rnc:org/apache/camel/component/validator/jing/schema.rnc"/>
            <to uri="mock:valid"/>

            <doCatch>
                <exception>org.apache.camel.ValidationException</exception>
                <to uri="mock:invalid"/>
            </doCatch>
            <doFinally>
                <to uri="mock:finally"/>
            </doFinally>
        </doTry>
    </route>
</camelContext>
Comments powered by Disqus