xsd - Mono's utility for generating schema or class files
xsd <schema.xsd> /classes [options]
xsd <schema.xsd> /dataset [options]
xsd <assembly>.dll|<assembly>.exe [options]
xsd <instance.xml> [<instance.xml> ...]
[options]
xsd is a tool for intended to complement the XML
serialization support of Mono. It can do the following tasks:
- Generate serializable
classes
- From a given XML schema, generate a class that can be used to read and
write xml documents that conform that schema (/classes option).
- Generate typed
datasets
- From a given XML schema, generate a typed DataSet class that can be used
to read and write xml documents that conform that schema (/dataset
option).
- Generate XML
schemas
- From a given assembly and an optional type name, generate an XML schema
that can be used to validate the xml documents that can be obtained by
serializing objects of that type. If no type is provided, xsd generates a
schema for all types in the assembly. When specifying the assembly name do
not include the file extension (.dll or .exe). xsd will look for the
assembly using the standard assembly loading rules.
- Infer XML schemas
- From a given set of XML documents, infer the XML schema that can be used
to validate those documents.
The following options are available:
- /element:name /e:name
- Specifies the name of the XML schema element for which a class or a
dataset has to be generated.
- /namespace:name /n:name
- Specifies the namespace of the XML schema element for which a class or a
dataset has to be generated.
- /language:name /l:name
- Specifies the programming language to use for the generated code. The only
supported languages are CS (C#) and VB (Visual Basic.NET).
- /generator:type,assembly /g:type,assembly
- Indicates xsd.exe to use custom CodeDomProvider to generate code. The type
name must be full name. Assembly name is a local file name that is going
to be loaded. The specified Type must have the default constructor.
- /outputdir:path /o:path
- Specifies the directory where to generate the code or schemas.
- /type:name /t:name
- Specifies the full name of the type (including namespace) for which to
generate the XML schema.
- /help /h
- Show usage help.
Lluis Sanchez Gual (lluis@ximian.com)
Atsushi Enomoto (atsushi@ximian.com)
xsd is released under the terms of the GNU GPL.