Wiki Markup |
---|
h2. Validation Component |
...
The Validation component performs XML validation of the message body using the JAXP Validation API and based on any of the supported XML schema languages, which defaults to [XML |
...
Note that the Jing component also supports the following useful schema languages:
The MSV component also supports RelaxNG XML Syntax.
URI format
Code Block |
---|
validator:someLocalOrRemoteResource
|
Where someLocalOrRemoteResource is some 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 XSD to validate against. For example:
Schema|http://www.w3.org/XML/Schema] Note that the [Jing] component also supports the following useful schema languages: * [RelaxNG Compact Syntax|http://relaxng.org/compact-tutorial-20030326.html] * [RelaxNG XML Syntax|http://relaxng.org/] The [MSV] component also supports [RelaxNG XML Syntax|http://relaxng.org/]. h3. URI format {code} validator:someLocalOrRemoteResource {code} Where *someLocalOrRemoteResource* is some 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 XSD to validate against. For example: * {{msv:org/foo/bar.xsd |
...
}} * {{msv:file:../foo/bar.xsd |
...
}} * {{msv:http://acme.com/cheese.xsd |
...
}} * {{validator:com/mypackage/myschema.xsd |
...
Options
...
Option
...
Default
...
Description
...
useDom
...
false
...
}} h3. Options {div:class=confluenceTableSmall} || Option || Default || Description || | {{useDom}} | {{false}} | *Camel 2.0:* Whether {{DOMSource}}/{{DOMResult}} or {{SaxSource}}/{{SaxResult}} should be used by the validator. |
...
useSharedSchema
...
true
...
| | {{useSharedSchema}} | {{true}} | *Camel 2.3:* Whether the {{Schema}} instance should be shared or not. This option is introduced to work around a [JDK 1.6.x bug|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6773084]. Xerces should not have this issue. |
...
Example
The following example shows how to configure a route from 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 schema (which is supplied on the classpath).
Wiki Markup |
---|
| {div} h3. Example The following [example|http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/component/validator/camelContext.xml] shows how to configure a route from 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 schema (which is supplied on the classpath). {snippet:id=example|lang=xml|url=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/component/validator/camelContext.xml} {include |
...
:Endpoint See |
...
Also}
|