self, Axis2, Axis3, Category, CategoryLocator, Dimension, Group, Leaf, Length, PivotTable,
look::{
self, Area, AreaStyle, CellStyle, Color, HeadingRegion, HorzAlign, Look, RowParity,
- Stroke, VertAlign,
+ VertAlign,
},
value::Value,
},
struct Format {
#[serde(rename = "@baseFormat")]
base_format: Option<BaseFormat>,
- #[serde(rename = "@errorCharacter")]
- error_character: Option<char>,
- #[serde(rename = "@separatorChars")]
- separator_chars: Option<String>,
#[serde(rename = "@mdyOrder")]
mdy_order: Option<MdyOrder>,
- #[serde(rename = "@showYear")]
- show_year: Option<bool>,
#[serde(rename = "@showQuarter")]
show_quarter: Option<bool>,
#[serde(rename = "@quarterPrefix")]
- quarter_prefix: Option<String>,
- #[serde(rename = "@quarterSuffix")]
- quarter_suffix: Option<String>,
- #[serde(rename = "@yearAbbreviation")]
year_abbreviation: Option<bool>,
- #[serde(rename = "@showMonth")]
- show_month: Option<bool>,
#[serde(rename = "@monthFormat")]
month_format: Option<MonthFormat>,
- #[serde(rename = "@dayPadding")]
- day_padding: Option<bool>,
- #[serde(rename = "@dayOfMonthPadding")]
- day_of_month_padding: Option<bool>,
#[serde(rename = "@showWeek")]
show_week: Option<bool>,
- #[serde(rename = "@weekPadding")]
- week_padding: Option<bool>,
- #[serde(rename = "@weekSuffix")]
- week_suffix: Option<String>,
- #[serde(rename = "@showDayOfWeek")]
- show_day_of_week: Option<bool>,
- #[serde(rename = "@dayOfWeekAbbreviation")]
- day_of_week_abbreviation: Option<bool>,
- #[serde(rename = "hourPadding")]
- hour_padding: Option<bool>,
- #[serde(rename = "minutePadding")]
- minute_padding: Option<bool>,
- #[serde(rename = "secondPadding")]
- second_padding: Option<bool>,
#[serde(rename = "@showDay")]
show_day: Option<bool>,
#[serde(rename = "@showHour")]
show_hour: Option<bool>,
- #[serde(rename = "@showMinute")]
- show_minute: Option<bool>,
#[serde(rename = "@showSecond")]
show_second: Option<bool>,
#[serde(rename = "@showMillis")]
show_millis: Option<bool>,
- #[serde(rename = "@dayType")]
- day_type: Option<DayType>,
- #[serde(rename = "@hourFormat")]
- hour_format: Option<HourFormat>,
- #[serde(rename = "@minimumIntegerDigits")]
- minimum_integer_digits: Option<usize>,
#[serde(rename = "@maximumFractionDigits")]
maximum_fraction_digits: Option<i64>,
- #[serde(rename = "@minimumFractionDigits")]
- minimum_fraction_digits: Option<usize>,
#[serde(rename = "@useGrouping")]
use_grouping: Option<bool>,
#[serde(rename = "@scientific")]
scientific: Option<Scientific>,
- #[serde(rename = "@small")]
- small: Option<f64>,
#[serde(default, rename = "@prefix")]
prefix: String,
#[serde(default, rename = "@suffix")]
suffix: String,
#[serde(rename = "@tryStringsAsNumbers")]
try_strings_as_numbers: Option<bool>,
- #[serde(rename = "@negativesOutside")]
- negatives_outside: Option<bool>,
#[serde(default, rename = "relabel")]
relabels: Vec<Relabel>,
#[serde(default, rename = "affix")]
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct NumberFormat {
- #[serde(rename = "@minimumIntegerDigits")]
- minimum_integer_digits: Option<i64>,
#[serde(rename = "@maximumFractionDigits")]
maximum_fraction_digits: Option<i64>,
- #[serde(rename = "@minimumFractionDigits")]
- minimum_fraction_digits: Option<i64>,
#[serde(rename = "@useGrouping")]
use_grouping: Option<bool>,
#[serde(rename = "@scientific")]
scientific: Option<Scientific>,
- #[serde(rename = "@small")]
- small: Option<f64>,
#[serde(default, rename = "@prefix")]
prefix: String,
#[serde(default, rename = "@suffix")]
struct DateTimeFormat {
#[serde(rename = "@baseFormat")]
base_format: BaseFormat,
- #[serde(rename = "@separatorChars")]
- separator_chars: Option<String>,
#[serde(rename = "@mdyOrder")]
mdy_order: Option<MdyOrder>,
- #[serde(rename = "@showYear")]
- show_year: Option<bool>,
#[serde(rename = "@showQuarter")]
show_quarter: Option<bool>,
- #[serde(rename = "@quarterPrefix")]
- quarter_prefix: Option<String>,
- #[serde(rename = "@quarterSuffix")]
- quarter_suffix: Option<String>,
#[serde(rename = "@yearAbbreviation")]
year_abbreviation: Option<bool>,
- #[serde(rename = "@showMonth")]
- show_month: Option<bool>,
#[serde(rename = "@monthFormat")]
month_format: Option<MonthFormat>,
- #[serde(rename = "@dayPadding")]
- day_padding: Option<bool>,
- #[serde(rename = "@dayOfMonthPadding")]
- day_of_month_padding: Option<bool>,
#[serde(rename = "@showWeek")]
show_week: Option<bool>,
- #[serde(rename = "@weekPadding")]
- week_padding: Option<bool>,
- #[serde(rename = "@weekSuffix")]
- week_suffix: Option<String>,
- #[serde(rename = "@showDayOfWeek")]
- show_day_of_week: Option<bool>,
- #[serde(rename = "@dayOfWeekAbbreviation")]
- day_of_week_abbreviation: Option<bool>,
- #[serde(rename = "hourPadding")]
- hour_padding: Option<bool>,
- #[serde(rename = "minutePadding")]
- minute_padding: Option<bool>,
- #[serde(rename = "secondPadding")]
- second_padding: Option<bool>,
#[serde(rename = "@showDay")]
show_day: Option<bool>,
#[serde(rename = "@showHour")]
show_hour: Option<bool>,
- #[serde(rename = "@showMinute")]
- show_minute: Option<bool>,
#[serde(rename = "@showSecond")]
show_second: Option<bool>,
#[serde(rename = "@showMillis")]
show_millis: Option<bool>,
- #[serde(rename = "@dayType")]
- day_type: Option<DayType>,
- #[serde(rename = "@hourFormat")]
- hour_format: Option<HourFormat>,
#[serde(default, rename = "affix")]
affixes: Vec<Affix>,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct ElapsedTimeFormat {
- #[serde(rename = "@dayPadding")]
- day_padding: Option<bool>,
- #[serde(rename = "hourPadding")]
- hour_padding: Option<bool>,
- #[serde(rename = "minutePadding")]
- minute_padding: Option<bool>,
- #[serde(rename = "secondPadding")]
- second_padding: Option<bool>,
#[serde(rename = "@showDay")]
show_day: Option<bool>,
#[serde(rename = "@showHour")]
show_hour: Option<bool>,
- #[serde(rename = "@showMinute")]
- show_minute: Option<bool>,
#[serde(rename = "@showSecond")]
show_second: Option<bool>,
#[serde(rename = "@showMillis")]
show_millis: Option<bool>,
- #[serde(rename = "@showYear")]
- show_year: Option<bool>,
#[serde(default, rename = "affix")]
affixes: Vec<Affix>,
}
PaddedNumber,
}
-#[derive(Copy, Clone, Debug, PartialEq, Eq, Deserialize)]
-#[serde(rename_all = "camelCase")]
-enum DayType {
- Month,
- Year,
-}
-
-#[derive(Copy, Clone, Debug, PartialEq, Eq, Deserialize)]
-#[serde(rename_all = "camelCase")]
-enum HourFormat {
- #[serde(rename = "AMPM")]
- AmPm,
- #[serde(rename = "AS_24")]
- As24,
- #[serde(rename = "AS_12")]
- As12,
-}
-
#[derive(Copy, Clone, Debug, PartialEq, Eq, Deserialize)]
#[serde(rename_all = "camelCase")]
enum Scientific {
/// the second, and so on.
#[serde(rename = "@definesReference")]
defines_reference: u64,
-
- /// Position for the footnote label.
- #[serde(rename = "@position")]
- position: Position,
-
- /// Whether the affix is a suffix (true) or a prefix (false).
- #[serde(rename = "@suffix")]
- suffix: bool,
-
- /// The text of the suffix or prefix. Typically a letter, e.g. `a` for
- /// footnote 1, `b` for footnote 2, ...
- #[serde(rename = "@value")]
- value: String,
-}
-
-#[derive(Copy, Clone, Debug, PartialEq, Eq, Deserialize)]
-#[serde(rename_all = "camelCase")]
-enum Position {
- Subscript,
- Superscript,
}
#[derive(Deserialize, Debug)]
#[serde(rename = "@color")]
color: Option<Color>,
- /// Not used.
- #[serde(rename = "@color2")]
- color2: Option<Color>,
-
- /// Normally 0. The value -90 causes inner column or outer row labels to be
- /// rotated vertically.
- #[serde(rename = "@labelAngle")]
- label_angle: Option<f64>,
-
- #[serde(rename = "@border-bottom")]
- border_bottom: Option<Stroke>,
-
- #[serde(rename = "@border-top")]
- border_top: Option<Stroke>,
-
- #[serde(rename = "@border-left")]
- border_left: Option<Stroke>,
-
- #[serde(rename = "@border-right")]
- border_right: Option<Stroke>,
-
- #[serde(rename = "@border-bottom-color")]
- border_bottom_color: Option<Color>,
-
- #[serde(rename = "@border-top-color")]
- border_top_color: Option<Color>,
-
- #[serde(rename = "@border-left-color")]
- border_left_color: Option<Color>,
-
- #[serde(rename = "@border-right-color")]
- border_right_color: Option<Color>,
-
- #[serde(rename = "@font-family")]
- font_family: Option<String>,
-
#[serde(rename = "@font-size")]
font_size: Option<String>,
#[serde(rename = "@font-underline")]
font_underline: Option<FontUnderline>,
- #[serde(rename = "@margin-bottom")]
- margin_bottom: Option<Length>,
-
- #[serde(rename = "@margin-top")]
- margin_top: Option<Length>,
-
- #[serde(rename = "@margin-left")]
- margin_left: Option<Length>,
-
- #[serde(rename = "@margin-right")]
- margin_right: Option<Length>,
-
#[serde(rename = "@textAlignment")]
text_alignment: Option<TextAlignment>,
- #[serde(rename = "@labelLocationHorizontal")]
- label_location_horizontal: Option<LabelLocation>,
-
#[serde(rename = "@labelLocationVertical")]
label_location_vertical: Option<LabelLocation>,
- #[serde(rename = "@size")]
- size: Option<String>,
-
#[serde(rename = "@width")]
width: Option<String>,
}
}
-#[derive(Deserialize, Debug)]
-#[serde(rename_all = "camelCase")]
-struct SetStyle {
- #[serde(rename = "@target")]
- target: String,
-
- #[serde(rename = "@style")]
- style: Ref<Style>,
-}
-
-#[derive(Deserialize, Debug)]
-#[serde(rename_all = "camelCase")]
-struct SetMetaData {
- #[serde(rename = "@target")]
- target: Ref<Graph>,
-
- #[serde(rename = "@key")]
- key: String,
-
- #[serde(rename = "@value")]
- value: String,
-}
-
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct SetFormat {
#[serde(rename = "@target")]
target: String,
- #[serde(rename = "@reset")]
- reset: Option<bool>,
-
#[serde(rename = "$value")]
child: Option<SetFormatChild>,
}
}
}
-#[derive(Deserialize, Debug)]
-#[serde(rename_all = "camelCase")]
-struct SetFrameStyle {
- #[serde(rename = "@style")]
- style: Ref<Style>,
-
- #[serde(rename = "@target")]
- target: Ref<MajorTicks>,
-}
-
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct Interval {
- #[serde(rename = "@id")]
- id: Option<String>,
-
- #[serde(rename = "@style")]
- style: Ref<Style>,
-
labeling: Labeling,
footnotes: Option<Footnotes>,
}
#[serde(rename = "@id")]
id: Option<String>,
- #[serde(rename = "@style")]
- style: Option<Ref<Style>>,
-
- #[serde(rename = "@variable")]
- variable: String,
-
#[serde(rename = "$value", default)]
children: Vec<LabelingChild>,
}
#[serde(rename_all = "camelCase")]
enum LabelingChild {
Formatting(Formatting),
- Format(Format),
Footnotes(Footnotes),
+ #[serde(other)]
+ Other,
}
impl LabelingChild {
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct Footnotes {
- #[serde(rename = "@superscript")]
- superscript: Option<bool>,
-
#[serde(rename = "@variable")]
variable: String,
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct FacetLevel {
- #[serde(rename = "@id")]
- id: Option<String>,
-
#[serde(rename = "@level")]
level: usize,
- #[serde(rename = "@gap")]
- gap: Option<Length>,
axis: Axis,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct Axis {
- #[serde(rename = "@style")]
- style: Ref<Style>,
-
label: Option<Label>,
major_ticks: MajorTicks,
}
#[serde(rename = "@labelAngle")]
label_angle: f64,
- #[serde(rename = "@length")]
- length: Length,
-
#[serde(rename = "@style")]
style: Ref<Style>,
-
- #[serde(rename = "@labelFrequency")]
- label_frequency: Option<i64>,
-
- #[serde(rename = "@stagger")]
- stagger: Option<bool>,
}
#[derive(Deserialize, Debug)]
fn text(&self) -> &[Text] {
match &self.child {
LabelChild::Text(texts) => texts.as_slice(),
- LabelChild::DescriptionGroup(_) => &[],
+ LabelChild::Other => &[],
}
}
}
#[serde(rename_all = "camelCase")]
enum LabelChild {
Text(Vec<Text>),
- DescriptionGroup(DescriptionGroup),
+ #[serde(other)]
+ Other,
}
#[derive(Deserialize, Debug)]
#[serde(rename = "@definesReference")]
defines_reference: Option<NonZeroUsize>,
- #[serde(rename = "@position")]
- position: Option<Position>,
-
- #[serde(rename = "@style")]
- style: Option<Ref<Style>>,
-
#[serde(default, rename = "$text")]
text: String,
}
-#[derive(Deserialize, Debug)]
-#[serde(rename_all = "camelCase")]
-struct DescriptionGroup {
- #[serde(rename = "@target")]
- target: Ref<Faceting>,
-
- #[serde(rename = "@separator")]
- separator: Option<String>,
-
- #[serde(rename = "$value")]
- children: Vec<DescriptionGroupChild>,
-}
-
-#[derive(Deserialize, Debug)]
-#[serde(rename_all = "camelCase")]
-enum DescriptionGroupChild {
- Description(Description),
- Text(Text),
-}
-
-#[derive(Deserialize, Debug)]
-#[serde(rename_all = "camelCase")]
-struct Description {
- #[serde(rename = "@name")]
- name: Name,
-}
-
-#[derive(Copy, Clone, Debug, PartialEq, Eq, Deserialize)]
-#[serde(rename_all = "camelCase")]
-enum Name {
- Variable,
- Value,
-}
-
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct LabelFrame {
- #[serde(rename = "@id")]
- id: Option<String>,
-
- #[serde(rename = "@style")]
- style: Option<Ref<Style>>,
-
label: Option<Label>,
- paragraph: Option<Paragraph>,
}
impl LabelFrame {
}
}
-#[derive(Deserialize, Debug)]
-#[serde(rename_all = "camelCase")]
-struct Paragraph;
-
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct Container {
- #[serde(rename = "@style")]
- style: Ref<Style>,
-
- #[serde(default, rename = "extension")]
- extensions: Option<ContainerExtension>,
#[serde(rename = "labelFrame")]
#[serde(default)]
label_frames: Vec<LabelFrame>,
}
-
-#[derive(Deserialize, Debug)]
-#[serde(rename = "extension", rename_all = "camelCase")]
-struct ContainerExtension {
- #[serde(rename = "@combinedFootnotes")]
- combined_footnotes: Option<bool>,
-}