lumeohq / xsd-parser-rs

A xsd/wsdl => rust code generator written in rust
Apache License 2.0
97 stars 34 forks source link

Add yaserde attributes for elements in sequence #11

Closed LeonidKrutovsky closed 4 years ago

LeonidKrutovsky commented 4 years ago

Now we only have the generation for attributes. We need to add the same for the elements.

<xs:complexType name="Config">
    <xs:sequence>
        <xs:element name="Parameters" type="tt:ItemList">
...
        </xs:element>
    </xs:sequence>
    <xs:attribute name="Name" type="xs:string" use="required">  
... 
    </xs:attribute>
    <xs:attribute name="Type" type="xs:QName" use="required">
...
    </xs:attribute>
</xs:complexType>

result code:

pub struct Config {
  #[yaserde(attribute, rename = "Parameters")]
             ^^^^^^^^ this place
  pub parameters: ItemList,  // ...

  #[yaserde(attribute, rename = "Name")]
  pub name: String, //...

  #[yaserde(attribute, rename = "Type")]
  pub type: xs::QName,  //...
}