Jing

Since Camel 1.1

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

Maven users will need to add the following dependency to their pom.xml for this component:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-jing</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

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

URI format

jing:someLocalOrRemoteResource

From Camel 2.16 the component use jing as name, and you can use the option compactSyntax to turn on either RNG or RNC mode.

Options

The Jing component has no options.

The Jing endpoint is configured using URI syntax:

jing:resourceUri

with the following path and query parameters:

Path Parameters (1 parameters):

Name Description Default Type

resourceUri

Required URL to a local resource on the classpath or a full URL to a remote resource or resource on the file system which contains the schema to validate against.

String

Query Parameters (2 parameters):

Name Description Default Type

compactSyntax (producer)

Whether to validate using RelaxNG compact syntax or not. By default this is false for using RelaxNG XML Syntax (rng) And true is for using RelaxNG Compact Syntax (rnc)

false

boolean

synchronous (advanced)

Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).

false

boolean

Spring Boot Auto-Configuration

When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-jing-starter</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel core version -->
</dependency>

The component supports 2 options, which are listed below.

Name Description Default Type

camel.component.jing.enabled

Enable jing component

true

Boolean

camel.component.jing.resolve-property-placeholders

Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders.

true

Boolean

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).