Obtuve un comportamiento extraño con el generador XSD que realmente no puedo explicar. Tengo un XSD como esto:La herramienta XSD agrega "Especificado" a ciertas propiedades/campos al generar el código C#
<xs:complexType name="StageSequenceElement" mixed="false">
<xs:complexContent>
<xs:extension base="CoreObject">
<xs:sequence>
<xs:element name="Description" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Some Doc</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StageRef" type="ObjectReference">
<xs:annotation>
<xs:documentation>...</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MinDuration_100ms" type="xs:int" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>...</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MaxDuration_100ms" type="xs:int" nillable="true">
<xs:annotation>
<xs:documentation>...</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StageOnDemand" type="xs:boolean" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>...</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
se deriva de CoreObject:
<xs:complexType name="CoreObject">
<xs:sequence>
<xs:element name="No" type="xs:int">
<xs:annotation>
<xs:documentation>...</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
Esto es sólo una pequeña parte de la XSD, hay muchos tipos más complejos.
Así que cuando me generan las clases similares a this, me sale una clase generada que tiene dos propiedades más (además del 5 lo cual esperaría):
public bool MinDuration_100msSpecified
y
public bool StageOnDemandSpecified
Por lo tanto, a la propiedad "original" se agregó "Especificado" y el tipo ahora es bool. ¿Alguien puede explicar por qué esto es así?
Gracias, ¿hay alguna forma de evitar la creación de esa propiedad? – derape
Puede probar las herramientas xsd2code, que proporcionan más funciones. http://xsd2code.codeplex.com/ –
Bueno, terminamos con un codegen por nosotros mismos que se ajusta a nuestras necesidades, pero gracias de todos modos :-) – derape