Я использую Xsd2Code для генерации классов из схемы XML. Он работает для некоторых сложных типов, таких как:
<xs:complexType name="AsiguratB1Type">
<xs:sequence>
<xs:element name="asiguratB11" type="AsiguratB11Type" minOccurs="0" maxOccurs="10"/>
</xs:sequence>
<xs:attribute name="B1_1" type="typ:TipAsiguratSType" use="required"/>
<xs:attribute name="B1_2" type="typ:FlagSType" use="required"/>
<xs:attribute name="B1_3" type="typ:TipContractSType" use="required"/>
<xs:attribute name="B1_4" type="typ:OreNormaZiSType" use="required"/>
<xs:attribute name="B1_5" type="typ:Pozitiv15SType"/>
<xs:attribute name="B1_6" type="typ:Pozitiv3SType"/>
<xs:attribute name="B1_7" type="typ:Pozitiv3SType"/>
<xs:attribute name="B1_8" type="typ:Pozitiv3SType"/>
<xs:attribute name="B1_9" type="typ:Pozitiv2SType"/>
<xs:attribute name="B1_10" type="typ:Pozitiv15SType"/>
<xs:attribute name="B1_15" type="typ:Pozitiv2SType"/>
</xs:complexType>
... в то время как для других (пример ниже) он просто генерирует пустые классы (только подпрограммы сериализации, без полей).
<xs:complexType name="AngajatorAType">
<xs:complexContent>
<xs:restriction base="xs:anyType">
<xs:attribute name="A_codOblig" type="typ:CodObligSType" use="required"/>
<xs:attribute name="A_codBugetar" type="typ:CodBugetarSType" use="required"/>
<xs:attribute name="A_datorat" type="typ:Pozitiv15SType" use="required"/>
<xs:attribute name="A_deductibil" type="typ:Pozitiv15SType"/>
<xs:attribute name="A_plata" type="typ:Pozitiv15SType" use="required"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
То же самое происходит с xsd.exe из набора инструментов VS2010.
Как вы думаете, может быть проблема?