use serde::{Deserialize, Serialize};
#[derive(Debug, PartialEq, Serialize, Deserialize, Clone, Default)]
pub struct NameAndLang {
#[serde(rename = "$text", skip_serializing_if = "String::is_empty")]
pub name: String,
#[serde(skip_serializing_if = "Option::is_none", rename = "@lang")]
pub lang: Option<String>,
}
#[derive(Debug, PartialEq, Clone, Serialize, Default)]
pub struct ValueAndLang {
#[serde(rename = "$text", skip_serializing_if = "String::is_empty")]
pub value: String,
#[serde(skip_serializing_if = "Option::is_none", rename = "@lang")]
pub lang: Option<String>,
}
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct EmptyTag {}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Default)]
pub struct TagWithOnlyText {
#[serde(rename = "$text")]
pub value: String,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Default)]
pub struct Icon {
#[serde(rename = "@src")]
pub src: String,
#[serde(skip_serializing_if = "Option::is_none", rename = "@width")]
pub width: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", rename = "@height")]
pub height: Option<String>,
}