In generale, non si può personalizzare i nomi delle classi generate quando si utilizza xsd.exe - a differenza di meccanismi disponibili altrove, per esempio un utente JAXB tramite il file di bind JAXB personalizzato.
Tuttavia, per xsd.exe i nomi di classe generati dipendono dallo stile di creazione. Quello che hai descritto, viene generato quando lo stile di authoring è conforme alla "Russian Doll", cioè come di seguito:
<?xml version="1.0" encoding="utf-8"?>
<!--XML Schema generated by QTAssistant/XML Schema Refactoring (XSR) Module (http://www.paschidev.com)-->
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Students">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Student">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Department">
<xsd:complexType>
<xsd:attribute name="Id" type="xsd:unsignedByte" use="required" />
<xsd:attribute name="Name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string" use="required" />
<xsd:attribute name="RollNo" type="xsd:unsignedByte" use="required" />
<xsd:attribute name="Address" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Se si cambia il suo stile a qualcosa di diverso (questo è chiamato una veneziana):
<?xml version="1.0" encoding="utf-8"?>
<!--XML Schema generated by QTAssistant/XML Schema Refactoring (XSR) Module (http://www.paschidev.com)-->
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Students" type="Students"/>
<xsd:complexType name="Students">
<xsd:sequence>
<xsd:element name="Student" type="Student"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Student">
<xsd:sequence>
<xsd:element name="Department" type="Department"/>
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string" use="required"/>
<xsd:attribute name="RollNo" type="xsd:unsignedByte" use="required"/>
<xsd:attribute name="Address" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="Department">
<xsd:attribute name="Id" type="xsd:unsignedByte" use="required"/>
<xsd:attribute name="Name" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:schema>
Sarai sempre queste classi generate:
fonte
2013-02-13 16:19:02