xsd(1)
π xsd(1) β bestie's guide to Mono's schema/class-file generator π
ok so like. this is xsd, the Mono utility that generates schemas or class files. yes it shares a name with that one XML Schema thing, no they are not the same, we move. π
β¨ SYNOPSIS β¨
xsd <schema.xsd> /classes [options]
xsd <schema.xsd> /dataset [options]
xsd <assembly>.dll|<assembly>.exe [options]
xsd <instance.xml> [<instance.xml> ...] [options]
πΈ DESCRIPTION πΈ
so xsd is a tool that's intended to complement the XML serialization support of Mono. it's giving sidekick energy but honestly it's the main character of this whole situation. here's what it can do for you:
- Generate serializable classes β from a given XML schema, it generates a class you can use to read and write xml documents that conform to that schema (that's the
/classesoption, periodt π ). - Generate typed datasets β from a given XML schema, it generates a typed
DataSetclass you can use to read and write xml documents that conform to that schema (that's the/datasetoption, iconic). - Generate XML schemas β from a given assembly and an optional type name, it generates an XML schema you can use to validate the xml documents you can get by serializing objects of that type. if you don't provide a type,
xsdgenerates a schema for all types in the assembly. okay and this part is important bestie: when you specify the assembly name, do not include the file extension (.dllor.exe).xsdwill look for the assembly using the standard assembly loading rules. no cap. π¦ - Infer XML schemas β from a given set of XML documents, it infers the XML schema you can use to validate those documents. it's literally reading the vibes of your XML and writing them down. π₯
β OPTIONS β
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. tell it which element, bestie, it can't read your mind./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 areCS(C#) andVB(Visual Basic.NET). so sorry to everyone else, that's the whole guest list. π/generator:type,assembly,/g:type,assemblyβ tellsxsd.exeto use a customCodeDomProviderto generate code. the type name must be the full name. assembly name is a local file name that's going to be loaded. the specifiedTypemust have the default constructor. no default constructor, no party. π/outputdir:path,/o:pathβ specifies the directory where to generate the code or schemas. put your little files somewhere cute. π/type:name,/t:nameβ specifies the full name of the type (including namespace) for which to generate the XML schema. full name, including namespace, don't skip the namespace part. π/help,/hβ show usage help. the classic. always here for you. β¨
π«Ά AUTHORS π«Ά
these legends built it:
- Lluis Sanchez Gual (lluis@ximian.com)
- Atsushi Enomoto (atsushi@ximian.com)
π LICENSE π
xsd is released under the terms of the GNU GPL. slay. legally. βοΈπ
π§ SEE ALSO π§
go read those too, they're in the group chat. π
ok that's the whole page bestie, you ate that. this has been xsd(1) from the Mono manual β that's the one and only, the header up top and the footer down here both say xsd(1) and honestly? consistent queen. πβ¨π
π¦ where this page comes from
- alpine 3.24: mono-doc 6.14.1-r1 Β· MIT
- arch rolling: mono 6.12.0.206-1 Β· GPL AND LGPL2.1 AND MPL
- debian bookworm: mono-devel 6.8.0.105+dfsg-3.3+deb12u1 Β· MIT
- debian trixie: mono-devel 6.12.0.199+dfsg-6 Β· MIT
- epel 10: mono-web 6.14.1-1.el10_2 Β· MIT
- epel 9: mono-web 6.12.0-5.el9 Β· MIT
- fedora 43: mono-web 6.12.0-21.fc43 Β· MIT
- fedora 44: mono-web 6.14.1-3.fc44 Β· MIT
- fedora 44: mono-web 6.14.1-4.fc44 Β· MIT
- nixos 26.05: mono 6.14.1
- nixpkgs unstable: mono 6.14.1
- opensuse-leap 16.0: mono-web 6.12.0-bp160.1.1 Β· MIT AND MS-PL
- opensuse-leap 16.0: mono-web 6.12.0-bp160.1.1 Β· MIT AND MS-PL
- opensuse-leap 16.0: mono-web 6.12.0-bp160.1.1 Β· MIT AND MS-PL
- opensuse-leap 16.0: mono-web 6.12.0-bp160.1.1 Β· MIT AND MS-PL
- ubuntu jammy: mono-devel 6.8.0.105+dfsg-3.2 Β· MIT
- ubuntu noble: mono-devel 6.8.0.105+dfsg-3.6ubuntu2 Β· MIT
- ubuntu questing: mono-devel 6.12.0.199+dfsg-6
- ubuntu resolute: mono-devel 6.14.1+ds2-2 Β· MIT
- ubuntu stonking: mono-devel 6.14.1+ds2-3 Β· MIT
- (C) 2004 Novell, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms