Red Hat Training

A Red Hat training course is available for Red Hat Fuse

第82章 jing

Jing コンポーネント

Jing コンポーネントは Jing Library を使用して、以下のいずれかを使用してメッセージボディーの XML 検証を実行します。
MSV コンポーネントは、RelaxNG XML 構文にも対応できることに注意してください。

URI 形式

jing:someLocalOrRemoteResource
Camel 2.16 から、コンポーネントは URI スキームとして jing を使用し、compactSyntax オプションを使用して RNG モードまたは RNC モードのいずれかを選択できます。RNG モードは RelaxNG XML 構文を使用し、RNC モードは RelaxNG Compact 構文を使用します。以下の例は、可能な URI 値を示しています。
説明
jing:foo/bar.rng クラスパスの XML ファイル foo/bar.rng を参照します。
jing:http://foo.com/bar.rnc?compactSyntax=true URL http://foo.com/bar.rnc から RelaxNG Compact Syntax ファイルを参照します。
URI にクエリーオプションは ?option=value&option=value&.. の形式で追加できます。

オプション

オプション デフォルト 説明
compactSyntax false
RelaxNG compact 構文(RNC)を使用して検証するかどうか。

以下の は、エンドポイント direct:start からのルートを設定する方法を示しています。これは、XML が指定の RelaxNG Compact Syntax スキーマ(クラスパスで提供される)と一致するかどうかに基づいて、mock:valid または mock:invalid のいずれかのエンドポイントに送信されます。
<camelContext xmlns="http://camel.apache.org/schema/spring">
    <route>
        <from uri="direct:start"/>
        <doTry>
            <to uri="jing:org/apache/camel/component/validator/jing/schema.rnc?compactSyntax=true"/>
            <to uri="mock:valid"/>

            <doCatch>
                <exception>org.apache.camel.ValidationException</exception>
                <to uri="mock:invalid"/>
            </doCatch>
            <doFinally>
                <to uri="mock:finally"/>
            </doFinally>
        </doTry>
    </route>
</camelContext>