Repository: camel Updated Branches: refs/heads/master 238bc54d3 -> 37df0d353
Added camel-msv docs to Gitbook Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/37df0d35 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/37df0d35 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/37df0d35 Branch: refs/heads/master Commit: 37df0d353f32e19252bbe91b95d492ce5d50682f Parents: 238bc54 Author: Andrea Cosentino <anco...@gmail.com> Authored: Wed May 11 17:14:16 2016 +0200 Committer: Andrea Cosentino <anco...@gmail.com> Committed: Wed May 11 17:14:16 2016 +0200 ---------------------------------------------------------------------- components/camel-msv/src/main/docs/msv.adoc | 113 +++++++++++++++++++++++ docs/user-manual/en/SUMMARY.md | 1 + 2 files changed, 114 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/37df0d35/components/camel-msv/src/main/docs/msv.adoc ---------------------------------------------------------------------- diff --git a/components/camel-msv/src/main/docs/msv.adoc b/components/camel-msv/src/main/docs/msv.adoc new file mode 100644 index 0000000..c09c338 --- /dev/null +++ b/components/camel-msv/src/main/docs/msv.adoc @@ -0,0 +1,113 @@ +[[MSV-MSVComponent]] +MSV Component +~~~~~~~~~~~~~ + +The MSV component performs XML validation of the message body using the +https://msv.dev.java.net/[MSV Library] and any of the supported XML +schema languages, such as http://www.w3.org/XML/Schema[XML Schema] or +http://relaxng.org/[RelaxNG XML Syntax]. + +Maven users will need to add the following dependency to their `pom.xml` +for this component: + +[source,xml] +------------------------------------------------------------ +<dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-msv</artifactId> + <version>x.x.x</version> + <!-- use the same version as your Camel core version --> +</dependency> +------------------------------------------------------------ + +Note that the link:jing.html[Jing] component also supports +http://relaxng.org/compact-tutorial-20030326.html[RelaxNG Compact +Syntax] + +[[MSV-URIformat]] +URI format +^^^^^^^^^^ + +[source,java] +--------------------------------------- +msv:someLocalOrRemoteResource[?options] +--------------------------------------- + +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. For example + +[source,java] +------------------------------ +msv:org/foo/bar.rng +msv:file:../foo/bar.rng +msv:http://acme.com/cheese.rng +------------------------------ + +You can append query options to the URI in the following format, +`?option=value&option=value&...` + +[[MSV-Options]] +Options +^^^^^^^ + + +// component options: START +The MSV component supports 2 options which are listed below. + + + +[width="100%",cols="2s,1m,8",options="header"] +|======================================================================= +| Name | Java Type | Description +| schemaFactory | SchemaFactory | To use the javax.xml.validation.SchemaFactory. +| resourceResolverFactory | ValidatorResourceResolverFactory | To use a custom LSResourceResolver which depends on a dynamic endpoint resource URI +|======================================================================= +// component options: END + + + +// endpoint options: START +The MSV component supports 13 endpoint options which are listed below: + +[width="100%",cols="2s,1,1m,1m,5",options="header"] +|======================================================================= +| Name | Group | Default | Java Type | Description +| resourceUri | producer | | String | *Required* URL to a local resource on the classpath or a reference to lookup a bean in the Registry or a full URL to a remote resource or resource on the file system which contains the XSD to validate against. +| failOnNullBody | producer | true | boolean | Whether to fail if no body exists. +| failOnNullHeader | producer | true | boolean | Whether to fail if no header exists when validating against a header. +| headerName | producer | | String | To validate against a header instead of the message body. +| errorHandler | advanced | | ValidatorErrorHandler | To use a custom org.apache.camel.processor.validation.ValidatorErrorHandler. The default error handler captures the errors and throws an exception. +| exchangePattern | advanced | InOnly | ExchangePattern | Sets the default exchange pattern when creating an exchange +| resourceResolver | advanced | | LSResourceResolver | To use a custom LSResourceResolver. Do not use together with resourceResolverFactory +| resourceResolverFactory | advanced | | ValidatorResourceResolverFactory | To use a custom LSResourceResolver which depends on a dynamic endpoint resource URI. The default resource resolver factory resturns a resource resolver which can read files from the class path and file system. Do not use together with resourceResolver. +| schemaFactory | advanced | | SchemaFactory | To use a custom javax.xml.validation.SchemaFactory +| schemaLanguage | advanced | http://www.w3.org/2001/XMLSchema | String | Configures the W3C XML Schema Namespace URI. +| synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported). +| useDom | advanced | false | boolean | Whether DOMSource/DOMResult or SaxSource/SaxResult should be used by the validator. +| useSharedSchema | advanced | true | boolean | Whether the Schema instance should be shared or not. This option is introduced to work around a JDK 1.6.x bug. Xerces should not have this issue. +|======================================================================= +// endpoint options: END + + +[[MSV-Example]] +Example +^^^^^^^ + +The following +http://svn.apache.org/repos/asf/camel/trunk/components/camel-msv/src/test/resources/org/apache/camel/component/validator/msv/camelContext.xml[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 +http://relaxng.org/[RelaxNG XML Schema] (which is supplied on the +classpath). + +[[MSV-SeeAlso]] +See Also +^^^^^^^^ + +* link:configuring-camel.html[Configuring Camel] +* link:component.html[Component] +* link:endpoint.html[Endpoint] +* link:getting-started.html[Getting Started] + http://git-wip-us.apache.org/repos/asf/camel/blob/37df0d35/docs/user-manual/en/SUMMARY.md ---------------------------------------------------------------------- diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md index e805fb5..2032863 100644 --- a/docs/user-manual/en/SUMMARY.md +++ b/docs/user-manual/en/SUMMARY.md @@ -198,6 +198,7 @@ * [MongoDB](mongodb.adoc) * [MongoDB-GridFS](gridfs.adoc) * [MQTT](mqtt.adoc) + * [Msv](msv.adoc) * [Mock](mock.adoc) * [NATS](nats.adoc) * [Properties](properties.adoc)