Xsd2Code пропускает определенные поля - PullRequest
1 голос
/ 19 февраля 2011

Я использую 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. Как вы думаете, может быть проблема?

Ответы [ 2 ]

0 голосов
/ 30 марта 2011

Я думаю, что может быть проблема, как xsd2code обрабатывает minOccus = 0, когда вы нацеливаетесь на 4.0 framework.Сможете ли вы временно удалить это и посмотреть, что сериализовано?

Что также работает, так это нацеливание на структуру 3.5 и включение атрибутов xml.

0 голосов
/ 19 февраля 2011

Я бы сказал, что это дизайн. Ограничение не может добавлять НОВЫЕ атрибуты или элементы или что-либо еще к базовому типу.

...