use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, Deserialize, Serialize)] pub struct XsSchema { #[serde(rename = "@xmlns:xs")] pub xmlns_xs: String, #[serde(rename = "@elementFormDefault")] pub element_form_default: String, #[serde(rename = "$text")] pub text: Option, #[serde(rename = "element")] pub xs_element: Vec, } #[derive(Clone, Debug, Deserialize, Serialize)] pub struct XsElement { #[serde(rename = "@name")] pub name: String, #[serde(rename = "$text")] pub text: Option, #[serde(rename = "complexType")] pub xs_complex_type: XsComplexType, } #[derive(Clone, Debug, Deserialize, Serialize)] pub struct XsComplexType { #[serde(rename = "@mixed")] pub mixed: Option, #[serde(rename = "$text")] pub text: Option, #[serde(rename = "attribute")] pub xs_attribute: Option>, #[serde(rename = "sequence")] pub xs_sequence: Option, } #[derive(Clone, Debug, Deserialize, Serialize)] pub struct XsAttribute { #[serde(rename = "@name")] pub name: String, #[serde(rename = "@type")] pub xs_attribute_type: String, #[serde(rename = "@use")] pub xs_attribute_use: String, } #[derive(Clone, Debug, Deserialize, Serialize)] pub struct XsSequence { #[serde(rename = "$text")] pub text: Option, #[serde(rename = "any")] pub xs_any: XsAny, } #[derive(Clone, Debug, Deserialize, Serialize)] pub struct XsAny { #[serde(rename = "@minOccurs")] pub min_occurs: String, #[serde(rename = "@maxOccurs")] pub max_occurs: String, #[serde(rename = "@processContents")] pub process_contents: String, }