2016-09-28 2 views
-1

У меня есть следующий код в моем * .xsd файлxsd2code элемент заменяется списком

<xs:element name="node"> 
    <xs:complexType> 
     <xs:sequence> 
     ... 
     </xs:sequence> 
     <xs:attribute name="id" type="xs:string" use="required"/> 
    </xs:complexType> 
    </xs:element> 

    <xs:element name="foo"> 
    <xs:complexType> 
     <xs:sequence> 
     <!-- this should be lists of bar and baz and NOT of node --> 
     <xs:element ref="bar" minOccurs="0" maxOccurs="unbounded"/> 
     <xs:element ref="baz" minOccurs="0" maxOccurs="unbounded"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 

    <xs:element name="bar"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element ref="node" minOccurs="0" maxOccurs="unbounded"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
    <xs:element name="baz"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element ref="node" minOccurs="0" maxOccurs="unbounded"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 

но когда я gernerate этот код xsd2code я получаю некоторые странные выход, где бар и БАЗ свойства в обув списки узлов. Мне нужно, чтобы bar и baz были классами, которые содержат список узлов. Как я могу это сделать ?

public partial class foo { // generated class 

    private List<node> barField; // ?! 

    private List<node> bazField; // ?! 

    // ... 
} 

ответ

0

нашел решение проблемы. Мне просто пришлось установить mixed = "true". Вот код:

... 
    <xs:element name="bar"> 
    <xs:complexType mixed="1"> 
     <xs:sequence> 
     <xs:element ref="node" minOccurs="0" maxOccurs="unbounded"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
    ... 


public partial class foo { // generated class 

     private List<bar> barField; 

     private List<baz> bazField; 

     // ... 
}