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