4

スキーマの検証だけでなく、XML ファイルのチェックを行う方法を探しています。興味深い Schematron への参照をいくつか見つけましたが、これをすべて組み合わせる方法を理解するのに苦労しています。

問題の背景

私たちは、大量の XML ファイルを生成するだけの Oracle OSB を扱っています。また、統合テスト用の Soap-UI テスト スイートも作成しています。

コード レビューを実行する際のガイドとなる、コーディング標準と開発ガイドラインの正式化を開始したところです。ただし、これらのチェックの多くは、自動化できると感じています。checkstyle が Java コードでチェックを行う方法とよく似ています。

たとえば、Soap-UI テストでは、すべての SOAP リクエストにスキーマ コンプライアンスと SOAP レスポンスのアサーションがあることを確認したいと考えています。この「チェック」は、非常に単純な xpath として記述できます。

OSB で生成された XML で同様のチェックを行います。たとえば、変数がキャメルケースの命名法に準拠していること、リソース パスがプロジェクト外のファイルを参照していないこと、トップ レベルのエラー処理が存在することなどです。

理想的なソリューション

ビルドは Maven で実行されており、soap-ui テストは確実にフォーマットされたレポートを吐き出しています。私たちは CI サーバーとして jenkins を使用しています。jenkins はこれらの確実なレポートを取得できるため、テスト結果を簡単に表示し、ビルドが失敗する理由を確認できます。

これらのチェックを実行できるものを見つけて、それらをジェンキンできれいに報告したいと考えています。

私がこれまでに把握できる最高のもの:

  • スキーマトロン チェックを実行する Ant タスクを Maven に実行させる
  • スキーマトロン出力を確実な出力に変換する方法を見つける
  • jenkins maven-runner を変更して、生成された確実なレポートを取得します

しかし、ここのうさぎの穴に行き詰まっているように感じます。これが正しい方法である場合、他の誰かがすでにこれに対処していると思いますが、schematron を CI ツールまたは maven と統合するのに役立つものを見つけるのに苦労しています。

スキーマトロンは調査する価値がありますか?

既存のセットアップとより密接に統合され、より適した他のツールはありますか?

4

2 に答える 2

1

あなたはそのような目的のためにXmlUnitを使おうとするかもしれません。

そのシナリオでは、JUnitテストの形式で小切手を作成します。assertXpathExists単純なXPathベースのチェックは、assertXpathsEqualなどのXmlUnitアサーションメソッドを使用して簡単に実行できます。

カスタムNodeTesterを使用して、より複雑なチェックを実装できます。

于 2012-01-27T20:28:26.313 に答える
0

OSB を使用した Checkstyle の簡単な動作例については、いくつかの Python コードが役立ちます。

http://www.javamonamour.org/2013/07/lintcheckstyle-for-osb.html

過去に Schematron を使用したことがありますが、柔軟性が十分ではありません。

于 2013-07-19T18:45:08.837 に答える