Xsd.exe によって操作できるのは、W3C (World Wide Web Consortium) が提唱する XSD (XML スキーマ定義) に準拠した XML スキーマだけです。XML スキーマ定義の提唱または XML 標準の詳細については、http://w3.org を参照してください。
/parameters スイッチを使用すると、各種のオプションを設定する単一の XML ファイルを指定できます。設定できるオプションは、XSD.exe ツールを使用する方法によって異なります。選択肢には、スキーマの生成、コード ファイルの生成、または DataSet 機能を含むコード ファイルの生成があります。たとえば、コード ファイルではなくスキーマを生成する場合は、実行可能ファイル (.exe) またはタイプ ライブラリ (.dll) ファイルの名前に <assembly> 要素を設定できます。次の XML に、指定された実行可能ファイルで <generateSchemas> 要素を使用する方法を示します。
<!-- This is in a file named GenerateSchemas.xml. -->
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateSchemas>
<assembly>ConsoleApplication1.exe</assembly>
</generateSchemas>
</xsd>
この XML が GenerateSchemas.xml というファイルに含まれる場合、コマンド プロンプトで、/parameters スイッチを使用して次のように入力し、Enter キーを押します。
xsd /p:GenerateSchemas.xml
アセンブリにある単一の型のスキーマを生成する場合は、次のような XML を使用します。
<!-- This is in a file named GenerateSchemaFromType.xml. -->
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateSchemas>
<type>IDItems</type>
</generateSchemas>
</xsd>
しかし、上のコードを使用するには、コマンド プロンプトでアセンブリの名前も指定する必要があります。コマンド プロンプトで次のように入力します (XML ファイルの名前を GenerateSchemaFromType.xml と仮定します)。
xsd /p:GenerateSchemaFromType.xml ConsoleApplication1.exe
<generateSchemas> 要素に対しては、次のオプションのうち 1 つだけを指定する必要があります。
|
要素
|
説明
|
| <assembly> | スキーマを生成するアセンブリを指定します。 |
| <type> | スキーマを生成するアセンブリの型を指定します。 |
| <xml> | スキーマを生成する XML ファイルを指定します。 |
| <xdr> | スキーマを生成する XDR ファイルを指定します。 |
コード ファイルを生成するには、<generateClasses> 要素を使用します。コード ファイルを生成する例を次に示します。この例では、生成されるファイルのプログラミング言語と名前空間を設定するための 2 つの属性も示されています。
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateClasses language='VB' namespace='Microsoft.Serialization.Examples'/>
</xsd>
<!-- You must supply an .xsd file when typing in the command line.-->
<!-- For example: xsd /p:genClasses mySchema.xsd -->
<generateClasses> 要素に設定できるオプションは次のとおりです。
|
要素
|
説明
|
| <element> | コードを生成する対象とする .xsd ファイルの要素を指定します。 |
| <schemaImporterExtensions> | SchemaImporterExtension クラスから派生する型を指定します。 |
次の表に、<generateClasses> 要素と共に使用するその他の属性を示します。
|
属性
|
説明
|
| language | 使用するプログラミング言語を指定します。CS (既定値は C#)、VB (Visual Basic)、JS (JScript)、または VJS (Visual J#) から選択します。CodeDomProvider を実装するクラスの完全修飾名を指定することもできます。 |
| namespace | 生成するコードの名前空間を指定します。名前空間は、スペースやバックスラッシュ文字を使用しないなどの CLR 標準に準拠する必要があります。 |
| options | none、properties (パブリック フィールドの代わりにプロパティを生成)、order、または enableDataBinding (前の「XSD ファイルのオプション」のセクションの /order と /enableDataBinding スイッチを参照) のいずれかの値です。 |
<generateDataSets> 要素を使用すると、DataSet コードを生成する方法を制御できます。次の XML は、生成されたコードが DataSet 構造体 (DataTable クラスなど) を使用して指定された要素のための Visual Basic コードを作成するように指定します。
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateDataSet language='VB' namespace='Microsoft.Serialization.Examples'>
<element>IDItems</element>
</generateDataSet>
</xsd>
<generateDataSet> 要素に設定できるオプションは次のとおりです。
|
要素
|
説明
|
| <element> | コードを生成する対象とする .xsd ファイルの要素を指定します。 |
次の表に、<generateDataSet> 要素と共に使用できる属性を示します。
|
属性
|
説明
|
| language | 使用するプログラミング言語を指定します。CS (既定値は C#)、VB (Visual Basic)、JS (JScript)、または VJS (Visual J#) から選択します。CodeDomProvider を実装するクラスの完全修飾名を指定することもできます。 |
| namespace | 生成するコードの名前空間を指定します。名前空間は、スペースやバックスラッシュ文字を使用しないなどの CLR 標準に準拠する必要があります。 |
トップ レベルの <xsd> 要素に設定できる属性があります。これらのオプションは、<generateSchemas>、<generateClasses>、または <generateDataSet> の各子要素と共に使用できます。次の XML コードは、"MyOutputDirectory" という出力ディレクトリの "IDItems" という要素のコードを生成します。
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/' output='MyOutputDirectory'>
<generateClasses>
<element>IDItems</element>
</generateClasses>
</xsd>
次の表に、<xsd> 要素と共に使用するその他の属性を示します。
|
属性
|
説明
|
| output | 生成されたスキーマまたはコード ファイルが格納されるディレクトリの名前です。 |
| nologo | バナーを表示しません。true または false に設定します。 |
| help | このツールのコマンド構文とオプションを表示します。true または false に設定します。 |