Svcutil genera un valor de propiedad Name incorrecto en DataContractAttribute
Cuando uso svcutil.exe para generar una clase de Cliente a partir de la definición contenida en el archivo xsd:
<xs:schema ...>
<xs:element name="customer" type="Customer" nillable="true" />
<xs:complexType name="Customer">
<xs:sequence>
<xs:element name="id" type="xs:decimal" minOccurs="0" />
<xs:element name="first_name" type="xs:string" />
<xs:element name="last_name" type="xs:string" />
<xs:element name="phone" type="Phone" minOccurs="0" />
<xs:element name="email" type="Email" minOccurs="0" />
<xs:element name="personal_id" type="xs:string" minOccurs="0" />
<xs:element name="address" type="Address" minOccurs="0" />
<xs:element name="status" type="CustomerStatus" />
</xs:sequence>
</xs:complexType>
</xs:schema>
Obtengo la siguiente definición de la clase:
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="Customer", Namespace="http://www.bluewhite.pl/api/1.0")]
public partial class Customer : object, System.Runtime.Serialization.IExtensibleDataObject
{
Con la propiedad Name de DataContractAttribute que tiene un valor no válido: "Cliente" (comenzando con letra mayúscula), ya que, según la propiedad name del elemento xs:, debería ser: "cliente" (comenzando con letra minúscula).
Inicio svcutil.exe de la siguiente manera:
svcutil.exe" *.xsd /t:code /dconly /n:*,Esap.AdtZapisoMessages /o:Messages.cs /tcv:Version35
El xml generado debe contener un elemento raíz llamado "cliente", y le pregunto por qué svcutil.exe comete este error.