20,000行以上のACORD(保険業界の標準スキーマ)スキーマがあります。スキーマを「スリム化」または「スライス」して、トランザクションで使用するデータ要素のみを含めたいと思います。私は確かにこれを手動で行うことができますが、それは骨の折れるプロセスです。
これらのサブスキーマの定義を容易にするためにユーティリティを使用した人はいますか?ヘルプは大歓迎です。
QTAssistant(私はそれに関連付けられています)XMLスキーマリファクタリング(XSR)は、これを非常に簡単に実行できるツールです。
概念的には、次の2つの作業モジュールが含まれます。
インタラクティブ(グラフィカルユーザーインターフェイスを使用)とコマンドラインの両方がサポートされており、後者は継続的インテグレーションスタックなどで使用できます。
UserAuthRequest/Responseと他のすべての依存関係のみを解放することが必要であると仮定しましょう。セットアップの例を以下に示します。主な要素は次のとおりです。
次に、シーケンスの挿入、除外、名前の変更、再入力、XML名前空間の「リターゲティング」など(「リファクタリング」と呼ばれるもの)を通じて、コンテンツモデルをさらにカスタマイズすることができます。[参照]をクリックし、削除するパーティクルがある場合は[ローカル除外]などを展開します。終了したら、[生成]をクリックします。これで完了です。
保存されたXSRファイルをパラメーターとしてコマンドラインユーティリティに渡して、ラベルから同じものを生成し、生成されたファイルをチェックインして、xsd.exeまたはxjcに渡すことができます。
統計からわかるように、4633個の要素、1123個の複合型、および589個の単純型から、40個の要素、14個の複合型、および6個の単純型が残っています。
必要な特定のコンポーネントを選択することにより、出力ファイルに必要なものを追加/調整できます。リファクタリングエンジンは、すべての依存関係を自動的に取り込みます。
デフォルトでは、生成されたファイルはソートされています:単純型、複合型、要素。「モデルファイル」をポイントすることで、それをオーバーライドして「元の」レイアウトを維持できます。元のXSDまたはその他のXSDである可能性があります。これは、コンプライアンス上の理由が何であれ、「ダム」のtext/xml比較ツールに依存したい場合に便利です。
ボーナスには、XSDコンポーネント間の関係を示すビューが含まれます...
または、「不可解」の場合、XSDのリレーショナルビュー(.NETではDataSetと呼ばれます):