Chapter 60. Jing
Jing Component
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.
URI format
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&...
Options
Option | Default | Description |
---|---|---|
useDom
|
false
|
Apache Camel 2.0: Specifies whether DOMSource/DOMResult or SaxSource/SaxResult should be used by the validator. |
Example
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>