xsd.exe (.NET SDK で提供されるもの) と Xsd2Code ( http://xsd2code.codeplex.com/ ) を使用したコード生成に問題があります。
XSDファイルの次のセットアップがあります:
- 共通.xsd
- 概要.xsd
- 詳細.xsd
Common は、Summary と Detail の両方で使用されるいくつかのタイプを定義するため、Summary と Detail の両方に line が含まれます<xs:include schemaLocation="Common.xsd" />
。
私が試したすべての XSD コード生成ツールの問題は、トップ レベルの型 (Summary/Detail) を持つ XSD ファイルのみを取得し、1 つの名前空間にクラスを作成することです。
これに関する問題は、これらのツールを使用すると、Common.xsd 内のすべてのタイプ (Namespace.Summary.CommonType および Namespace.Detail.CommonType) の正確なコピーが 2 つ得られることです。コードでそれらを使用したいときは、常にそれらの間で変換する必要があります (基本的にはすべての値をコピーするだけです)。これは非常に面倒で、かなりのオーバーヘッドと混乱につながります。
インクルードをより適切に処理する XSD コード生成ツールはありますか (つまり、インクルードされた型を独自の名前空間に入れ、一度だけ生成します)?