3

20,000行以上のACORD(保険業界の標準スキーマ)スキーマがあります。スキーマを「スリム化」または「スライス」して、トランザクションで使用するデータ要素のみを含めたいと思います。私は確かにこれを手動で行うことができますが、それは骨の折れるプロセスです。

これらのサブスキーマの定義を容易にするためにユーティリティを使用した人はいますか?ヘルプは大歓迎です。

4

1 に答える 1

2

QTAssistant(私はそれに関連付けられています)XMLスキーマリファクタリング(XSR)は、これを非常に簡単に実行できるツールです。

概念的には、次の2つの作業モジュールが含まれます。

  • スキーマコレクション内のソースXSDの整理。
  • 1つ以上のXSDファイルセットを使用して「リリース」を定義します。

インタラクティブ(グラフィカルユーザーインターフェイスを使用)とコマンドラインの両方がサポートされており、後者は継続的インテグレーションスタックなどで使用できます。

UserAuthRequest/Responseと他のすべての依存関係のみを解放することが必要であると仮定しましょう。セットアップの例を以下に示します。主な要素は次のとおりです。

  • コレクション(ここではv2.26.0)
  • この特定のバージョンを参照するリリース(ACORDリリース)。将来、別のバージョンを追加する場合は、リリースを「アップグレード」して代わりに新しいバージョンを参照できるため、「編集」をやり直すことなく、新しいバージョンの標準への準拠を簡単に維持できます。
  • フィルタが関連付けられたファイルセット(20%リリース)。この場合、UserAuthRequestとUserAuthResponseの2つの要素が「シード」された単一のファイルを設定しました。

QTAssistantACORDセットアップ

次に、シーケンスの挿入、除外、名前の変更、再入力、XML名前空間の「リターゲティング」など(「リファクタリング」と呼ばれるもの)を通じて、コンテンツモデルをさらにカスタマイズすることができます。[参照]をクリックし、削除するパーティクルがある場合は[ローカル除外]などを展開します。終了したら、[生成]をクリックします。これで完了です。

QTAssistantフィルタリングされたACORDリリース

保存されたXSRファイルをパラメーターとしてコマンドラインユーティリティに渡して、ラベルから同じものを生成し、生成されたファイルをチェックインして、xsd.exeまたはxjcに渡すことができます。

統計からわかるように、4633個の要素、1123個の複合型、および589個の単純型から、40個の要素、14個の複合型、および6個の単純型が残っています。

必要な特定のコンポーネントを選択することにより、出力ファイルに必要なものを追加/調整できます。リファクタリングエンジンは、すべての依存関係を自動的に取り込みます。

デフォルトでは、生成されたファイルはソートされています:単純型、複合型、要素。「モデルファイル」をポイントすることで、それをオーバーライドして「元の」レイアウトを維持できます。元のXSDまたはその他のXSDである可能性があります。これは、コンプライアンス上の理由が何であれ、「ダム」のtext/xml比較ツールに依存したい場合に便利です。

ここに画像の説明を入力してください

ボーナスには、XSDコンポーネント間の関係を示すビューが含まれます...

ここに画像の説明を入力してください

または、「不可解」の場合、XSDのリレーショナルビュー(.NETではDataSetと呼ばれます):

ここに画像の説明を入力してください

于 2013-03-06T02:35:21.733 に答える