---
apiVersion: v1
kind: List
items:
- apiVersion: v1
  kind: ConfigMap
  metadata:
    labels:
      funktion.fabric8.io/kind: Connector
      provider: fabric8
      project: connector-msv
      version: 1.1.29
      group: io.fabric8.funktion.connector
    name: msv
  data:
    deployment.yml: |
      ---
      apiVersion: extensions/v1beta1
      kind: Deployment
      metadata:
        labels:
          funktion.fabric8.io/kind: Subscription
          connector: msv
      spec:
        replicas: 1
        template:
          metadata:
            labels:
              funktion.fabric8.io/kind: Subscription
              connector: msv
          spec:
            containers:
            - image: fabric8/connector-msv:1.1.29
              name: connector
    schema.yml: |
      ---
      component:
        kind: component
        scheme: msv
        syntax: msv:resourceUri
        title: MSV
        description: Validates the payload of a message using the MSV Library.
        label: validation
        deprecated: false
        async: false
        producerOnly: true
        javaType: org.apache.camel.component.validator.msv.MsvComponent
        groupId: org.apache.camel
        artifactId: camel-msv
        version: 2.18.1
      componentProperties:
        schemaFactory:
          kind: property
          type: object
          javaType: javax.xml.validation.SchemaFactory
          deprecated: false
          secret: false
          description: To use the javax.xml.validation.SchemaFactory.
        resourceResolverFactory:
          kind: property
          label: advanced
          required: false
          type: object
          javaType: org.apache.camel.component.validator.ValidatorResourceResolverFactory
          deprecated: false
          secret: false
          description: To use a custom LSResourceResolver which depends on a dynamic endpoint resource URI
      properties:
        resourceUri:
          kind: path
          group: producer
          required: true
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: 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:
          kind: parameter
          group: producer
          type: boolean
          javaType: boolean
          deprecated: false
          secret: false
          defaultValue: true
          description: Whether to fail if no body exists.
        failOnNullHeader:
          kind: parameter
          group: producer
          type: boolean
          javaType: boolean
          deprecated: false
          secret: false
          defaultValue: true
          description: Whether to fail if no header exists when validating against a header.
        headerName:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: To validate against a header instead of the message body.
        errorHandler:
          kind: parameter
          group: advanced
          label: advanced
          type: object
          javaType: org.apache.camel.processor.validation.ValidatorErrorHandler
          deprecated: false
          secret: false
          description: To use a custom org.apache.camel.processor.validation.ValidatorErrorHandler. The default error handler captures the errors and throws an exception.
        resourceResolver:
          kind: parameter
          group: advanced
          label: advanced
          type: object
          javaType: org.w3c.dom.ls.LSResourceResolver
          deprecated: false
          secret: false
          description: To use a custom LSResourceResolver. Do not use together with resourceResolverFactory
        resourceResolverFactory:
          kind: parameter
          group: advanced
          label: advanced
          type: object
          javaType: org.apache.camel.component.validator.ValidatorResourceResolverFactory
          deprecated: false
          secret: false
          description: 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:
          kind: parameter
          group: advanced
          label: advanced
          type: object
          javaType: javax.xml.validation.SchemaFactory
          deprecated: false
          secret: false
          description: To use a custom javax.xml.validation.SchemaFactory
        schemaLanguage:
          kind: parameter
          group: advanced
          label: advanced
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          defaultValue: http://www.w3.org/2001/XMLSchema
          description: Configures the W3C XML Schema Namespace URI.
        synchronous:
          kind: parameter
          group: advanced
          label: advanced
          type: boolean
          javaType: boolean
          deprecated: false
          secret: false
          defaultValue: false
          description: Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
        useDom:
          kind: parameter
          group: advanced
          label: advanced
          type: boolean
          javaType: boolean
          deprecated: false
          secret: false
          defaultValue: false
          description: Whether DOMSource/DOMResult or SaxSource/SaxResult should be used by the validator.
        useSharedSchema:
          kind: parameter
          group: advanced
          label: advanced
          type: boolean
          javaType: boolean
          deprecated: false
          secret: false
          defaultValue: true
          description: 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.
    documentation.adoc: |+
      [[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.



      {% raw %}
      [width="100%",cols="2,1m,7",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
      |=======================================================================
      {% endraw %}
      // component options: END






      // endpoint options: START
      The MSV component supports 12 endpoint options which are listed below:

      {% raw %}
      [width="100%",cols="2,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.
      | 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.
      |=======================================================================
      {% endraw %}
      // 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]

