lumeohq / xsd-parser-rs

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

Implement xs:union support #31

Closed victor-soloviev closed 4 years ago

victor-soloviev commented 4 years ago

From b-2.xsd:

<xsd:simpleType name="AbsoluteOrRelativeTimeType">
 <xsd:union memberTypes="xsd:dateTime xsd:duration" />
</xsd:simpleType>

Current version of parser/generator does not support unions.

LeonidKrutovsky commented 4 years ago
#[derive(PartialEq, Debug, YaSerialize, YaDeserialize)]
pub enum AbsoluteOrRelativeTimeType {
    #[yaserde(prefix = "xsd", rename = "dateTime")]
    DateTime(xsd::DateTime),
    #[yaserde(prefix = "xsd", rename = "duration")]
    Duration(xsd::Duration),
    __Unknown__(String)
}