1

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>

VS2010 ツールセットのxsd.exeでも同じことが起こります。何が問題になると思いますか?

4

2 に答える 2

0

4.0 フレームワークを対象とする場合、xsd2code が minOccus=0 を処理する方法に問題がある可能性があると思います。それを一時的に削除して、シリアル化されているものを確認できますか?

3.5 フレームワークをターゲットにして xml 属性を含めることもうまくいくようです。

于 2011-03-30T14:51:17.037 に答える
0

私はそれが設計によるものだと思います。制限により、新しい属性や要素などを基本型に追加することはできません。

于 2011-02-19T14:31:30.083 に答える