//
// -----------------------------------------------------------------------------
//  THIS FILE WAS @generated AUTOMATICALLY. DO NOT MODIFY THIS FILE MANUALLY.
// -----------------------------------------------------------------------------
//

#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, Hash, ooxmlsdk_derive::SdkEnum)]
pub enum RichValueFallbackType {
  #[sdk(rename = "b")]
  #[default]
  B,
  #[sdk(rename = "n")]
  N,
  #[sdk(rename = "e")]
  E,
  #[sdk(rename = "s")]
  S,
}
#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, Hash, ooxmlsdk_derive::SdkEnum)]
pub enum RichValueValueType {
  #[sdk(rename = "d")]
  #[default]
  D,
  #[sdk(rename = "i")]
  I,
  #[sdk(rename = "b")]
  B,
  #[sdk(rename = "e")]
  E,
  #[sdk(rename = "s")]
  S,
  #[sdk(rename = "r")]
  R,
  #[sdk(rename = "a")]
  A,
  #[sdk(rename = "spb")]
  Spb,
}
/// Defines the RichValueBlock Class.
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(no_prefix, qname = "xlrd:rvb")]
pub struct RichValueBlock {
  /// i
  #[sdk(attr(qname = ":i"))]
  pub i: crate::simple_type::UInt32Value,
}
/// Defines the RichValueData Class.
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(no_prefix, qname = "xlrd:rvData")]
pub struct RichValueData {
  pub xmlns: Vec<crate::common::XmlNamespace>,
  pub xml_header: crate::common::XmlHeaderType,
  /// count
  #[sdk(attr(qname = ":count"))]
  pub count: crate::simple_type::UInt32Value,
  /// Defines the RichValue Class.
  #[sdk(child(no_prefix, qname = "xlrd:rv"))]
  pub rich_value: Vec<RichValue>,
  /// Defines the ExtensionList Class.
  #[sdk(child(no_prefix, qname = "xlrd:extLst"))]
  pub extension_list: Option<ExtensionList>,
}
/// Defines the RichValueStructures Class.
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(no_prefix, qname = "xlrd:rvStructures")]
pub struct RichValueStructures {
  pub xmlns: Vec<crate::common::XmlNamespace>,
  pub xml_header: crate::common::XmlHeaderType,
  /// count
  #[sdk(attr(qname = ":count"))]
  pub count: crate::simple_type::UInt32Value,
  /// Defines the RichValueStructure Class.
  #[sdk(child(no_prefix, qname = "xlrd:s"))]
  pub rich_value_structure: Vec<RichValueStructure>,
  /// Defines the ExtensionList Class.
  #[sdk(child(no_prefix, qname = "xlrd:extLst"))]
  pub extension_list: Option<ExtensionList>,
}
/// Defines the RichValue Class.
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(no_prefix, qname = "xlrd:rv")]
pub struct RichValue {
  /// s
  #[sdk(attr(qname = ":s"))]
  pub s: crate::simple_type::UInt32Value,
  /// Defines the RichValueFallback Class.
  #[sdk(child(no_prefix, qname = "xlrd:fb"))]
  pub rich_value_fallback: Option<RichValueFallback>,
  /// Defines the Value Class.
  #[sdk(text_child(simple_type = "StringValue", no_prefix, qname = "xlrd:v"))]
  pub value: Vec<Value>,
}
/// Defines the ExtensionList Class.
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(no_prefix, qname = "xlrd:extLst")]
pub struct ExtensionList {
  /// Extension.
  #[sdk(child(qname = "x:ext"))]
  pub extension: Vec<crate::schemas::x::Extension>,
}
/// Defines the RichValueFallback Class.
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(no_prefix, qname = "xlrd:fb")]
pub struct RichValueFallback {
  /// t
  #[sdk(attr(qname = ":t"))]
  pub t: Option<RichValueFallbackType>,
  #[sdk(text)]
  pub xml_content: Option<crate::simple_type::StringValue>,
}
/// Defines the Value Class.
pub type Value = crate::simple_type::StringValue;
/// Defines the RichValueStructure Class.
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(no_prefix, qname = "xlrd:s")]
pub struct RichValueStructure {
  /// t
  #[sdk(attr(qname = ":t"))]
  pub t: crate::simple_type::StringValue,
  /// Defines the Key Class.
  #[sdk(child(no_prefix, qname = "xlrd:k"))]
  pub key: Vec<Key>,
}
/// Defines the Key Class.
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(no_prefix, qname = "xlrd:k")]
pub struct Key {
  /// n
  #[sdk(attr(qname = ":n"))]
  pub n: crate::simple_type::StringValue,
  /// t
  #[sdk(attr(qname = ":t"))]
  pub t: Option<RichValueValueType>,
}
