1use serde::{Deserialize, Serialize};
5
6pub mod ns {
8 pub const O: &str = "urn:schemas-microsoft-com:office:office";
10 pub const S: &str = "http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes";
12 pub const V: &str = "urn:schemas-microsoft-com:vml";
14 pub const W10: &str = "urn:schemas-microsoft-com:office:word";
16 pub const X: &str = "urn:schemas-microsoft-com:office:excel";
18 pub const R: &str = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
20 pub const M: &str = "http://schemas.openxmlformats.org/officeDocument/2006/math";
22 pub const SL: &str = "http://schemas.openxmlformats.org/schemaLibrary/2006/main";
24 pub const W: &str = "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
26 pub const WP: &str = "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing";
28}
29
30pub type Language = String;
31
32pub type HexColorRgb = Vec<u8>;
33
34pub type Panose = Vec<u8>;
35
36#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
37pub enum CalendarType {
38 #[serde(rename = "gregorian")]
39 Gregorian,
40 #[serde(rename = "gregorianUs")]
41 GregorianUs,
42 #[serde(rename = "gregorianMeFrench")]
43 GregorianMeFrench,
44 #[serde(rename = "gregorianArabic")]
45 GregorianArabic,
46 #[serde(rename = "hijri")]
47 Hijri,
48 #[serde(rename = "hebrew")]
49 Hebrew,
50 #[serde(rename = "taiwan")]
51 Taiwan,
52 #[serde(rename = "japan")]
53 Japan,
54 #[serde(rename = "thai")]
55 Thai,
56 #[serde(rename = "korea")]
57 Korea,
58 #[serde(rename = "saka")]
59 Saka,
60 #[serde(rename = "gregorianXlitEnglish")]
61 GregorianXlitEnglish,
62 #[serde(rename = "gregorianXlitFrench")]
63 GregorianXlitFrench,
64 #[serde(rename = "none")]
65 None,
66}
67
68impl std::fmt::Display for CalendarType {
69 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
70 match self {
71 Self::Gregorian => write!(f, "gregorian"),
72 Self::GregorianUs => write!(f, "gregorianUs"),
73 Self::GregorianMeFrench => write!(f, "gregorianMeFrench"),
74 Self::GregorianArabic => write!(f, "gregorianArabic"),
75 Self::Hijri => write!(f, "hijri"),
76 Self::Hebrew => write!(f, "hebrew"),
77 Self::Taiwan => write!(f, "taiwan"),
78 Self::Japan => write!(f, "japan"),
79 Self::Thai => write!(f, "thai"),
80 Self::Korea => write!(f, "korea"),
81 Self::Saka => write!(f, "saka"),
82 Self::GregorianXlitEnglish => write!(f, "gregorianXlitEnglish"),
83 Self::GregorianXlitFrench => write!(f, "gregorianXlitFrench"),
84 Self::None => write!(f, "none"),
85 }
86 }
87}
88
89impl std::str::FromStr for CalendarType {
90 type Err = String;
91
92 fn from_str(s: &str) -> Result<Self, Self::Err> {
93 match s {
94 "gregorian" => Ok(Self::Gregorian),
95 "gregorianUs" => Ok(Self::GregorianUs),
96 "gregorianMeFrench" => Ok(Self::GregorianMeFrench),
97 "gregorianArabic" => Ok(Self::GregorianArabic),
98 "hijri" => Ok(Self::Hijri),
99 "hebrew" => Ok(Self::Hebrew),
100 "taiwan" => Ok(Self::Taiwan),
101 "japan" => Ok(Self::Japan),
102 "thai" => Ok(Self::Thai),
103 "korea" => Ok(Self::Korea),
104 "saka" => Ok(Self::Saka),
105 "gregorianXlitEnglish" => Ok(Self::GregorianXlitEnglish),
106 "gregorianXlitFrench" => Ok(Self::GregorianXlitFrench),
107 "none" => Ok(Self::None),
108 _ => Err(format!("unknown CalendarType value: {}", s)),
109 }
110 }
111}
112
113#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
114pub enum STAlgClass {
115 #[serde(rename = "hash")]
116 Hash,
117 #[serde(rename = "custom")]
118 Custom,
119}
120
121impl std::fmt::Display for STAlgClass {
122 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
123 match self {
124 Self::Hash => write!(f, "hash"),
125 Self::Custom => write!(f, "custom"),
126 }
127 }
128}
129
130impl std::str::FromStr for STAlgClass {
131 type Err = String;
132
133 fn from_str(s: &str) -> Result<Self, Self::Err> {
134 match s {
135 "hash" => Ok(Self::Hash),
136 "custom" => Ok(Self::Custom),
137 _ => Err(format!("unknown STAlgClass value: {}", s)),
138 }
139 }
140}
141
142#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
143pub enum STCryptProv {
144 #[serde(rename = "rsaAES")]
145 RsaAES,
146 #[serde(rename = "rsaFull")]
147 RsaFull,
148 #[serde(rename = "custom")]
149 Custom,
150}
151
152impl std::fmt::Display for STCryptProv {
153 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
154 match self {
155 Self::RsaAES => write!(f, "rsaAES"),
156 Self::RsaFull => write!(f, "rsaFull"),
157 Self::Custom => write!(f, "custom"),
158 }
159 }
160}
161
162impl std::str::FromStr for STCryptProv {
163 type Err = String;
164
165 fn from_str(s: &str) -> Result<Self, Self::Err> {
166 match s {
167 "rsaAES" => Ok(Self::RsaAES),
168 "rsaFull" => Ok(Self::RsaFull),
169 "custom" => Ok(Self::Custom),
170 _ => Err(format!("unknown STCryptProv value: {}", s)),
171 }
172 }
173}
174
175#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
176pub enum STAlgType {
177 #[serde(rename = "typeAny")]
178 TypeAny,
179 #[serde(rename = "custom")]
180 Custom,
181}
182
183impl std::fmt::Display for STAlgType {
184 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
185 match self {
186 Self::TypeAny => write!(f, "typeAny"),
187 Self::Custom => write!(f, "custom"),
188 }
189 }
190}
191
192impl std::str::FromStr for STAlgType {
193 type Err = String;
194
195 fn from_str(s: &str) -> Result<Self, Self::Err> {
196 match s {
197 "typeAny" => Ok(Self::TypeAny),
198 "custom" => Ok(Self::Custom),
199 _ => Err(format!("unknown STAlgType value: {}", s)),
200 }
201 }
202}
203
204pub type STColorType = String;
205
206pub type Guid = String;
207
208pub type OnOff = String;
209
210#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
211pub enum STOnOff1 {
212 #[serde(rename = "on")]
213 On,
214 #[serde(rename = "off")]
215 Off,
216}
217
218impl std::fmt::Display for STOnOff1 {
219 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
220 match self {
221 Self::On => write!(f, "on"),
222 Self::Off => write!(f, "off"),
223 }
224 }
225}
226
227impl std::str::FromStr for STOnOff1 {
228 type Err = String;
229
230 fn from_str(s: &str) -> Result<Self, Self::Err> {
231 match s {
232 "on" => Ok(Self::On),
233 "off" => Ok(Self::Off),
234 _ => Err(format!("unknown STOnOff1 value: {}", s)),
235 }
236 }
237}
238
239pub type STString = String;
240
241pub type STXmlName = String;
242
243#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
244pub enum TrueFalse {
245 #[serde(rename = "t")]
246 T,
247 #[serde(rename = "f")]
248 F,
249 #[serde(rename = "true")]
250 True,
251 #[serde(rename = "false")]
252 False,
253}
254
255impl std::fmt::Display for TrueFalse {
256 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
257 match self {
258 Self::T => write!(f, "t"),
259 Self::F => write!(f, "f"),
260 Self::True => write!(f, "true"),
261 Self::False => write!(f, "false"),
262 }
263 }
264}
265
266impl std::str::FromStr for TrueFalse {
267 type Err = String;
268
269 fn from_str(s: &str) -> Result<Self, Self::Err> {
270 match s {
271 "t" => Ok(Self::T),
272 "f" => Ok(Self::F),
273 "true" => Ok(Self::True),
274 "false" => Ok(Self::False),
275 _ => Err(format!("unknown TrueFalse value: {}", s)),
276 }
277 }
278}
279
280#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
281pub enum STTrueFalseBlank {
282 #[serde(rename = "t")]
283 T,
284 #[serde(rename = "f")]
285 F,
286 #[serde(rename = "true")]
287 True,
288 #[serde(rename = "false")]
289 False,
290 #[serde(rename = "")]
291 Empty,
292}
293
294impl std::fmt::Display for STTrueFalseBlank {
295 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
296 match self {
297 Self::T => write!(f, "t"),
298 Self::F => write!(f, "f"),
299 Self::True => write!(f, "true"),
300 Self::False => write!(f, "false"),
301 Self::Empty => write!(f, ""),
302 }
303 }
304}
305
306impl std::str::FromStr for STTrueFalseBlank {
307 type Err = String;
308
309 fn from_str(s: &str) -> Result<Self, Self::Err> {
310 match s {
311 "t" => Ok(Self::T),
312 "f" => Ok(Self::F),
313 "true" => Ok(Self::True),
314 "false" => Ok(Self::False),
315 "" => Ok(Self::Empty),
316 "True" => Ok(Self::True),
317 "False" => Ok(Self::False),
318 _ => Err(format!("unknown STTrueFalseBlank value: {}", s)),
319 }
320 }
321}
322
323pub type STUnsignedDecimalNumber = u64;
324
325pub type STTwipsMeasure = String;
326
327#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
328pub enum STVerticalAlignRun {
329 #[serde(rename = "baseline")]
330 Baseline,
331 #[serde(rename = "superscript")]
332 Superscript,
333 #[serde(rename = "subscript")]
334 Subscript,
335}
336
337impl std::fmt::Display for STVerticalAlignRun {
338 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
339 match self {
340 Self::Baseline => write!(f, "baseline"),
341 Self::Superscript => write!(f, "superscript"),
342 Self::Subscript => write!(f, "subscript"),
343 }
344 }
345}
346
347impl std::str::FromStr for STVerticalAlignRun {
348 type Err = String;
349
350 fn from_str(s: &str) -> Result<Self, Self::Err> {
351 match s {
352 "baseline" => Ok(Self::Baseline),
353 "superscript" => Ok(Self::Superscript),
354 "subscript" => Ok(Self::Subscript),
355 _ => Err(format!("unknown STVerticalAlignRun value: {}", s)),
356 }
357 }
358}
359
360pub type XmlString = String;
361
362#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
363pub enum STXAlign {
364 #[serde(rename = "left")]
365 Left,
366 #[serde(rename = "center")]
367 Center,
368 #[serde(rename = "right")]
369 Right,
370 #[serde(rename = "inside")]
371 Inside,
372 #[serde(rename = "outside")]
373 Outside,
374}
375
376impl std::fmt::Display for STXAlign {
377 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
378 match self {
379 Self::Left => write!(f, "left"),
380 Self::Center => write!(f, "center"),
381 Self::Right => write!(f, "right"),
382 Self::Inside => write!(f, "inside"),
383 Self::Outside => write!(f, "outside"),
384 }
385 }
386}
387
388impl std::str::FromStr for STXAlign {
389 type Err = String;
390
391 fn from_str(s: &str) -> Result<Self, Self::Err> {
392 match s {
393 "left" => Ok(Self::Left),
394 "center" => Ok(Self::Center),
395 "right" => Ok(Self::Right),
396 "inside" => Ok(Self::Inside),
397 "outside" => Ok(Self::Outside),
398 _ => Err(format!("unknown STXAlign value: {}", s)),
399 }
400 }
401}
402
403#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
404pub enum STYAlign {
405 #[serde(rename = "inline")]
406 Inline,
407 #[serde(rename = "top")]
408 Top,
409 #[serde(rename = "center")]
410 Center,
411 #[serde(rename = "bottom")]
412 Bottom,
413 #[serde(rename = "inside")]
414 Inside,
415 #[serde(rename = "outside")]
416 Outside,
417}
418
419impl std::fmt::Display for STYAlign {
420 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
421 match self {
422 Self::Inline => write!(f, "inline"),
423 Self::Top => write!(f, "top"),
424 Self::Center => write!(f, "center"),
425 Self::Bottom => write!(f, "bottom"),
426 Self::Inside => write!(f, "inside"),
427 Self::Outside => write!(f, "outside"),
428 }
429 }
430}
431
432impl std::str::FromStr for STYAlign {
433 type Err = String;
434
435 fn from_str(s: &str) -> Result<Self, Self::Err> {
436 match s {
437 "inline" => Ok(Self::Inline),
438 "top" => Ok(Self::Top),
439 "center" => Ok(Self::Center),
440 "bottom" => Ok(Self::Bottom),
441 "inside" => Ok(Self::Inside),
442 "outside" => Ok(Self::Outside),
443 _ => Err(format!("unknown STYAlign value: {}", s)),
444 }
445 }
446}
447
448#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
449pub enum STConformanceClass {
450 #[serde(rename = "strict")]
451 Strict,
452 #[serde(rename = "transitional")]
453 Transitional,
454}
455
456impl std::fmt::Display for STConformanceClass {
457 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
458 match self {
459 Self::Strict => write!(f, "strict"),
460 Self::Transitional => write!(f, "transitional"),
461 }
462 }
463}
464
465impl std::str::FromStr for STConformanceClass {
466 type Err = String;
467
468 fn from_str(s: &str) -> Result<Self, Self::Err> {
469 match s {
470 "strict" => Ok(Self::Strict),
471 "transitional" => Ok(Self::Transitional),
472 _ => Err(format!("unknown STConformanceClass value: {}", s)),
473 }
474 }
475}
476
477pub type STUniversalMeasure = String;
478
479pub type STPositiveUniversalMeasure = String;
480
481pub type STPercentage = String;
482
483pub type STFixedPercentage = String;
484
485pub type STPositivePercentage = String;
486
487pub type STPositiveFixedPercentage = String;
488
489pub type STRelationshipId = String;
490
491pub type STLongHexNumber = Vec<u8>;
492
493pub type STShortHexNumber = Vec<u8>;
494
495pub type STUcharHexNumber = Vec<u8>;
496
497pub type STDecimalNumberOrPercent = String;
498
499pub type STUnqualifiedPercentage = i64;
500
501pub type STDecimalNumber = i64;
502
503pub type STSignedTwipsMeasure = String;
504
505pub type STPixelsMeasure = STUnsignedDecimalNumber;
506
507pub type STHpsMeasure = String;
508
509pub type STSignedHpsMeasure = String;
510
511pub type STDateTime = String;
512
513pub type STMacroName = String;
514
515pub type STEighthPointMeasure = STUnsignedDecimalNumber;
516
517pub type STPointMeasure = STUnsignedDecimalNumber;
518
519pub type STTextScale = String;
520
521pub type STTextScalePercent = String;
522
523pub type STTextScaleDecimal = i64;
524
525#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
526pub enum STHighlightColor {
527 #[serde(rename = "black")]
528 Black,
529 #[serde(rename = "blue")]
530 Blue,
531 #[serde(rename = "cyan")]
532 Cyan,
533 #[serde(rename = "green")]
534 Green,
535 #[serde(rename = "magenta")]
536 Magenta,
537 #[serde(rename = "red")]
538 Red,
539 #[serde(rename = "yellow")]
540 Yellow,
541 #[serde(rename = "white")]
542 White,
543 #[serde(rename = "darkBlue")]
544 DarkBlue,
545 #[serde(rename = "darkCyan")]
546 DarkCyan,
547 #[serde(rename = "darkGreen")]
548 DarkGreen,
549 #[serde(rename = "darkMagenta")]
550 DarkMagenta,
551 #[serde(rename = "darkRed")]
552 DarkRed,
553 #[serde(rename = "darkYellow")]
554 DarkYellow,
555 #[serde(rename = "darkGray")]
556 DarkGray,
557 #[serde(rename = "lightGray")]
558 LightGray,
559 #[serde(rename = "none")]
560 None,
561}
562
563impl std::fmt::Display for STHighlightColor {
564 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
565 match self {
566 Self::Black => write!(f, "black"),
567 Self::Blue => write!(f, "blue"),
568 Self::Cyan => write!(f, "cyan"),
569 Self::Green => write!(f, "green"),
570 Self::Magenta => write!(f, "magenta"),
571 Self::Red => write!(f, "red"),
572 Self::Yellow => write!(f, "yellow"),
573 Self::White => write!(f, "white"),
574 Self::DarkBlue => write!(f, "darkBlue"),
575 Self::DarkCyan => write!(f, "darkCyan"),
576 Self::DarkGreen => write!(f, "darkGreen"),
577 Self::DarkMagenta => write!(f, "darkMagenta"),
578 Self::DarkRed => write!(f, "darkRed"),
579 Self::DarkYellow => write!(f, "darkYellow"),
580 Self::DarkGray => write!(f, "darkGray"),
581 Self::LightGray => write!(f, "lightGray"),
582 Self::None => write!(f, "none"),
583 }
584 }
585}
586
587impl std::str::FromStr for STHighlightColor {
588 type Err = String;
589
590 fn from_str(s: &str) -> Result<Self, Self::Err> {
591 match s {
592 "black" => Ok(Self::Black),
593 "blue" => Ok(Self::Blue),
594 "cyan" => Ok(Self::Cyan),
595 "green" => Ok(Self::Green),
596 "magenta" => Ok(Self::Magenta),
597 "red" => Ok(Self::Red),
598 "yellow" => Ok(Self::Yellow),
599 "white" => Ok(Self::White),
600 "darkBlue" => Ok(Self::DarkBlue),
601 "darkCyan" => Ok(Self::DarkCyan),
602 "darkGreen" => Ok(Self::DarkGreen),
603 "darkMagenta" => Ok(Self::DarkMagenta),
604 "darkRed" => Ok(Self::DarkRed),
605 "darkYellow" => Ok(Self::DarkYellow),
606 "darkGray" => Ok(Self::DarkGray),
607 "lightGray" => Ok(Self::LightGray),
608 "none" => Ok(Self::None),
609 _ => Err(format!("unknown STHighlightColor value: {}", s)),
610 }
611 }
612}
613
614pub type STHexColor = String;
615
616#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
617pub enum STUnderline {
618 #[serde(rename = "single")]
619 Single,
620 #[serde(rename = "words")]
621 Words,
622 #[serde(rename = "double")]
623 Double,
624 #[serde(rename = "thick")]
625 Thick,
626 #[serde(rename = "dotted")]
627 Dotted,
628 #[serde(rename = "dottedHeavy")]
629 DottedHeavy,
630 #[serde(rename = "dash")]
631 Dash,
632 #[serde(rename = "dashedHeavy")]
633 DashedHeavy,
634 #[serde(rename = "dashLong")]
635 DashLong,
636 #[serde(rename = "dashLongHeavy")]
637 DashLongHeavy,
638 #[serde(rename = "dotDash")]
639 DotDash,
640 #[serde(rename = "dashDotHeavy")]
641 DashDotHeavy,
642 #[serde(rename = "dotDotDash")]
643 DotDotDash,
644 #[serde(rename = "dashDotDotHeavy")]
645 DashDotDotHeavy,
646 #[serde(rename = "wave")]
647 Wave,
648 #[serde(rename = "wavyHeavy")]
649 WavyHeavy,
650 #[serde(rename = "wavyDouble")]
651 WavyDouble,
652 #[serde(rename = "none")]
653 None,
654}
655
656impl std::fmt::Display for STUnderline {
657 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
658 match self {
659 Self::Single => write!(f, "single"),
660 Self::Words => write!(f, "words"),
661 Self::Double => write!(f, "double"),
662 Self::Thick => write!(f, "thick"),
663 Self::Dotted => write!(f, "dotted"),
664 Self::DottedHeavy => write!(f, "dottedHeavy"),
665 Self::Dash => write!(f, "dash"),
666 Self::DashedHeavy => write!(f, "dashedHeavy"),
667 Self::DashLong => write!(f, "dashLong"),
668 Self::DashLongHeavy => write!(f, "dashLongHeavy"),
669 Self::DotDash => write!(f, "dotDash"),
670 Self::DashDotHeavy => write!(f, "dashDotHeavy"),
671 Self::DotDotDash => write!(f, "dotDotDash"),
672 Self::DashDotDotHeavy => write!(f, "dashDotDotHeavy"),
673 Self::Wave => write!(f, "wave"),
674 Self::WavyHeavy => write!(f, "wavyHeavy"),
675 Self::WavyDouble => write!(f, "wavyDouble"),
676 Self::None => write!(f, "none"),
677 }
678 }
679}
680
681impl std::str::FromStr for STUnderline {
682 type Err = String;
683
684 fn from_str(s: &str) -> Result<Self, Self::Err> {
685 match s {
686 "single" => Ok(Self::Single),
687 "words" => Ok(Self::Words),
688 "double" => Ok(Self::Double),
689 "thick" => Ok(Self::Thick),
690 "dotted" => Ok(Self::Dotted),
691 "dottedHeavy" => Ok(Self::DottedHeavy),
692 "dash" => Ok(Self::Dash),
693 "dashedHeavy" => Ok(Self::DashedHeavy),
694 "dashLong" => Ok(Self::DashLong),
695 "dashLongHeavy" => Ok(Self::DashLongHeavy),
696 "dotDash" => Ok(Self::DotDash),
697 "dashDotHeavy" => Ok(Self::DashDotHeavy),
698 "dotDotDash" => Ok(Self::DotDotDash),
699 "dashDotDotHeavy" => Ok(Self::DashDotDotHeavy),
700 "wave" => Ok(Self::Wave),
701 "wavyHeavy" => Ok(Self::WavyHeavy),
702 "wavyDouble" => Ok(Self::WavyDouble),
703 "none" => Ok(Self::None),
704 _ => Err(format!("unknown STUnderline value: {}", s)),
705 }
706 }
707}
708
709#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
710pub enum STTextEffect {
711 #[serde(rename = "blinkBackground")]
712 BlinkBackground,
713 #[serde(rename = "lights")]
714 Lights,
715 #[serde(rename = "antsBlack")]
716 AntsBlack,
717 #[serde(rename = "antsRed")]
718 AntsRed,
719 #[serde(rename = "shimmer")]
720 Shimmer,
721 #[serde(rename = "sparkle")]
722 Sparkle,
723 #[serde(rename = "none")]
724 None,
725}
726
727impl std::fmt::Display for STTextEffect {
728 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
729 match self {
730 Self::BlinkBackground => write!(f, "blinkBackground"),
731 Self::Lights => write!(f, "lights"),
732 Self::AntsBlack => write!(f, "antsBlack"),
733 Self::AntsRed => write!(f, "antsRed"),
734 Self::Shimmer => write!(f, "shimmer"),
735 Self::Sparkle => write!(f, "sparkle"),
736 Self::None => write!(f, "none"),
737 }
738 }
739}
740
741impl std::str::FromStr for STTextEffect {
742 type Err = String;
743
744 fn from_str(s: &str) -> Result<Self, Self::Err> {
745 match s {
746 "blinkBackground" => Ok(Self::BlinkBackground),
747 "lights" => Ok(Self::Lights),
748 "antsBlack" => Ok(Self::AntsBlack),
749 "antsRed" => Ok(Self::AntsRed),
750 "shimmer" => Ok(Self::Shimmer),
751 "sparkle" => Ok(Self::Sparkle),
752 "none" => Ok(Self::None),
753 _ => Err(format!("unknown STTextEffect value: {}", s)),
754 }
755 }
756}
757
758#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
759pub enum STBorder {
760 #[serde(rename = "nil")]
761 Nil,
762 #[serde(rename = "none")]
763 None,
764 #[serde(rename = "single")]
765 Single,
766 #[serde(rename = "thick")]
767 Thick,
768 #[serde(rename = "double")]
769 Double,
770 #[serde(rename = "dotted")]
771 Dotted,
772 #[serde(rename = "dashed")]
773 Dashed,
774 #[serde(rename = "dotDash")]
775 DotDash,
776 #[serde(rename = "dotDotDash")]
777 DotDotDash,
778 #[serde(rename = "triple")]
779 Triple,
780 #[serde(rename = "thinThickSmallGap")]
781 ThinThickSmallGap,
782 #[serde(rename = "thickThinSmallGap")]
783 ThickThinSmallGap,
784 #[serde(rename = "thinThickThinSmallGap")]
785 ThinThickThinSmallGap,
786 #[serde(rename = "thinThickMediumGap")]
787 ThinThickMediumGap,
788 #[serde(rename = "thickThinMediumGap")]
789 ThickThinMediumGap,
790 #[serde(rename = "thinThickThinMediumGap")]
791 ThinThickThinMediumGap,
792 #[serde(rename = "thinThickLargeGap")]
793 ThinThickLargeGap,
794 #[serde(rename = "thickThinLargeGap")]
795 ThickThinLargeGap,
796 #[serde(rename = "thinThickThinLargeGap")]
797 ThinThickThinLargeGap,
798 #[serde(rename = "wave")]
799 Wave,
800 #[serde(rename = "doubleWave")]
801 DoubleWave,
802 #[serde(rename = "dashSmallGap")]
803 DashSmallGap,
804 #[serde(rename = "dashDotStroked")]
805 DashDotStroked,
806 #[serde(rename = "threeDEmboss")]
807 ThreeDEmboss,
808 #[serde(rename = "threeDEngrave")]
809 ThreeDEngrave,
810 #[serde(rename = "outset")]
811 Outset,
812 #[serde(rename = "inset")]
813 Inset,
814 #[serde(rename = "apples")]
815 Apples,
816 #[serde(rename = "archedScallops")]
817 ArchedScallops,
818 #[serde(rename = "babyPacifier")]
819 BabyPacifier,
820 #[serde(rename = "babyRattle")]
821 BabyRattle,
822 #[serde(rename = "balloons3Colors")]
823 Balloons3Colors,
824 #[serde(rename = "balloonsHotAir")]
825 BalloonsHotAir,
826 #[serde(rename = "basicBlackDashes")]
827 BasicBlackDashes,
828 #[serde(rename = "basicBlackDots")]
829 BasicBlackDots,
830 #[serde(rename = "basicBlackSquares")]
831 BasicBlackSquares,
832 #[serde(rename = "basicThinLines")]
833 BasicThinLines,
834 #[serde(rename = "basicWhiteDashes")]
835 BasicWhiteDashes,
836 #[serde(rename = "basicWhiteDots")]
837 BasicWhiteDots,
838 #[serde(rename = "basicWhiteSquares")]
839 BasicWhiteSquares,
840 #[serde(rename = "basicWideInline")]
841 BasicWideInline,
842 #[serde(rename = "basicWideMidline")]
843 BasicWideMidline,
844 #[serde(rename = "basicWideOutline")]
845 BasicWideOutline,
846 #[serde(rename = "bats")]
847 Bats,
848 #[serde(rename = "birds")]
849 Birds,
850 #[serde(rename = "birdsFlight")]
851 BirdsFlight,
852 #[serde(rename = "cabins")]
853 Cabins,
854 #[serde(rename = "cakeSlice")]
855 CakeSlice,
856 #[serde(rename = "candyCorn")]
857 CandyCorn,
858 #[serde(rename = "celticKnotwork")]
859 CelticKnotwork,
860 #[serde(rename = "certificateBanner")]
861 CertificateBanner,
862 #[serde(rename = "chainLink")]
863 ChainLink,
864 #[serde(rename = "champagneBottle")]
865 ChampagneBottle,
866 #[serde(rename = "checkedBarBlack")]
867 CheckedBarBlack,
868 #[serde(rename = "checkedBarColor")]
869 CheckedBarColor,
870 #[serde(rename = "checkered")]
871 Checkered,
872 #[serde(rename = "christmasTree")]
873 ChristmasTree,
874 #[serde(rename = "circlesLines")]
875 CirclesLines,
876 #[serde(rename = "circlesRectangles")]
877 CirclesRectangles,
878 #[serde(rename = "classicalWave")]
879 ClassicalWave,
880 #[serde(rename = "clocks")]
881 Clocks,
882 #[serde(rename = "compass")]
883 Compass,
884 #[serde(rename = "confetti")]
885 Confetti,
886 #[serde(rename = "confettiGrays")]
887 ConfettiGrays,
888 #[serde(rename = "confettiOutline")]
889 ConfettiOutline,
890 #[serde(rename = "confettiStreamers")]
891 ConfettiStreamers,
892 #[serde(rename = "confettiWhite")]
893 ConfettiWhite,
894 #[serde(rename = "cornerTriangles")]
895 CornerTriangles,
896 #[serde(rename = "couponCutoutDashes")]
897 CouponCutoutDashes,
898 #[serde(rename = "couponCutoutDots")]
899 CouponCutoutDots,
900 #[serde(rename = "crazyMaze")]
901 CrazyMaze,
902 #[serde(rename = "creaturesButterfly")]
903 CreaturesButterfly,
904 #[serde(rename = "creaturesFish")]
905 CreaturesFish,
906 #[serde(rename = "creaturesInsects")]
907 CreaturesInsects,
908 #[serde(rename = "creaturesLadyBug")]
909 CreaturesLadyBug,
910 #[serde(rename = "crossStitch")]
911 CrossStitch,
912 #[serde(rename = "cup")]
913 Cup,
914 #[serde(rename = "decoArch")]
915 DecoArch,
916 #[serde(rename = "decoArchColor")]
917 DecoArchColor,
918 #[serde(rename = "decoBlocks")]
919 DecoBlocks,
920 #[serde(rename = "diamondsGray")]
921 DiamondsGray,
922 #[serde(rename = "doubleD")]
923 DoubleD,
924 #[serde(rename = "doubleDiamonds")]
925 DoubleDiamonds,
926 #[serde(rename = "earth1")]
927 Earth1,
928 #[serde(rename = "earth2")]
929 Earth2,
930 #[serde(rename = "earth3")]
931 Earth3,
932 #[serde(rename = "eclipsingSquares1")]
933 EclipsingSquares1,
934 #[serde(rename = "eclipsingSquares2")]
935 EclipsingSquares2,
936 #[serde(rename = "eggsBlack")]
937 EggsBlack,
938 #[serde(rename = "fans")]
939 Fans,
940 #[serde(rename = "film")]
941 Film,
942 #[serde(rename = "firecrackers")]
943 Firecrackers,
944 #[serde(rename = "flowersBlockPrint")]
945 FlowersBlockPrint,
946 #[serde(rename = "flowersDaisies")]
947 FlowersDaisies,
948 #[serde(rename = "flowersModern1")]
949 FlowersModern1,
950 #[serde(rename = "flowersModern2")]
951 FlowersModern2,
952 #[serde(rename = "flowersPansy")]
953 FlowersPansy,
954 #[serde(rename = "flowersRedRose")]
955 FlowersRedRose,
956 #[serde(rename = "flowersRoses")]
957 FlowersRoses,
958 #[serde(rename = "flowersTeacup")]
959 FlowersTeacup,
960 #[serde(rename = "flowersTiny")]
961 FlowersTiny,
962 #[serde(rename = "gems")]
963 Gems,
964 #[serde(rename = "gingerbreadMan")]
965 GingerbreadMan,
966 #[serde(rename = "gradient")]
967 Gradient,
968 #[serde(rename = "handmade1")]
969 Handmade1,
970 #[serde(rename = "handmade2")]
971 Handmade2,
972 #[serde(rename = "heartBalloon")]
973 HeartBalloon,
974 #[serde(rename = "heartGray")]
975 HeartGray,
976 #[serde(rename = "hearts")]
977 Hearts,
978 #[serde(rename = "heebieJeebies")]
979 HeebieJeebies,
980 #[serde(rename = "holly")]
981 Holly,
982 #[serde(rename = "houseFunky")]
983 HouseFunky,
984 #[serde(rename = "hypnotic")]
985 Hypnotic,
986 #[serde(rename = "iceCreamCones")]
987 IceCreamCones,
988 #[serde(rename = "lightBulb")]
989 LightBulb,
990 #[serde(rename = "lightning1")]
991 Lightning1,
992 #[serde(rename = "lightning2")]
993 Lightning2,
994 #[serde(rename = "mapPins")]
995 MapPins,
996 #[serde(rename = "mapleLeaf")]
997 MapleLeaf,
998 #[serde(rename = "mapleMuffins")]
999 MapleMuffins,
1000 #[serde(rename = "marquee")]
1001 Marquee,
1002 #[serde(rename = "marqueeToothed")]
1003 MarqueeToothed,
1004 #[serde(rename = "moons")]
1005 Moons,
1006 #[serde(rename = "mosaic")]
1007 Mosaic,
1008 #[serde(rename = "musicNotes")]
1009 MusicNotes,
1010 #[serde(rename = "northwest")]
1011 Northwest,
1012 #[serde(rename = "ovals")]
1013 Ovals,
1014 #[serde(rename = "packages")]
1015 Packages,
1016 #[serde(rename = "palmsBlack")]
1017 PalmsBlack,
1018 #[serde(rename = "palmsColor")]
1019 PalmsColor,
1020 #[serde(rename = "paperClips")]
1021 PaperClips,
1022 #[serde(rename = "papyrus")]
1023 Papyrus,
1024 #[serde(rename = "partyFavor")]
1025 PartyFavor,
1026 #[serde(rename = "partyGlass")]
1027 PartyGlass,
1028 #[serde(rename = "pencils")]
1029 Pencils,
1030 #[serde(rename = "people")]
1031 People,
1032 #[serde(rename = "peopleWaving")]
1033 PeopleWaving,
1034 #[serde(rename = "peopleHats")]
1035 PeopleHats,
1036 #[serde(rename = "poinsettias")]
1037 Poinsettias,
1038 #[serde(rename = "postageStamp")]
1039 PostageStamp,
1040 #[serde(rename = "pumpkin1")]
1041 Pumpkin1,
1042 #[serde(rename = "pushPinNote2")]
1043 PushPinNote2,
1044 #[serde(rename = "pushPinNote1")]
1045 PushPinNote1,
1046 #[serde(rename = "pyramids")]
1047 Pyramids,
1048 #[serde(rename = "pyramidsAbove")]
1049 PyramidsAbove,
1050 #[serde(rename = "quadrants")]
1051 Quadrants,
1052 #[serde(rename = "rings")]
1053 Rings,
1054 #[serde(rename = "safari")]
1055 Safari,
1056 #[serde(rename = "sawtooth")]
1057 Sawtooth,
1058 #[serde(rename = "sawtoothGray")]
1059 SawtoothGray,
1060 #[serde(rename = "scaredCat")]
1061 ScaredCat,
1062 #[serde(rename = "seattle")]
1063 Seattle,
1064 #[serde(rename = "shadowedSquares")]
1065 ShadowedSquares,
1066 #[serde(rename = "sharksTeeth")]
1067 SharksTeeth,
1068 #[serde(rename = "shorebirdTracks")]
1069 ShorebirdTracks,
1070 #[serde(rename = "skyrocket")]
1071 Skyrocket,
1072 #[serde(rename = "snowflakeFancy")]
1073 SnowflakeFancy,
1074 #[serde(rename = "snowflakes")]
1075 Snowflakes,
1076 #[serde(rename = "sombrero")]
1077 Sombrero,
1078 #[serde(rename = "southwest")]
1079 Southwest,
1080 #[serde(rename = "stars")]
1081 Stars,
1082 #[serde(rename = "starsTop")]
1083 StarsTop,
1084 #[serde(rename = "stars3d")]
1085 Stars3d,
1086 #[serde(rename = "starsBlack")]
1087 StarsBlack,
1088 #[serde(rename = "starsShadowed")]
1089 StarsShadowed,
1090 #[serde(rename = "sun")]
1091 Sun,
1092 #[serde(rename = "swirligig")]
1093 Swirligig,
1094 #[serde(rename = "tornPaper")]
1095 TornPaper,
1096 #[serde(rename = "tornPaperBlack")]
1097 TornPaperBlack,
1098 #[serde(rename = "trees")]
1099 Trees,
1100 #[serde(rename = "triangleParty")]
1101 TriangleParty,
1102 #[serde(rename = "triangles")]
1103 Triangles,
1104 #[serde(rename = "triangle1")]
1105 Triangle1,
1106 #[serde(rename = "triangle2")]
1107 Triangle2,
1108 #[serde(rename = "triangleCircle1")]
1109 TriangleCircle1,
1110 #[serde(rename = "triangleCircle2")]
1111 TriangleCircle2,
1112 #[serde(rename = "shapes1")]
1113 Shapes1,
1114 #[serde(rename = "shapes2")]
1115 Shapes2,
1116 #[serde(rename = "twistedLines1")]
1117 TwistedLines1,
1118 #[serde(rename = "twistedLines2")]
1119 TwistedLines2,
1120 #[serde(rename = "vine")]
1121 Vine,
1122 #[serde(rename = "waveline")]
1123 Waveline,
1124 #[serde(rename = "weavingAngles")]
1125 WeavingAngles,
1126 #[serde(rename = "weavingBraid")]
1127 WeavingBraid,
1128 #[serde(rename = "weavingRibbon")]
1129 WeavingRibbon,
1130 #[serde(rename = "weavingStrips")]
1131 WeavingStrips,
1132 #[serde(rename = "whiteFlowers")]
1133 WhiteFlowers,
1134 #[serde(rename = "woodwork")]
1135 Woodwork,
1136 #[serde(rename = "xIllusions")]
1137 XIllusions,
1138 #[serde(rename = "zanyTriangles")]
1139 ZanyTriangles,
1140 #[serde(rename = "zigZag")]
1141 ZigZag,
1142 #[serde(rename = "zigZagStitch")]
1143 ZigZagStitch,
1144 #[serde(rename = "custom")]
1145 Custom,
1146}
1147
1148impl std::fmt::Display for STBorder {
1149 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1150 match self {
1151 Self::Nil => write!(f, "nil"),
1152 Self::None => write!(f, "none"),
1153 Self::Single => write!(f, "single"),
1154 Self::Thick => write!(f, "thick"),
1155 Self::Double => write!(f, "double"),
1156 Self::Dotted => write!(f, "dotted"),
1157 Self::Dashed => write!(f, "dashed"),
1158 Self::DotDash => write!(f, "dotDash"),
1159 Self::DotDotDash => write!(f, "dotDotDash"),
1160 Self::Triple => write!(f, "triple"),
1161 Self::ThinThickSmallGap => write!(f, "thinThickSmallGap"),
1162 Self::ThickThinSmallGap => write!(f, "thickThinSmallGap"),
1163 Self::ThinThickThinSmallGap => write!(f, "thinThickThinSmallGap"),
1164 Self::ThinThickMediumGap => write!(f, "thinThickMediumGap"),
1165 Self::ThickThinMediumGap => write!(f, "thickThinMediumGap"),
1166 Self::ThinThickThinMediumGap => write!(f, "thinThickThinMediumGap"),
1167 Self::ThinThickLargeGap => write!(f, "thinThickLargeGap"),
1168 Self::ThickThinLargeGap => write!(f, "thickThinLargeGap"),
1169 Self::ThinThickThinLargeGap => write!(f, "thinThickThinLargeGap"),
1170 Self::Wave => write!(f, "wave"),
1171 Self::DoubleWave => write!(f, "doubleWave"),
1172 Self::DashSmallGap => write!(f, "dashSmallGap"),
1173 Self::DashDotStroked => write!(f, "dashDotStroked"),
1174 Self::ThreeDEmboss => write!(f, "threeDEmboss"),
1175 Self::ThreeDEngrave => write!(f, "threeDEngrave"),
1176 Self::Outset => write!(f, "outset"),
1177 Self::Inset => write!(f, "inset"),
1178 Self::Apples => write!(f, "apples"),
1179 Self::ArchedScallops => write!(f, "archedScallops"),
1180 Self::BabyPacifier => write!(f, "babyPacifier"),
1181 Self::BabyRattle => write!(f, "babyRattle"),
1182 Self::Balloons3Colors => write!(f, "balloons3Colors"),
1183 Self::BalloonsHotAir => write!(f, "balloonsHotAir"),
1184 Self::BasicBlackDashes => write!(f, "basicBlackDashes"),
1185 Self::BasicBlackDots => write!(f, "basicBlackDots"),
1186 Self::BasicBlackSquares => write!(f, "basicBlackSquares"),
1187 Self::BasicThinLines => write!(f, "basicThinLines"),
1188 Self::BasicWhiteDashes => write!(f, "basicWhiteDashes"),
1189 Self::BasicWhiteDots => write!(f, "basicWhiteDots"),
1190 Self::BasicWhiteSquares => write!(f, "basicWhiteSquares"),
1191 Self::BasicWideInline => write!(f, "basicWideInline"),
1192 Self::BasicWideMidline => write!(f, "basicWideMidline"),
1193 Self::BasicWideOutline => write!(f, "basicWideOutline"),
1194 Self::Bats => write!(f, "bats"),
1195 Self::Birds => write!(f, "birds"),
1196 Self::BirdsFlight => write!(f, "birdsFlight"),
1197 Self::Cabins => write!(f, "cabins"),
1198 Self::CakeSlice => write!(f, "cakeSlice"),
1199 Self::CandyCorn => write!(f, "candyCorn"),
1200 Self::CelticKnotwork => write!(f, "celticKnotwork"),
1201 Self::CertificateBanner => write!(f, "certificateBanner"),
1202 Self::ChainLink => write!(f, "chainLink"),
1203 Self::ChampagneBottle => write!(f, "champagneBottle"),
1204 Self::CheckedBarBlack => write!(f, "checkedBarBlack"),
1205 Self::CheckedBarColor => write!(f, "checkedBarColor"),
1206 Self::Checkered => write!(f, "checkered"),
1207 Self::ChristmasTree => write!(f, "christmasTree"),
1208 Self::CirclesLines => write!(f, "circlesLines"),
1209 Self::CirclesRectangles => write!(f, "circlesRectangles"),
1210 Self::ClassicalWave => write!(f, "classicalWave"),
1211 Self::Clocks => write!(f, "clocks"),
1212 Self::Compass => write!(f, "compass"),
1213 Self::Confetti => write!(f, "confetti"),
1214 Self::ConfettiGrays => write!(f, "confettiGrays"),
1215 Self::ConfettiOutline => write!(f, "confettiOutline"),
1216 Self::ConfettiStreamers => write!(f, "confettiStreamers"),
1217 Self::ConfettiWhite => write!(f, "confettiWhite"),
1218 Self::CornerTriangles => write!(f, "cornerTriangles"),
1219 Self::CouponCutoutDashes => write!(f, "couponCutoutDashes"),
1220 Self::CouponCutoutDots => write!(f, "couponCutoutDots"),
1221 Self::CrazyMaze => write!(f, "crazyMaze"),
1222 Self::CreaturesButterfly => write!(f, "creaturesButterfly"),
1223 Self::CreaturesFish => write!(f, "creaturesFish"),
1224 Self::CreaturesInsects => write!(f, "creaturesInsects"),
1225 Self::CreaturesLadyBug => write!(f, "creaturesLadyBug"),
1226 Self::CrossStitch => write!(f, "crossStitch"),
1227 Self::Cup => write!(f, "cup"),
1228 Self::DecoArch => write!(f, "decoArch"),
1229 Self::DecoArchColor => write!(f, "decoArchColor"),
1230 Self::DecoBlocks => write!(f, "decoBlocks"),
1231 Self::DiamondsGray => write!(f, "diamondsGray"),
1232 Self::DoubleD => write!(f, "doubleD"),
1233 Self::DoubleDiamonds => write!(f, "doubleDiamonds"),
1234 Self::Earth1 => write!(f, "earth1"),
1235 Self::Earth2 => write!(f, "earth2"),
1236 Self::Earth3 => write!(f, "earth3"),
1237 Self::EclipsingSquares1 => write!(f, "eclipsingSquares1"),
1238 Self::EclipsingSquares2 => write!(f, "eclipsingSquares2"),
1239 Self::EggsBlack => write!(f, "eggsBlack"),
1240 Self::Fans => write!(f, "fans"),
1241 Self::Film => write!(f, "film"),
1242 Self::Firecrackers => write!(f, "firecrackers"),
1243 Self::FlowersBlockPrint => write!(f, "flowersBlockPrint"),
1244 Self::FlowersDaisies => write!(f, "flowersDaisies"),
1245 Self::FlowersModern1 => write!(f, "flowersModern1"),
1246 Self::FlowersModern2 => write!(f, "flowersModern2"),
1247 Self::FlowersPansy => write!(f, "flowersPansy"),
1248 Self::FlowersRedRose => write!(f, "flowersRedRose"),
1249 Self::FlowersRoses => write!(f, "flowersRoses"),
1250 Self::FlowersTeacup => write!(f, "flowersTeacup"),
1251 Self::FlowersTiny => write!(f, "flowersTiny"),
1252 Self::Gems => write!(f, "gems"),
1253 Self::GingerbreadMan => write!(f, "gingerbreadMan"),
1254 Self::Gradient => write!(f, "gradient"),
1255 Self::Handmade1 => write!(f, "handmade1"),
1256 Self::Handmade2 => write!(f, "handmade2"),
1257 Self::HeartBalloon => write!(f, "heartBalloon"),
1258 Self::HeartGray => write!(f, "heartGray"),
1259 Self::Hearts => write!(f, "hearts"),
1260 Self::HeebieJeebies => write!(f, "heebieJeebies"),
1261 Self::Holly => write!(f, "holly"),
1262 Self::HouseFunky => write!(f, "houseFunky"),
1263 Self::Hypnotic => write!(f, "hypnotic"),
1264 Self::IceCreamCones => write!(f, "iceCreamCones"),
1265 Self::LightBulb => write!(f, "lightBulb"),
1266 Self::Lightning1 => write!(f, "lightning1"),
1267 Self::Lightning2 => write!(f, "lightning2"),
1268 Self::MapPins => write!(f, "mapPins"),
1269 Self::MapleLeaf => write!(f, "mapleLeaf"),
1270 Self::MapleMuffins => write!(f, "mapleMuffins"),
1271 Self::Marquee => write!(f, "marquee"),
1272 Self::MarqueeToothed => write!(f, "marqueeToothed"),
1273 Self::Moons => write!(f, "moons"),
1274 Self::Mosaic => write!(f, "mosaic"),
1275 Self::MusicNotes => write!(f, "musicNotes"),
1276 Self::Northwest => write!(f, "northwest"),
1277 Self::Ovals => write!(f, "ovals"),
1278 Self::Packages => write!(f, "packages"),
1279 Self::PalmsBlack => write!(f, "palmsBlack"),
1280 Self::PalmsColor => write!(f, "palmsColor"),
1281 Self::PaperClips => write!(f, "paperClips"),
1282 Self::Papyrus => write!(f, "papyrus"),
1283 Self::PartyFavor => write!(f, "partyFavor"),
1284 Self::PartyGlass => write!(f, "partyGlass"),
1285 Self::Pencils => write!(f, "pencils"),
1286 Self::People => write!(f, "people"),
1287 Self::PeopleWaving => write!(f, "peopleWaving"),
1288 Self::PeopleHats => write!(f, "peopleHats"),
1289 Self::Poinsettias => write!(f, "poinsettias"),
1290 Self::PostageStamp => write!(f, "postageStamp"),
1291 Self::Pumpkin1 => write!(f, "pumpkin1"),
1292 Self::PushPinNote2 => write!(f, "pushPinNote2"),
1293 Self::PushPinNote1 => write!(f, "pushPinNote1"),
1294 Self::Pyramids => write!(f, "pyramids"),
1295 Self::PyramidsAbove => write!(f, "pyramidsAbove"),
1296 Self::Quadrants => write!(f, "quadrants"),
1297 Self::Rings => write!(f, "rings"),
1298 Self::Safari => write!(f, "safari"),
1299 Self::Sawtooth => write!(f, "sawtooth"),
1300 Self::SawtoothGray => write!(f, "sawtoothGray"),
1301 Self::ScaredCat => write!(f, "scaredCat"),
1302 Self::Seattle => write!(f, "seattle"),
1303 Self::ShadowedSquares => write!(f, "shadowedSquares"),
1304 Self::SharksTeeth => write!(f, "sharksTeeth"),
1305 Self::ShorebirdTracks => write!(f, "shorebirdTracks"),
1306 Self::Skyrocket => write!(f, "skyrocket"),
1307 Self::SnowflakeFancy => write!(f, "snowflakeFancy"),
1308 Self::Snowflakes => write!(f, "snowflakes"),
1309 Self::Sombrero => write!(f, "sombrero"),
1310 Self::Southwest => write!(f, "southwest"),
1311 Self::Stars => write!(f, "stars"),
1312 Self::StarsTop => write!(f, "starsTop"),
1313 Self::Stars3d => write!(f, "stars3d"),
1314 Self::StarsBlack => write!(f, "starsBlack"),
1315 Self::StarsShadowed => write!(f, "starsShadowed"),
1316 Self::Sun => write!(f, "sun"),
1317 Self::Swirligig => write!(f, "swirligig"),
1318 Self::TornPaper => write!(f, "tornPaper"),
1319 Self::TornPaperBlack => write!(f, "tornPaperBlack"),
1320 Self::Trees => write!(f, "trees"),
1321 Self::TriangleParty => write!(f, "triangleParty"),
1322 Self::Triangles => write!(f, "triangles"),
1323 Self::Triangle1 => write!(f, "triangle1"),
1324 Self::Triangle2 => write!(f, "triangle2"),
1325 Self::TriangleCircle1 => write!(f, "triangleCircle1"),
1326 Self::TriangleCircle2 => write!(f, "triangleCircle2"),
1327 Self::Shapes1 => write!(f, "shapes1"),
1328 Self::Shapes2 => write!(f, "shapes2"),
1329 Self::TwistedLines1 => write!(f, "twistedLines1"),
1330 Self::TwistedLines2 => write!(f, "twistedLines2"),
1331 Self::Vine => write!(f, "vine"),
1332 Self::Waveline => write!(f, "waveline"),
1333 Self::WeavingAngles => write!(f, "weavingAngles"),
1334 Self::WeavingBraid => write!(f, "weavingBraid"),
1335 Self::WeavingRibbon => write!(f, "weavingRibbon"),
1336 Self::WeavingStrips => write!(f, "weavingStrips"),
1337 Self::WhiteFlowers => write!(f, "whiteFlowers"),
1338 Self::Woodwork => write!(f, "woodwork"),
1339 Self::XIllusions => write!(f, "xIllusions"),
1340 Self::ZanyTriangles => write!(f, "zanyTriangles"),
1341 Self::ZigZag => write!(f, "zigZag"),
1342 Self::ZigZagStitch => write!(f, "zigZagStitch"),
1343 Self::Custom => write!(f, "custom"),
1344 }
1345 }
1346}
1347
1348impl std::str::FromStr for STBorder {
1349 type Err = String;
1350
1351 fn from_str(s: &str) -> Result<Self, Self::Err> {
1352 match s {
1353 "nil" => Ok(Self::Nil),
1354 "none" => Ok(Self::None),
1355 "single" => Ok(Self::Single),
1356 "thick" => Ok(Self::Thick),
1357 "double" => Ok(Self::Double),
1358 "dotted" => Ok(Self::Dotted),
1359 "dashed" => Ok(Self::Dashed),
1360 "dotDash" => Ok(Self::DotDash),
1361 "dotDotDash" => Ok(Self::DotDotDash),
1362 "triple" => Ok(Self::Triple),
1363 "thinThickSmallGap" => Ok(Self::ThinThickSmallGap),
1364 "thickThinSmallGap" => Ok(Self::ThickThinSmallGap),
1365 "thinThickThinSmallGap" => Ok(Self::ThinThickThinSmallGap),
1366 "thinThickMediumGap" => Ok(Self::ThinThickMediumGap),
1367 "thickThinMediumGap" => Ok(Self::ThickThinMediumGap),
1368 "thinThickThinMediumGap" => Ok(Self::ThinThickThinMediumGap),
1369 "thinThickLargeGap" => Ok(Self::ThinThickLargeGap),
1370 "thickThinLargeGap" => Ok(Self::ThickThinLargeGap),
1371 "thinThickThinLargeGap" => Ok(Self::ThinThickThinLargeGap),
1372 "wave" => Ok(Self::Wave),
1373 "doubleWave" => Ok(Self::DoubleWave),
1374 "dashSmallGap" => Ok(Self::DashSmallGap),
1375 "dashDotStroked" => Ok(Self::DashDotStroked),
1376 "threeDEmboss" => Ok(Self::ThreeDEmboss),
1377 "threeDEngrave" => Ok(Self::ThreeDEngrave),
1378 "outset" => Ok(Self::Outset),
1379 "inset" => Ok(Self::Inset),
1380 "apples" => Ok(Self::Apples),
1381 "archedScallops" => Ok(Self::ArchedScallops),
1382 "babyPacifier" => Ok(Self::BabyPacifier),
1383 "babyRattle" => Ok(Self::BabyRattle),
1384 "balloons3Colors" => Ok(Self::Balloons3Colors),
1385 "balloonsHotAir" => Ok(Self::BalloonsHotAir),
1386 "basicBlackDashes" => Ok(Self::BasicBlackDashes),
1387 "basicBlackDots" => Ok(Self::BasicBlackDots),
1388 "basicBlackSquares" => Ok(Self::BasicBlackSquares),
1389 "basicThinLines" => Ok(Self::BasicThinLines),
1390 "basicWhiteDashes" => Ok(Self::BasicWhiteDashes),
1391 "basicWhiteDots" => Ok(Self::BasicWhiteDots),
1392 "basicWhiteSquares" => Ok(Self::BasicWhiteSquares),
1393 "basicWideInline" => Ok(Self::BasicWideInline),
1394 "basicWideMidline" => Ok(Self::BasicWideMidline),
1395 "basicWideOutline" => Ok(Self::BasicWideOutline),
1396 "bats" => Ok(Self::Bats),
1397 "birds" => Ok(Self::Birds),
1398 "birdsFlight" => Ok(Self::BirdsFlight),
1399 "cabins" => Ok(Self::Cabins),
1400 "cakeSlice" => Ok(Self::CakeSlice),
1401 "candyCorn" => Ok(Self::CandyCorn),
1402 "celticKnotwork" => Ok(Self::CelticKnotwork),
1403 "certificateBanner" => Ok(Self::CertificateBanner),
1404 "chainLink" => Ok(Self::ChainLink),
1405 "champagneBottle" => Ok(Self::ChampagneBottle),
1406 "checkedBarBlack" => Ok(Self::CheckedBarBlack),
1407 "checkedBarColor" => Ok(Self::CheckedBarColor),
1408 "checkered" => Ok(Self::Checkered),
1409 "christmasTree" => Ok(Self::ChristmasTree),
1410 "circlesLines" => Ok(Self::CirclesLines),
1411 "circlesRectangles" => Ok(Self::CirclesRectangles),
1412 "classicalWave" => Ok(Self::ClassicalWave),
1413 "clocks" => Ok(Self::Clocks),
1414 "compass" => Ok(Self::Compass),
1415 "confetti" => Ok(Self::Confetti),
1416 "confettiGrays" => Ok(Self::ConfettiGrays),
1417 "confettiOutline" => Ok(Self::ConfettiOutline),
1418 "confettiStreamers" => Ok(Self::ConfettiStreamers),
1419 "confettiWhite" => Ok(Self::ConfettiWhite),
1420 "cornerTriangles" => Ok(Self::CornerTriangles),
1421 "couponCutoutDashes" => Ok(Self::CouponCutoutDashes),
1422 "couponCutoutDots" => Ok(Self::CouponCutoutDots),
1423 "crazyMaze" => Ok(Self::CrazyMaze),
1424 "creaturesButterfly" => Ok(Self::CreaturesButterfly),
1425 "creaturesFish" => Ok(Self::CreaturesFish),
1426 "creaturesInsects" => Ok(Self::CreaturesInsects),
1427 "creaturesLadyBug" => Ok(Self::CreaturesLadyBug),
1428 "crossStitch" => Ok(Self::CrossStitch),
1429 "cup" => Ok(Self::Cup),
1430 "decoArch" => Ok(Self::DecoArch),
1431 "decoArchColor" => Ok(Self::DecoArchColor),
1432 "decoBlocks" => Ok(Self::DecoBlocks),
1433 "diamondsGray" => Ok(Self::DiamondsGray),
1434 "doubleD" => Ok(Self::DoubleD),
1435 "doubleDiamonds" => Ok(Self::DoubleDiamonds),
1436 "earth1" => Ok(Self::Earth1),
1437 "earth2" => Ok(Self::Earth2),
1438 "earth3" => Ok(Self::Earth3),
1439 "eclipsingSquares1" => Ok(Self::EclipsingSquares1),
1440 "eclipsingSquares2" => Ok(Self::EclipsingSquares2),
1441 "eggsBlack" => Ok(Self::EggsBlack),
1442 "fans" => Ok(Self::Fans),
1443 "film" => Ok(Self::Film),
1444 "firecrackers" => Ok(Self::Firecrackers),
1445 "flowersBlockPrint" => Ok(Self::FlowersBlockPrint),
1446 "flowersDaisies" => Ok(Self::FlowersDaisies),
1447 "flowersModern1" => Ok(Self::FlowersModern1),
1448 "flowersModern2" => Ok(Self::FlowersModern2),
1449 "flowersPansy" => Ok(Self::FlowersPansy),
1450 "flowersRedRose" => Ok(Self::FlowersRedRose),
1451 "flowersRoses" => Ok(Self::FlowersRoses),
1452 "flowersTeacup" => Ok(Self::FlowersTeacup),
1453 "flowersTiny" => Ok(Self::FlowersTiny),
1454 "gems" => Ok(Self::Gems),
1455 "gingerbreadMan" => Ok(Self::GingerbreadMan),
1456 "gradient" => Ok(Self::Gradient),
1457 "handmade1" => Ok(Self::Handmade1),
1458 "handmade2" => Ok(Self::Handmade2),
1459 "heartBalloon" => Ok(Self::HeartBalloon),
1460 "heartGray" => Ok(Self::HeartGray),
1461 "hearts" => Ok(Self::Hearts),
1462 "heebieJeebies" => Ok(Self::HeebieJeebies),
1463 "holly" => Ok(Self::Holly),
1464 "houseFunky" => Ok(Self::HouseFunky),
1465 "hypnotic" => Ok(Self::Hypnotic),
1466 "iceCreamCones" => Ok(Self::IceCreamCones),
1467 "lightBulb" => Ok(Self::LightBulb),
1468 "lightning1" => Ok(Self::Lightning1),
1469 "lightning2" => Ok(Self::Lightning2),
1470 "mapPins" => Ok(Self::MapPins),
1471 "mapleLeaf" => Ok(Self::MapleLeaf),
1472 "mapleMuffins" => Ok(Self::MapleMuffins),
1473 "marquee" => Ok(Self::Marquee),
1474 "marqueeToothed" => Ok(Self::MarqueeToothed),
1475 "moons" => Ok(Self::Moons),
1476 "mosaic" => Ok(Self::Mosaic),
1477 "musicNotes" => Ok(Self::MusicNotes),
1478 "northwest" => Ok(Self::Northwest),
1479 "ovals" => Ok(Self::Ovals),
1480 "packages" => Ok(Self::Packages),
1481 "palmsBlack" => Ok(Self::PalmsBlack),
1482 "palmsColor" => Ok(Self::PalmsColor),
1483 "paperClips" => Ok(Self::PaperClips),
1484 "papyrus" => Ok(Self::Papyrus),
1485 "partyFavor" => Ok(Self::PartyFavor),
1486 "partyGlass" => Ok(Self::PartyGlass),
1487 "pencils" => Ok(Self::Pencils),
1488 "people" => Ok(Self::People),
1489 "peopleWaving" => Ok(Self::PeopleWaving),
1490 "peopleHats" => Ok(Self::PeopleHats),
1491 "poinsettias" => Ok(Self::Poinsettias),
1492 "postageStamp" => Ok(Self::PostageStamp),
1493 "pumpkin1" => Ok(Self::Pumpkin1),
1494 "pushPinNote2" => Ok(Self::PushPinNote2),
1495 "pushPinNote1" => Ok(Self::PushPinNote1),
1496 "pyramids" => Ok(Self::Pyramids),
1497 "pyramidsAbove" => Ok(Self::PyramidsAbove),
1498 "quadrants" => Ok(Self::Quadrants),
1499 "rings" => Ok(Self::Rings),
1500 "safari" => Ok(Self::Safari),
1501 "sawtooth" => Ok(Self::Sawtooth),
1502 "sawtoothGray" => Ok(Self::SawtoothGray),
1503 "scaredCat" => Ok(Self::ScaredCat),
1504 "seattle" => Ok(Self::Seattle),
1505 "shadowedSquares" => Ok(Self::ShadowedSquares),
1506 "sharksTeeth" => Ok(Self::SharksTeeth),
1507 "shorebirdTracks" => Ok(Self::ShorebirdTracks),
1508 "skyrocket" => Ok(Self::Skyrocket),
1509 "snowflakeFancy" => Ok(Self::SnowflakeFancy),
1510 "snowflakes" => Ok(Self::Snowflakes),
1511 "sombrero" => Ok(Self::Sombrero),
1512 "southwest" => Ok(Self::Southwest),
1513 "stars" => Ok(Self::Stars),
1514 "starsTop" => Ok(Self::StarsTop),
1515 "stars3d" => Ok(Self::Stars3d),
1516 "starsBlack" => Ok(Self::StarsBlack),
1517 "starsShadowed" => Ok(Self::StarsShadowed),
1518 "sun" => Ok(Self::Sun),
1519 "swirligig" => Ok(Self::Swirligig),
1520 "tornPaper" => Ok(Self::TornPaper),
1521 "tornPaperBlack" => Ok(Self::TornPaperBlack),
1522 "trees" => Ok(Self::Trees),
1523 "triangleParty" => Ok(Self::TriangleParty),
1524 "triangles" => Ok(Self::Triangles),
1525 "triangle1" => Ok(Self::Triangle1),
1526 "triangle2" => Ok(Self::Triangle2),
1527 "triangleCircle1" => Ok(Self::TriangleCircle1),
1528 "triangleCircle2" => Ok(Self::TriangleCircle2),
1529 "shapes1" => Ok(Self::Shapes1),
1530 "shapes2" => Ok(Self::Shapes2),
1531 "twistedLines1" => Ok(Self::TwistedLines1),
1532 "twistedLines2" => Ok(Self::TwistedLines2),
1533 "vine" => Ok(Self::Vine),
1534 "waveline" => Ok(Self::Waveline),
1535 "weavingAngles" => Ok(Self::WeavingAngles),
1536 "weavingBraid" => Ok(Self::WeavingBraid),
1537 "weavingRibbon" => Ok(Self::WeavingRibbon),
1538 "weavingStrips" => Ok(Self::WeavingStrips),
1539 "whiteFlowers" => Ok(Self::WhiteFlowers),
1540 "woodwork" => Ok(Self::Woodwork),
1541 "xIllusions" => Ok(Self::XIllusions),
1542 "zanyTriangles" => Ok(Self::ZanyTriangles),
1543 "zigZag" => Ok(Self::ZigZag),
1544 "zigZagStitch" => Ok(Self::ZigZagStitch),
1545 "custom" => Ok(Self::Custom),
1546 _ => Err(format!("unknown STBorder value: {}", s)),
1547 }
1548 }
1549}
1550
1551#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1552pub enum STShd {
1553 #[serde(rename = "nil")]
1554 Nil,
1555 #[serde(rename = "clear")]
1556 Clear,
1557 #[serde(rename = "solid")]
1558 Solid,
1559 #[serde(rename = "horzStripe")]
1560 HorzStripe,
1561 #[serde(rename = "vertStripe")]
1562 VertStripe,
1563 #[serde(rename = "reverseDiagStripe")]
1564 ReverseDiagStripe,
1565 #[serde(rename = "diagStripe")]
1566 DiagStripe,
1567 #[serde(rename = "horzCross")]
1568 HorzCross,
1569 #[serde(rename = "diagCross")]
1570 DiagCross,
1571 #[serde(rename = "thinHorzStripe")]
1572 ThinHorzStripe,
1573 #[serde(rename = "thinVertStripe")]
1574 ThinVertStripe,
1575 #[serde(rename = "thinReverseDiagStripe")]
1576 ThinReverseDiagStripe,
1577 #[serde(rename = "thinDiagStripe")]
1578 ThinDiagStripe,
1579 #[serde(rename = "thinHorzCross")]
1580 ThinHorzCross,
1581 #[serde(rename = "thinDiagCross")]
1582 ThinDiagCross,
1583 #[serde(rename = "pct5")]
1584 Pct5,
1585 #[serde(rename = "pct10")]
1586 Pct10,
1587 #[serde(rename = "pct12")]
1588 Pct12,
1589 #[serde(rename = "pct15")]
1590 Pct15,
1591 #[serde(rename = "pct20")]
1592 Pct20,
1593 #[serde(rename = "pct25")]
1594 Pct25,
1595 #[serde(rename = "pct30")]
1596 Pct30,
1597 #[serde(rename = "pct35")]
1598 Pct35,
1599 #[serde(rename = "pct37")]
1600 Pct37,
1601 #[serde(rename = "pct40")]
1602 Pct40,
1603 #[serde(rename = "pct45")]
1604 Pct45,
1605 #[serde(rename = "pct50")]
1606 Pct50,
1607 #[serde(rename = "pct55")]
1608 Pct55,
1609 #[serde(rename = "pct60")]
1610 Pct60,
1611 #[serde(rename = "pct62")]
1612 Pct62,
1613 #[serde(rename = "pct65")]
1614 Pct65,
1615 #[serde(rename = "pct70")]
1616 Pct70,
1617 #[serde(rename = "pct75")]
1618 Pct75,
1619 #[serde(rename = "pct80")]
1620 Pct80,
1621 #[serde(rename = "pct85")]
1622 Pct85,
1623 #[serde(rename = "pct87")]
1624 Pct87,
1625 #[serde(rename = "pct90")]
1626 Pct90,
1627 #[serde(rename = "pct95")]
1628 Pct95,
1629}
1630
1631impl std::fmt::Display for STShd {
1632 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1633 match self {
1634 Self::Nil => write!(f, "nil"),
1635 Self::Clear => write!(f, "clear"),
1636 Self::Solid => write!(f, "solid"),
1637 Self::HorzStripe => write!(f, "horzStripe"),
1638 Self::VertStripe => write!(f, "vertStripe"),
1639 Self::ReverseDiagStripe => write!(f, "reverseDiagStripe"),
1640 Self::DiagStripe => write!(f, "diagStripe"),
1641 Self::HorzCross => write!(f, "horzCross"),
1642 Self::DiagCross => write!(f, "diagCross"),
1643 Self::ThinHorzStripe => write!(f, "thinHorzStripe"),
1644 Self::ThinVertStripe => write!(f, "thinVertStripe"),
1645 Self::ThinReverseDiagStripe => write!(f, "thinReverseDiagStripe"),
1646 Self::ThinDiagStripe => write!(f, "thinDiagStripe"),
1647 Self::ThinHorzCross => write!(f, "thinHorzCross"),
1648 Self::ThinDiagCross => write!(f, "thinDiagCross"),
1649 Self::Pct5 => write!(f, "pct5"),
1650 Self::Pct10 => write!(f, "pct10"),
1651 Self::Pct12 => write!(f, "pct12"),
1652 Self::Pct15 => write!(f, "pct15"),
1653 Self::Pct20 => write!(f, "pct20"),
1654 Self::Pct25 => write!(f, "pct25"),
1655 Self::Pct30 => write!(f, "pct30"),
1656 Self::Pct35 => write!(f, "pct35"),
1657 Self::Pct37 => write!(f, "pct37"),
1658 Self::Pct40 => write!(f, "pct40"),
1659 Self::Pct45 => write!(f, "pct45"),
1660 Self::Pct50 => write!(f, "pct50"),
1661 Self::Pct55 => write!(f, "pct55"),
1662 Self::Pct60 => write!(f, "pct60"),
1663 Self::Pct62 => write!(f, "pct62"),
1664 Self::Pct65 => write!(f, "pct65"),
1665 Self::Pct70 => write!(f, "pct70"),
1666 Self::Pct75 => write!(f, "pct75"),
1667 Self::Pct80 => write!(f, "pct80"),
1668 Self::Pct85 => write!(f, "pct85"),
1669 Self::Pct87 => write!(f, "pct87"),
1670 Self::Pct90 => write!(f, "pct90"),
1671 Self::Pct95 => write!(f, "pct95"),
1672 }
1673 }
1674}
1675
1676impl std::str::FromStr for STShd {
1677 type Err = String;
1678
1679 fn from_str(s: &str) -> Result<Self, Self::Err> {
1680 match s {
1681 "nil" => Ok(Self::Nil),
1682 "clear" => Ok(Self::Clear),
1683 "solid" => Ok(Self::Solid),
1684 "horzStripe" => Ok(Self::HorzStripe),
1685 "vertStripe" => Ok(Self::VertStripe),
1686 "reverseDiagStripe" => Ok(Self::ReverseDiagStripe),
1687 "diagStripe" => Ok(Self::DiagStripe),
1688 "horzCross" => Ok(Self::HorzCross),
1689 "diagCross" => Ok(Self::DiagCross),
1690 "thinHorzStripe" => Ok(Self::ThinHorzStripe),
1691 "thinVertStripe" => Ok(Self::ThinVertStripe),
1692 "thinReverseDiagStripe" => Ok(Self::ThinReverseDiagStripe),
1693 "thinDiagStripe" => Ok(Self::ThinDiagStripe),
1694 "thinHorzCross" => Ok(Self::ThinHorzCross),
1695 "thinDiagCross" => Ok(Self::ThinDiagCross),
1696 "pct5" => Ok(Self::Pct5),
1697 "pct10" => Ok(Self::Pct10),
1698 "pct12" => Ok(Self::Pct12),
1699 "pct15" => Ok(Self::Pct15),
1700 "pct20" => Ok(Self::Pct20),
1701 "pct25" => Ok(Self::Pct25),
1702 "pct30" => Ok(Self::Pct30),
1703 "pct35" => Ok(Self::Pct35),
1704 "pct37" => Ok(Self::Pct37),
1705 "pct40" => Ok(Self::Pct40),
1706 "pct45" => Ok(Self::Pct45),
1707 "pct50" => Ok(Self::Pct50),
1708 "pct55" => Ok(Self::Pct55),
1709 "pct60" => Ok(Self::Pct60),
1710 "pct62" => Ok(Self::Pct62),
1711 "pct65" => Ok(Self::Pct65),
1712 "pct70" => Ok(Self::Pct70),
1713 "pct75" => Ok(Self::Pct75),
1714 "pct80" => Ok(Self::Pct80),
1715 "pct85" => Ok(Self::Pct85),
1716 "pct87" => Ok(Self::Pct87),
1717 "pct90" => Ok(Self::Pct90),
1718 "pct95" => Ok(Self::Pct95),
1719 _ => Err(format!("unknown STShd value: {}", s)),
1720 }
1721 }
1722}
1723
1724#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1725pub enum STEm {
1726 #[serde(rename = "none")]
1727 None,
1728 #[serde(rename = "dot")]
1729 Dot,
1730 #[serde(rename = "comma")]
1731 Comma,
1732 #[serde(rename = "circle")]
1733 Circle,
1734 #[serde(rename = "underDot")]
1735 UnderDot,
1736}
1737
1738impl std::fmt::Display for STEm {
1739 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1740 match self {
1741 Self::None => write!(f, "none"),
1742 Self::Dot => write!(f, "dot"),
1743 Self::Comma => write!(f, "comma"),
1744 Self::Circle => write!(f, "circle"),
1745 Self::UnderDot => write!(f, "underDot"),
1746 }
1747 }
1748}
1749
1750impl std::str::FromStr for STEm {
1751 type Err = String;
1752
1753 fn from_str(s: &str) -> Result<Self, Self::Err> {
1754 match s {
1755 "none" => Ok(Self::None),
1756 "dot" => Ok(Self::Dot),
1757 "comma" => Ok(Self::Comma),
1758 "circle" => Ok(Self::Circle),
1759 "underDot" => Ok(Self::UnderDot),
1760 _ => Err(format!("unknown STEm value: {}", s)),
1761 }
1762 }
1763}
1764
1765#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1766pub enum STCombineBrackets {
1767 #[serde(rename = "none")]
1768 None,
1769 #[serde(rename = "round")]
1770 Round,
1771 #[serde(rename = "square")]
1772 Square,
1773 #[serde(rename = "angle")]
1774 Angle,
1775 #[serde(rename = "curly")]
1776 Curly,
1777}
1778
1779impl std::fmt::Display for STCombineBrackets {
1780 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1781 match self {
1782 Self::None => write!(f, "none"),
1783 Self::Round => write!(f, "round"),
1784 Self::Square => write!(f, "square"),
1785 Self::Angle => write!(f, "angle"),
1786 Self::Curly => write!(f, "curly"),
1787 }
1788 }
1789}
1790
1791impl std::str::FromStr for STCombineBrackets {
1792 type Err = String;
1793
1794 fn from_str(s: &str) -> Result<Self, Self::Err> {
1795 match s {
1796 "none" => Ok(Self::None),
1797 "round" => Ok(Self::Round),
1798 "square" => Ok(Self::Square),
1799 "angle" => Ok(Self::Angle),
1800 "curly" => Ok(Self::Curly),
1801 _ => Err(format!("unknown STCombineBrackets value: {}", s)),
1802 }
1803 }
1804}
1805
1806#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1807pub enum STHeightRule {
1808 #[serde(rename = "auto")]
1809 Auto,
1810 #[serde(rename = "exact")]
1811 Exact,
1812 #[serde(rename = "atLeast")]
1813 AtLeast,
1814}
1815
1816impl std::fmt::Display for STHeightRule {
1817 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1818 match self {
1819 Self::Auto => write!(f, "auto"),
1820 Self::Exact => write!(f, "exact"),
1821 Self::AtLeast => write!(f, "atLeast"),
1822 }
1823 }
1824}
1825
1826impl std::str::FromStr for STHeightRule {
1827 type Err = String;
1828
1829 fn from_str(s: &str) -> Result<Self, Self::Err> {
1830 match s {
1831 "auto" => Ok(Self::Auto),
1832 "exact" => Ok(Self::Exact),
1833 "atLeast" => Ok(Self::AtLeast),
1834 _ => Err(format!("unknown STHeightRule value: {}", s)),
1835 }
1836 }
1837}
1838
1839#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1840pub enum STWrap {
1841 #[serde(rename = "auto")]
1842 Auto,
1843 #[serde(rename = "notBeside")]
1844 NotBeside,
1845 #[serde(rename = "around")]
1846 Around,
1847 #[serde(rename = "tight")]
1848 Tight,
1849 #[serde(rename = "through")]
1850 Through,
1851 #[serde(rename = "none")]
1852 None,
1853}
1854
1855impl std::fmt::Display for STWrap {
1856 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1857 match self {
1858 Self::Auto => write!(f, "auto"),
1859 Self::NotBeside => write!(f, "notBeside"),
1860 Self::Around => write!(f, "around"),
1861 Self::Tight => write!(f, "tight"),
1862 Self::Through => write!(f, "through"),
1863 Self::None => write!(f, "none"),
1864 }
1865 }
1866}
1867
1868impl std::str::FromStr for STWrap {
1869 type Err = String;
1870
1871 fn from_str(s: &str) -> Result<Self, Self::Err> {
1872 match s {
1873 "auto" => Ok(Self::Auto),
1874 "notBeside" => Ok(Self::NotBeside),
1875 "around" => Ok(Self::Around),
1876 "tight" => Ok(Self::Tight),
1877 "through" => Ok(Self::Through),
1878 "none" => Ok(Self::None),
1879 _ => Err(format!("unknown STWrap value: {}", s)),
1880 }
1881 }
1882}
1883
1884#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1885pub enum STVAnchor {
1886 #[serde(rename = "text")]
1887 Text,
1888 #[serde(rename = "margin")]
1889 Margin,
1890 #[serde(rename = "page")]
1891 Page,
1892}
1893
1894impl std::fmt::Display for STVAnchor {
1895 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1896 match self {
1897 Self::Text => write!(f, "text"),
1898 Self::Margin => write!(f, "margin"),
1899 Self::Page => write!(f, "page"),
1900 }
1901 }
1902}
1903
1904impl std::str::FromStr for STVAnchor {
1905 type Err = String;
1906
1907 fn from_str(s: &str) -> Result<Self, Self::Err> {
1908 match s {
1909 "text" => Ok(Self::Text),
1910 "margin" => Ok(Self::Margin),
1911 "page" => Ok(Self::Page),
1912 _ => Err(format!("unknown STVAnchor value: {}", s)),
1913 }
1914 }
1915}
1916
1917#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1918pub enum STHAnchor {
1919 #[serde(rename = "text")]
1920 Text,
1921 #[serde(rename = "margin")]
1922 Margin,
1923 #[serde(rename = "page")]
1924 Page,
1925}
1926
1927impl std::fmt::Display for STHAnchor {
1928 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1929 match self {
1930 Self::Text => write!(f, "text"),
1931 Self::Margin => write!(f, "margin"),
1932 Self::Page => write!(f, "page"),
1933 }
1934 }
1935}
1936
1937impl std::str::FromStr for STHAnchor {
1938 type Err = String;
1939
1940 fn from_str(s: &str) -> Result<Self, Self::Err> {
1941 match s {
1942 "text" => Ok(Self::Text),
1943 "margin" => Ok(Self::Margin),
1944 "page" => Ok(Self::Page),
1945 _ => Err(format!("unknown STHAnchor value: {}", s)),
1946 }
1947 }
1948}
1949
1950#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1951pub enum STDropCap {
1952 #[serde(rename = "none")]
1953 None,
1954 #[serde(rename = "drop")]
1955 Drop,
1956 #[serde(rename = "margin")]
1957 Margin,
1958}
1959
1960impl std::fmt::Display for STDropCap {
1961 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1962 match self {
1963 Self::None => write!(f, "none"),
1964 Self::Drop => write!(f, "drop"),
1965 Self::Margin => write!(f, "margin"),
1966 }
1967 }
1968}
1969
1970impl std::str::FromStr for STDropCap {
1971 type Err = String;
1972
1973 fn from_str(s: &str) -> Result<Self, Self::Err> {
1974 match s {
1975 "none" => Ok(Self::None),
1976 "drop" => Ok(Self::Drop),
1977 "margin" => Ok(Self::Margin),
1978 _ => Err(format!("unknown STDropCap value: {}", s)),
1979 }
1980 }
1981}
1982
1983#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1984pub enum STTabJc {
1985 #[serde(rename = "clear")]
1986 Clear,
1987 #[serde(rename = "start")]
1988 Start,
1989 #[serde(rename = "center")]
1990 Center,
1991 #[serde(rename = "end")]
1992 End,
1993 #[serde(rename = "decimal")]
1994 Decimal,
1995 #[serde(rename = "bar")]
1996 Bar,
1997 #[serde(rename = "num")]
1998 Num,
1999 #[serde(rename = "left")]
2000 Left,
2001 #[serde(rename = "right")]
2002 Right,
2003}
2004
2005impl std::fmt::Display for STTabJc {
2006 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2007 match self {
2008 Self::Clear => write!(f, "clear"),
2009 Self::Start => write!(f, "start"),
2010 Self::Center => write!(f, "center"),
2011 Self::End => write!(f, "end"),
2012 Self::Decimal => write!(f, "decimal"),
2013 Self::Bar => write!(f, "bar"),
2014 Self::Num => write!(f, "num"),
2015 Self::Left => write!(f, "left"),
2016 Self::Right => write!(f, "right"),
2017 }
2018 }
2019}
2020
2021impl std::str::FromStr for STTabJc {
2022 type Err = String;
2023
2024 fn from_str(s: &str) -> Result<Self, Self::Err> {
2025 match s {
2026 "clear" => Ok(Self::Clear),
2027 "start" => Ok(Self::Start),
2028 "center" => Ok(Self::Center),
2029 "end" => Ok(Self::End),
2030 "decimal" => Ok(Self::Decimal),
2031 "bar" => Ok(Self::Bar),
2032 "num" => Ok(Self::Num),
2033 "left" => Ok(Self::Left),
2034 "right" => Ok(Self::Right),
2035 _ => Err(format!("unknown STTabJc value: {}", s)),
2036 }
2037 }
2038}
2039
2040#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2041pub enum STTabTlc {
2042 #[serde(rename = "none")]
2043 None,
2044 #[serde(rename = "dot")]
2045 Dot,
2046 #[serde(rename = "hyphen")]
2047 Hyphen,
2048 #[serde(rename = "underscore")]
2049 Underscore,
2050 #[serde(rename = "heavy")]
2051 Heavy,
2052 #[serde(rename = "middleDot")]
2053 MiddleDot,
2054}
2055
2056impl std::fmt::Display for STTabTlc {
2057 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2058 match self {
2059 Self::None => write!(f, "none"),
2060 Self::Dot => write!(f, "dot"),
2061 Self::Hyphen => write!(f, "hyphen"),
2062 Self::Underscore => write!(f, "underscore"),
2063 Self::Heavy => write!(f, "heavy"),
2064 Self::MiddleDot => write!(f, "middleDot"),
2065 }
2066 }
2067}
2068
2069impl std::str::FromStr for STTabTlc {
2070 type Err = String;
2071
2072 fn from_str(s: &str) -> Result<Self, Self::Err> {
2073 match s {
2074 "none" => Ok(Self::None),
2075 "dot" => Ok(Self::Dot),
2076 "hyphen" => Ok(Self::Hyphen),
2077 "underscore" => Ok(Self::Underscore),
2078 "heavy" => Ok(Self::Heavy),
2079 "middleDot" => Ok(Self::MiddleDot),
2080 _ => Err(format!("unknown STTabTlc value: {}", s)),
2081 }
2082 }
2083}
2084
2085#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2086pub enum STLineSpacingRule {
2087 #[serde(rename = "auto")]
2088 Auto,
2089 #[serde(rename = "exact")]
2090 Exact,
2091 #[serde(rename = "atLeast")]
2092 AtLeast,
2093}
2094
2095impl std::fmt::Display for STLineSpacingRule {
2096 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2097 match self {
2098 Self::Auto => write!(f, "auto"),
2099 Self::Exact => write!(f, "exact"),
2100 Self::AtLeast => write!(f, "atLeast"),
2101 }
2102 }
2103}
2104
2105impl std::str::FromStr for STLineSpacingRule {
2106 type Err = String;
2107
2108 fn from_str(s: &str) -> Result<Self, Self::Err> {
2109 match s {
2110 "auto" => Ok(Self::Auto),
2111 "exact" => Ok(Self::Exact),
2112 "atLeast" => Ok(Self::AtLeast),
2113 _ => Err(format!("unknown STLineSpacingRule value: {}", s)),
2114 }
2115 }
2116}
2117
2118#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2119pub enum STJc {
2120 #[serde(rename = "start")]
2121 Start,
2122 #[serde(rename = "center")]
2123 Center,
2124 #[serde(rename = "end")]
2125 End,
2126 #[serde(rename = "both")]
2127 Both,
2128 #[serde(rename = "mediumKashida")]
2129 MediumKashida,
2130 #[serde(rename = "distribute")]
2131 Distribute,
2132 #[serde(rename = "numTab")]
2133 NumTab,
2134 #[serde(rename = "highKashida")]
2135 HighKashida,
2136 #[serde(rename = "lowKashida")]
2137 LowKashida,
2138 #[serde(rename = "thaiDistribute")]
2139 ThaiDistribute,
2140 #[serde(rename = "left")]
2141 Left,
2142 #[serde(rename = "right")]
2143 Right,
2144}
2145
2146impl std::fmt::Display for STJc {
2147 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2148 match self {
2149 Self::Start => write!(f, "start"),
2150 Self::Center => write!(f, "center"),
2151 Self::End => write!(f, "end"),
2152 Self::Both => write!(f, "both"),
2153 Self::MediumKashida => write!(f, "mediumKashida"),
2154 Self::Distribute => write!(f, "distribute"),
2155 Self::NumTab => write!(f, "numTab"),
2156 Self::HighKashida => write!(f, "highKashida"),
2157 Self::LowKashida => write!(f, "lowKashida"),
2158 Self::ThaiDistribute => write!(f, "thaiDistribute"),
2159 Self::Left => write!(f, "left"),
2160 Self::Right => write!(f, "right"),
2161 }
2162 }
2163}
2164
2165impl std::str::FromStr for STJc {
2166 type Err = String;
2167
2168 fn from_str(s: &str) -> Result<Self, Self::Err> {
2169 match s {
2170 "start" => Ok(Self::Start),
2171 "center" => Ok(Self::Center),
2172 "end" => Ok(Self::End),
2173 "both" => Ok(Self::Both),
2174 "mediumKashida" => Ok(Self::MediumKashida),
2175 "distribute" => Ok(Self::Distribute),
2176 "numTab" => Ok(Self::NumTab),
2177 "highKashida" => Ok(Self::HighKashida),
2178 "lowKashida" => Ok(Self::LowKashida),
2179 "thaiDistribute" => Ok(Self::ThaiDistribute),
2180 "left" => Ok(Self::Left),
2181 "right" => Ok(Self::Right),
2182 _ => Err(format!("unknown STJc value: {}", s)),
2183 }
2184 }
2185}
2186
2187#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2188pub enum STJcTable {
2189 #[serde(rename = "center")]
2190 Center,
2191 #[serde(rename = "end")]
2192 End,
2193 #[serde(rename = "left")]
2194 Left,
2195 #[serde(rename = "right")]
2196 Right,
2197 #[serde(rename = "start")]
2198 Start,
2199}
2200
2201impl std::fmt::Display for STJcTable {
2202 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2203 match self {
2204 Self::Center => write!(f, "center"),
2205 Self::End => write!(f, "end"),
2206 Self::Left => write!(f, "left"),
2207 Self::Right => write!(f, "right"),
2208 Self::Start => write!(f, "start"),
2209 }
2210 }
2211}
2212
2213impl std::str::FromStr for STJcTable {
2214 type Err = String;
2215
2216 fn from_str(s: &str) -> Result<Self, Self::Err> {
2217 match s {
2218 "center" => Ok(Self::Center),
2219 "end" => Ok(Self::End),
2220 "left" => Ok(Self::Left),
2221 "right" => Ok(Self::Right),
2222 "start" => Ok(Self::Start),
2223 _ => Err(format!("unknown STJcTable value: {}", s)),
2224 }
2225 }
2226}
2227
2228#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2229pub enum STView {
2230 #[serde(rename = "none")]
2231 None,
2232 #[serde(rename = "print")]
2233 Print,
2234 #[serde(rename = "outline")]
2235 Outline,
2236 #[serde(rename = "masterPages")]
2237 MasterPages,
2238 #[serde(rename = "normal")]
2239 Normal,
2240 #[serde(rename = "web")]
2241 Web,
2242}
2243
2244impl std::fmt::Display for STView {
2245 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2246 match self {
2247 Self::None => write!(f, "none"),
2248 Self::Print => write!(f, "print"),
2249 Self::Outline => write!(f, "outline"),
2250 Self::MasterPages => write!(f, "masterPages"),
2251 Self::Normal => write!(f, "normal"),
2252 Self::Web => write!(f, "web"),
2253 }
2254 }
2255}
2256
2257impl std::str::FromStr for STView {
2258 type Err = String;
2259
2260 fn from_str(s: &str) -> Result<Self, Self::Err> {
2261 match s {
2262 "none" => Ok(Self::None),
2263 "print" => Ok(Self::Print),
2264 "outline" => Ok(Self::Outline),
2265 "masterPages" => Ok(Self::MasterPages),
2266 "normal" => Ok(Self::Normal),
2267 "web" => Ok(Self::Web),
2268 _ => Err(format!("unknown STView value: {}", s)),
2269 }
2270 }
2271}
2272
2273#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2274pub enum STZoom {
2275 #[serde(rename = "none")]
2276 None,
2277 #[serde(rename = "fullPage")]
2278 FullPage,
2279 #[serde(rename = "bestFit")]
2280 BestFit,
2281 #[serde(rename = "textFit")]
2282 TextFit,
2283}
2284
2285impl std::fmt::Display for STZoom {
2286 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2287 match self {
2288 Self::None => write!(f, "none"),
2289 Self::FullPage => write!(f, "fullPage"),
2290 Self::BestFit => write!(f, "bestFit"),
2291 Self::TextFit => write!(f, "textFit"),
2292 }
2293 }
2294}
2295
2296impl std::str::FromStr for STZoom {
2297 type Err = String;
2298
2299 fn from_str(s: &str) -> Result<Self, Self::Err> {
2300 match s {
2301 "none" => Ok(Self::None),
2302 "fullPage" => Ok(Self::FullPage),
2303 "bestFit" => Ok(Self::BestFit),
2304 "textFit" => Ok(Self::TextFit),
2305 _ => Err(format!("unknown STZoom value: {}", s)),
2306 }
2307 }
2308}
2309
2310#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2311pub enum STProof {
2312 #[serde(rename = "clean")]
2313 Clean,
2314 #[serde(rename = "dirty")]
2315 Dirty,
2316}
2317
2318impl std::fmt::Display for STProof {
2319 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2320 match self {
2321 Self::Clean => write!(f, "clean"),
2322 Self::Dirty => write!(f, "dirty"),
2323 }
2324 }
2325}
2326
2327impl std::str::FromStr for STProof {
2328 type Err = String;
2329
2330 fn from_str(s: &str) -> Result<Self, Self::Err> {
2331 match s {
2332 "clean" => Ok(Self::Clean),
2333 "dirty" => Ok(Self::Dirty),
2334 _ => Err(format!("unknown STProof value: {}", s)),
2335 }
2336 }
2337}
2338
2339pub type STDocType = String;
2340
2341#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2342pub enum STDocProtect {
2343 #[serde(rename = "none")]
2344 None,
2345 #[serde(rename = "readOnly")]
2346 ReadOnly,
2347 #[serde(rename = "comments")]
2348 Comments,
2349 #[serde(rename = "trackedChanges")]
2350 TrackedChanges,
2351 #[serde(rename = "forms")]
2352 Forms,
2353}
2354
2355impl std::fmt::Display for STDocProtect {
2356 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2357 match self {
2358 Self::None => write!(f, "none"),
2359 Self::ReadOnly => write!(f, "readOnly"),
2360 Self::Comments => write!(f, "comments"),
2361 Self::TrackedChanges => write!(f, "trackedChanges"),
2362 Self::Forms => write!(f, "forms"),
2363 }
2364 }
2365}
2366
2367impl std::str::FromStr for STDocProtect {
2368 type Err = String;
2369
2370 fn from_str(s: &str) -> Result<Self, Self::Err> {
2371 match s {
2372 "none" => Ok(Self::None),
2373 "readOnly" => Ok(Self::ReadOnly),
2374 "comments" => Ok(Self::Comments),
2375 "trackedChanges" => Ok(Self::TrackedChanges),
2376 "forms" => Ok(Self::Forms),
2377 _ => Err(format!("unknown STDocProtect value: {}", s)),
2378 }
2379 }
2380}
2381
2382#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2383pub enum STMailMergeDocType {
2384 #[serde(rename = "catalog")]
2385 Catalog,
2386 #[serde(rename = "envelopes")]
2387 Envelopes,
2388 #[serde(rename = "mailingLabels")]
2389 MailingLabels,
2390 #[serde(rename = "formLetters")]
2391 FormLetters,
2392 #[serde(rename = "email")]
2393 Email,
2394 #[serde(rename = "fax")]
2395 Fax,
2396}
2397
2398impl std::fmt::Display for STMailMergeDocType {
2399 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2400 match self {
2401 Self::Catalog => write!(f, "catalog"),
2402 Self::Envelopes => write!(f, "envelopes"),
2403 Self::MailingLabels => write!(f, "mailingLabels"),
2404 Self::FormLetters => write!(f, "formLetters"),
2405 Self::Email => write!(f, "email"),
2406 Self::Fax => write!(f, "fax"),
2407 }
2408 }
2409}
2410
2411impl std::str::FromStr for STMailMergeDocType {
2412 type Err = String;
2413
2414 fn from_str(s: &str) -> Result<Self, Self::Err> {
2415 match s {
2416 "catalog" => Ok(Self::Catalog),
2417 "envelopes" => Ok(Self::Envelopes),
2418 "mailingLabels" => Ok(Self::MailingLabels),
2419 "formLetters" => Ok(Self::FormLetters),
2420 "email" => Ok(Self::Email),
2421 "fax" => Ok(Self::Fax),
2422 _ => Err(format!("unknown STMailMergeDocType value: {}", s)),
2423 }
2424 }
2425}
2426
2427pub type STMailMergeDataType = String;
2428
2429#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2430pub enum STMailMergeDest {
2431 #[serde(rename = "newDocument")]
2432 NewDocument,
2433 #[serde(rename = "printer")]
2434 Printer,
2435 #[serde(rename = "email")]
2436 Email,
2437 #[serde(rename = "fax")]
2438 Fax,
2439}
2440
2441impl std::fmt::Display for STMailMergeDest {
2442 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2443 match self {
2444 Self::NewDocument => write!(f, "newDocument"),
2445 Self::Printer => write!(f, "printer"),
2446 Self::Email => write!(f, "email"),
2447 Self::Fax => write!(f, "fax"),
2448 }
2449 }
2450}
2451
2452impl std::str::FromStr for STMailMergeDest {
2453 type Err = String;
2454
2455 fn from_str(s: &str) -> Result<Self, Self::Err> {
2456 match s {
2457 "newDocument" => Ok(Self::NewDocument),
2458 "printer" => Ok(Self::Printer),
2459 "email" => Ok(Self::Email),
2460 "fax" => Ok(Self::Fax),
2461 _ => Err(format!("unknown STMailMergeDest value: {}", s)),
2462 }
2463 }
2464}
2465
2466#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2467pub enum STMailMergeOdsoFMDFieldType {
2468 #[serde(rename = "null")]
2469 Null,
2470 #[serde(rename = "dbColumn")]
2471 DbColumn,
2472}
2473
2474impl std::fmt::Display for STMailMergeOdsoFMDFieldType {
2475 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2476 match self {
2477 Self::Null => write!(f, "null"),
2478 Self::DbColumn => write!(f, "dbColumn"),
2479 }
2480 }
2481}
2482
2483impl std::str::FromStr for STMailMergeOdsoFMDFieldType {
2484 type Err = String;
2485
2486 fn from_str(s: &str) -> Result<Self, Self::Err> {
2487 match s {
2488 "null" => Ok(Self::Null),
2489 "dbColumn" => Ok(Self::DbColumn),
2490 _ => Err(format!("unknown STMailMergeOdsoFMDFieldType value: {}", s)),
2491 }
2492 }
2493}
2494
2495#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2496pub enum STTextDirection {
2497 #[serde(rename = "tb")]
2498 Tb,
2499 #[serde(rename = "rl")]
2500 Rl,
2501 #[serde(rename = "lr")]
2502 Lr,
2503 #[serde(rename = "tbV")]
2504 TbV,
2505 #[serde(rename = "rlV")]
2506 RlV,
2507 #[serde(rename = "lrV")]
2508 LrV,
2509 #[serde(rename = "btLr")]
2510 BtLr,
2511 #[serde(rename = "lrTb")]
2512 LrTb,
2513 #[serde(rename = "lrTbV")]
2514 LrTbV,
2515 #[serde(rename = "tbLrV")]
2516 TbLrV,
2517 #[serde(rename = "tbRl")]
2518 TbRl,
2519 #[serde(rename = "tbRlV")]
2520 TbRlV,
2521}
2522
2523impl std::fmt::Display for STTextDirection {
2524 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2525 match self {
2526 Self::Tb => write!(f, "tb"),
2527 Self::Rl => write!(f, "rl"),
2528 Self::Lr => write!(f, "lr"),
2529 Self::TbV => write!(f, "tbV"),
2530 Self::RlV => write!(f, "rlV"),
2531 Self::LrV => write!(f, "lrV"),
2532 Self::BtLr => write!(f, "btLr"),
2533 Self::LrTb => write!(f, "lrTb"),
2534 Self::LrTbV => write!(f, "lrTbV"),
2535 Self::TbLrV => write!(f, "tbLrV"),
2536 Self::TbRl => write!(f, "tbRl"),
2537 Self::TbRlV => write!(f, "tbRlV"),
2538 }
2539 }
2540}
2541
2542impl std::str::FromStr for STTextDirection {
2543 type Err = String;
2544
2545 fn from_str(s: &str) -> Result<Self, Self::Err> {
2546 match s {
2547 "tb" => Ok(Self::Tb),
2548 "rl" => Ok(Self::Rl),
2549 "lr" => Ok(Self::Lr),
2550 "tbV" => Ok(Self::TbV),
2551 "rlV" => Ok(Self::RlV),
2552 "lrV" => Ok(Self::LrV),
2553 "btLr" => Ok(Self::BtLr),
2554 "lrTb" => Ok(Self::LrTb),
2555 "lrTbV" => Ok(Self::LrTbV),
2556 "tbLrV" => Ok(Self::TbLrV),
2557 "tbRl" => Ok(Self::TbRl),
2558 "tbRlV" => Ok(Self::TbRlV),
2559 _ => Err(format!("unknown STTextDirection value: {}", s)),
2560 }
2561 }
2562}
2563
2564#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2565pub enum STTextAlignment {
2566 #[serde(rename = "top")]
2567 Top,
2568 #[serde(rename = "center")]
2569 Center,
2570 #[serde(rename = "baseline")]
2571 Baseline,
2572 #[serde(rename = "bottom")]
2573 Bottom,
2574 #[serde(rename = "auto")]
2575 Auto,
2576}
2577
2578impl std::fmt::Display for STTextAlignment {
2579 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2580 match self {
2581 Self::Top => write!(f, "top"),
2582 Self::Center => write!(f, "center"),
2583 Self::Baseline => write!(f, "baseline"),
2584 Self::Bottom => write!(f, "bottom"),
2585 Self::Auto => write!(f, "auto"),
2586 }
2587 }
2588}
2589
2590impl std::str::FromStr for STTextAlignment {
2591 type Err = String;
2592
2593 fn from_str(s: &str) -> Result<Self, Self::Err> {
2594 match s {
2595 "top" => Ok(Self::Top),
2596 "center" => Ok(Self::Center),
2597 "baseline" => Ok(Self::Baseline),
2598 "bottom" => Ok(Self::Bottom),
2599 "auto" => Ok(Self::Auto),
2600 _ => Err(format!("unknown STTextAlignment value: {}", s)),
2601 }
2602 }
2603}
2604
2605#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2606pub enum STDisplacedByCustomXml {
2607 #[serde(rename = "next")]
2608 Next,
2609 #[serde(rename = "prev")]
2610 Prev,
2611}
2612
2613impl std::fmt::Display for STDisplacedByCustomXml {
2614 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2615 match self {
2616 Self::Next => write!(f, "next"),
2617 Self::Prev => write!(f, "prev"),
2618 }
2619 }
2620}
2621
2622impl std::str::FromStr for STDisplacedByCustomXml {
2623 type Err = String;
2624
2625 fn from_str(s: &str) -> Result<Self, Self::Err> {
2626 match s {
2627 "next" => Ok(Self::Next),
2628 "prev" => Ok(Self::Prev),
2629 _ => Err(format!("unknown STDisplacedByCustomXml value: {}", s)),
2630 }
2631 }
2632}
2633
2634#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2635pub enum STAnnotationVMerge {
2636 #[serde(rename = "cont")]
2637 Cont,
2638 #[serde(rename = "rest")]
2639 Rest,
2640}
2641
2642impl std::fmt::Display for STAnnotationVMerge {
2643 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2644 match self {
2645 Self::Cont => write!(f, "cont"),
2646 Self::Rest => write!(f, "rest"),
2647 }
2648 }
2649}
2650
2651impl std::str::FromStr for STAnnotationVMerge {
2652 type Err = String;
2653
2654 fn from_str(s: &str) -> Result<Self, Self::Err> {
2655 match s {
2656 "cont" => Ok(Self::Cont),
2657 "rest" => Ok(Self::Rest),
2658 _ => Err(format!("unknown STAnnotationVMerge value: {}", s)),
2659 }
2660 }
2661}
2662
2663#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2664pub enum STTextboxTightWrap {
2665 #[serde(rename = "none")]
2666 None,
2667 #[serde(rename = "allLines")]
2668 AllLines,
2669 #[serde(rename = "firstAndLastLine")]
2670 FirstAndLastLine,
2671 #[serde(rename = "firstLineOnly")]
2672 FirstLineOnly,
2673 #[serde(rename = "lastLineOnly")]
2674 LastLineOnly,
2675}
2676
2677impl std::fmt::Display for STTextboxTightWrap {
2678 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2679 match self {
2680 Self::None => write!(f, "none"),
2681 Self::AllLines => write!(f, "allLines"),
2682 Self::FirstAndLastLine => write!(f, "firstAndLastLine"),
2683 Self::FirstLineOnly => write!(f, "firstLineOnly"),
2684 Self::LastLineOnly => write!(f, "lastLineOnly"),
2685 }
2686 }
2687}
2688
2689impl std::str::FromStr for STTextboxTightWrap {
2690 type Err = String;
2691
2692 fn from_str(s: &str) -> Result<Self, Self::Err> {
2693 match s {
2694 "none" => Ok(Self::None),
2695 "allLines" => Ok(Self::AllLines),
2696 "firstAndLastLine" => Ok(Self::FirstAndLastLine),
2697 "firstLineOnly" => Ok(Self::FirstLineOnly),
2698 "lastLineOnly" => Ok(Self::LastLineOnly),
2699 _ => Err(format!("unknown STTextboxTightWrap value: {}", s)),
2700 }
2701 }
2702}
2703
2704#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2705pub enum STObjectDrawAspect {
2706 #[serde(rename = "content")]
2707 Content,
2708 #[serde(rename = "icon")]
2709 Icon,
2710}
2711
2712impl std::fmt::Display for STObjectDrawAspect {
2713 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2714 match self {
2715 Self::Content => write!(f, "content"),
2716 Self::Icon => write!(f, "icon"),
2717 }
2718 }
2719}
2720
2721impl std::str::FromStr for STObjectDrawAspect {
2722 type Err = String;
2723
2724 fn from_str(s: &str) -> Result<Self, Self::Err> {
2725 match s {
2726 "content" => Ok(Self::Content),
2727 "icon" => Ok(Self::Icon),
2728 _ => Err(format!("unknown STObjectDrawAspect value: {}", s)),
2729 }
2730 }
2731}
2732
2733#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2734pub enum STObjectUpdateMode {
2735 #[serde(rename = "always")]
2736 Always,
2737 #[serde(rename = "onCall")]
2738 OnCall,
2739}
2740
2741impl std::fmt::Display for STObjectUpdateMode {
2742 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2743 match self {
2744 Self::Always => write!(f, "always"),
2745 Self::OnCall => write!(f, "onCall"),
2746 }
2747 }
2748}
2749
2750impl std::str::FromStr for STObjectUpdateMode {
2751 type Err = String;
2752
2753 fn from_str(s: &str) -> Result<Self, Self::Err> {
2754 match s {
2755 "always" => Ok(Self::Always),
2756 "onCall" => Ok(Self::OnCall),
2757 _ => Err(format!("unknown STObjectUpdateMode value: {}", s)),
2758 }
2759 }
2760}
2761
2762#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2763pub enum STFldCharType {
2764 #[serde(rename = "begin")]
2765 Begin,
2766 #[serde(rename = "separate")]
2767 Separate,
2768 #[serde(rename = "end")]
2769 End,
2770}
2771
2772impl std::fmt::Display for STFldCharType {
2773 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2774 match self {
2775 Self::Begin => write!(f, "begin"),
2776 Self::Separate => write!(f, "separate"),
2777 Self::End => write!(f, "end"),
2778 }
2779 }
2780}
2781
2782impl std::str::FromStr for STFldCharType {
2783 type Err = String;
2784
2785 fn from_str(s: &str) -> Result<Self, Self::Err> {
2786 match s {
2787 "begin" => Ok(Self::Begin),
2788 "separate" => Ok(Self::Separate),
2789 "end" => Ok(Self::End),
2790 _ => Err(format!("unknown STFldCharType value: {}", s)),
2791 }
2792 }
2793}
2794
2795#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2796pub enum STInfoTextType {
2797 #[serde(rename = "text")]
2798 Text,
2799 #[serde(rename = "autoText")]
2800 AutoText,
2801}
2802
2803impl std::fmt::Display for STInfoTextType {
2804 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2805 match self {
2806 Self::Text => write!(f, "text"),
2807 Self::AutoText => write!(f, "autoText"),
2808 }
2809 }
2810}
2811
2812impl std::str::FromStr for STInfoTextType {
2813 type Err = String;
2814
2815 fn from_str(s: &str) -> Result<Self, Self::Err> {
2816 match s {
2817 "text" => Ok(Self::Text),
2818 "autoText" => Ok(Self::AutoText),
2819 _ => Err(format!("unknown STInfoTextType value: {}", s)),
2820 }
2821 }
2822}
2823
2824pub type STFFHelpTextVal = String;
2825
2826pub type STFFStatusTextVal = String;
2827
2828pub type STFFName = String;
2829
2830#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2831pub enum STFFTextType {
2832 #[serde(rename = "regular")]
2833 Regular,
2834 #[serde(rename = "number")]
2835 Number,
2836 #[serde(rename = "date")]
2837 Date,
2838 #[serde(rename = "currentTime")]
2839 CurrentTime,
2840 #[serde(rename = "currentDate")]
2841 CurrentDate,
2842 #[serde(rename = "calculated")]
2843 Calculated,
2844}
2845
2846impl std::fmt::Display for STFFTextType {
2847 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2848 match self {
2849 Self::Regular => write!(f, "regular"),
2850 Self::Number => write!(f, "number"),
2851 Self::Date => write!(f, "date"),
2852 Self::CurrentTime => write!(f, "currentTime"),
2853 Self::CurrentDate => write!(f, "currentDate"),
2854 Self::Calculated => write!(f, "calculated"),
2855 }
2856 }
2857}
2858
2859impl std::str::FromStr for STFFTextType {
2860 type Err = String;
2861
2862 fn from_str(s: &str) -> Result<Self, Self::Err> {
2863 match s {
2864 "regular" => Ok(Self::Regular),
2865 "number" => Ok(Self::Number),
2866 "date" => Ok(Self::Date),
2867 "currentTime" => Ok(Self::CurrentTime),
2868 "currentDate" => Ok(Self::CurrentDate),
2869 "calculated" => Ok(Self::Calculated),
2870 _ => Err(format!("unknown STFFTextType value: {}", s)),
2871 }
2872 }
2873}
2874
2875#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2876pub enum STSectionMark {
2877 #[serde(rename = "nextPage")]
2878 NextPage,
2879 #[serde(rename = "nextColumn")]
2880 NextColumn,
2881 #[serde(rename = "continuous")]
2882 Continuous,
2883 #[serde(rename = "evenPage")]
2884 EvenPage,
2885 #[serde(rename = "oddPage")]
2886 OddPage,
2887}
2888
2889impl std::fmt::Display for STSectionMark {
2890 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2891 match self {
2892 Self::NextPage => write!(f, "nextPage"),
2893 Self::NextColumn => write!(f, "nextColumn"),
2894 Self::Continuous => write!(f, "continuous"),
2895 Self::EvenPage => write!(f, "evenPage"),
2896 Self::OddPage => write!(f, "oddPage"),
2897 }
2898 }
2899}
2900
2901impl std::str::FromStr for STSectionMark {
2902 type Err = String;
2903
2904 fn from_str(s: &str) -> Result<Self, Self::Err> {
2905 match s {
2906 "nextPage" => Ok(Self::NextPage),
2907 "nextColumn" => Ok(Self::NextColumn),
2908 "continuous" => Ok(Self::Continuous),
2909 "evenPage" => Ok(Self::EvenPage),
2910 "oddPage" => Ok(Self::OddPage),
2911 _ => Err(format!("unknown STSectionMark value: {}", s)),
2912 }
2913 }
2914}
2915
2916#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2917pub enum STNumberFormat {
2918 #[serde(rename = "decimal")]
2919 Decimal,
2920 #[serde(rename = "upperRoman")]
2921 UpperRoman,
2922 #[serde(rename = "lowerRoman")]
2923 LowerRoman,
2924 #[serde(rename = "upperLetter")]
2925 UpperLetter,
2926 #[serde(rename = "lowerLetter")]
2927 LowerLetter,
2928 #[serde(rename = "ordinal")]
2929 Ordinal,
2930 #[serde(rename = "cardinalText")]
2931 CardinalText,
2932 #[serde(rename = "ordinalText")]
2933 OrdinalText,
2934 #[serde(rename = "hex")]
2935 Hex,
2936 #[serde(rename = "chicago")]
2937 Chicago,
2938 #[serde(rename = "ideographDigital")]
2939 IdeographDigital,
2940 #[serde(rename = "japaneseCounting")]
2941 JapaneseCounting,
2942 #[serde(rename = "aiueo")]
2943 Aiueo,
2944 #[serde(rename = "iroha")]
2945 Iroha,
2946 #[serde(rename = "decimalFullWidth")]
2947 DecimalFullWidth,
2948 #[serde(rename = "decimalHalfWidth")]
2949 DecimalHalfWidth,
2950 #[serde(rename = "japaneseLegal")]
2951 JapaneseLegal,
2952 #[serde(rename = "japaneseDigitalTenThousand")]
2953 JapaneseDigitalTenThousand,
2954 #[serde(rename = "decimalEnclosedCircle")]
2955 DecimalEnclosedCircle,
2956 #[serde(rename = "decimalFullWidth2")]
2957 DecimalFullWidth2,
2958 #[serde(rename = "aiueoFullWidth")]
2959 AiueoFullWidth,
2960 #[serde(rename = "irohaFullWidth")]
2961 IrohaFullWidth,
2962 #[serde(rename = "decimalZero")]
2963 DecimalZero,
2964 #[serde(rename = "bullet")]
2965 Bullet,
2966 #[serde(rename = "ganada")]
2967 Ganada,
2968 #[serde(rename = "chosung")]
2969 Chosung,
2970 #[serde(rename = "decimalEnclosedFullstop")]
2971 DecimalEnclosedFullstop,
2972 #[serde(rename = "decimalEnclosedParen")]
2973 DecimalEnclosedParen,
2974 #[serde(rename = "decimalEnclosedCircleChinese")]
2975 DecimalEnclosedCircleChinese,
2976 #[serde(rename = "ideographEnclosedCircle")]
2977 IdeographEnclosedCircle,
2978 #[serde(rename = "ideographTraditional")]
2979 IdeographTraditional,
2980 #[serde(rename = "ideographZodiac")]
2981 IdeographZodiac,
2982 #[serde(rename = "ideographZodiacTraditional")]
2983 IdeographZodiacTraditional,
2984 #[serde(rename = "taiwaneseCounting")]
2985 TaiwaneseCounting,
2986 #[serde(rename = "ideographLegalTraditional")]
2987 IdeographLegalTraditional,
2988 #[serde(rename = "taiwaneseCountingThousand")]
2989 TaiwaneseCountingThousand,
2990 #[serde(rename = "taiwaneseDigital")]
2991 TaiwaneseDigital,
2992 #[serde(rename = "chineseCounting")]
2993 ChineseCounting,
2994 #[serde(rename = "chineseLegalSimplified")]
2995 ChineseLegalSimplified,
2996 #[serde(rename = "chineseCountingThousand")]
2997 ChineseCountingThousand,
2998 #[serde(rename = "koreanDigital")]
2999 KoreanDigital,
3000 #[serde(rename = "koreanCounting")]
3001 KoreanCounting,
3002 #[serde(rename = "koreanLegal")]
3003 KoreanLegal,
3004 #[serde(rename = "koreanDigital2")]
3005 KoreanDigital2,
3006 #[serde(rename = "vietnameseCounting")]
3007 VietnameseCounting,
3008 #[serde(rename = "russianLower")]
3009 RussianLower,
3010 #[serde(rename = "russianUpper")]
3011 RussianUpper,
3012 #[serde(rename = "none")]
3013 None,
3014 #[serde(rename = "numberInDash")]
3015 NumberInDash,
3016 #[serde(rename = "hebrew1")]
3017 Hebrew1,
3018 #[serde(rename = "hebrew2")]
3019 Hebrew2,
3020 #[serde(rename = "arabicAlpha")]
3021 ArabicAlpha,
3022 #[serde(rename = "arabicAbjad")]
3023 ArabicAbjad,
3024 #[serde(rename = "hindiVowels")]
3025 HindiVowels,
3026 #[serde(rename = "hindiConsonants")]
3027 HindiConsonants,
3028 #[serde(rename = "hindiNumbers")]
3029 HindiNumbers,
3030 #[serde(rename = "hindiCounting")]
3031 HindiCounting,
3032 #[serde(rename = "thaiLetters")]
3033 ThaiLetters,
3034 #[serde(rename = "thaiNumbers")]
3035 ThaiNumbers,
3036 #[serde(rename = "thaiCounting")]
3037 ThaiCounting,
3038 #[serde(rename = "bahtText")]
3039 BahtText,
3040 #[serde(rename = "dollarText")]
3041 DollarText,
3042 #[serde(rename = "custom")]
3043 Custom,
3044}
3045
3046impl std::fmt::Display for STNumberFormat {
3047 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3048 match self {
3049 Self::Decimal => write!(f, "decimal"),
3050 Self::UpperRoman => write!(f, "upperRoman"),
3051 Self::LowerRoman => write!(f, "lowerRoman"),
3052 Self::UpperLetter => write!(f, "upperLetter"),
3053 Self::LowerLetter => write!(f, "lowerLetter"),
3054 Self::Ordinal => write!(f, "ordinal"),
3055 Self::CardinalText => write!(f, "cardinalText"),
3056 Self::OrdinalText => write!(f, "ordinalText"),
3057 Self::Hex => write!(f, "hex"),
3058 Self::Chicago => write!(f, "chicago"),
3059 Self::IdeographDigital => write!(f, "ideographDigital"),
3060 Self::JapaneseCounting => write!(f, "japaneseCounting"),
3061 Self::Aiueo => write!(f, "aiueo"),
3062 Self::Iroha => write!(f, "iroha"),
3063 Self::DecimalFullWidth => write!(f, "decimalFullWidth"),
3064 Self::DecimalHalfWidth => write!(f, "decimalHalfWidth"),
3065 Self::JapaneseLegal => write!(f, "japaneseLegal"),
3066 Self::JapaneseDigitalTenThousand => write!(f, "japaneseDigitalTenThousand"),
3067 Self::DecimalEnclosedCircle => write!(f, "decimalEnclosedCircle"),
3068 Self::DecimalFullWidth2 => write!(f, "decimalFullWidth2"),
3069 Self::AiueoFullWidth => write!(f, "aiueoFullWidth"),
3070 Self::IrohaFullWidth => write!(f, "irohaFullWidth"),
3071 Self::DecimalZero => write!(f, "decimalZero"),
3072 Self::Bullet => write!(f, "bullet"),
3073 Self::Ganada => write!(f, "ganada"),
3074 Self::Chosung => write!(f, "chosung"),
3075 Self::DecimalEnclosedFullstop => write!(f, "decimalEnclosedFullstop"),
3076 Self::DecimalEnclosedParen => write!(f, "decimalEnclosedParen"),
3077 Self::DecimalEnclosedCircleChinese => write!(f, "decimalEnclosedCircleChinese"),
3078 Self::IdeographEnclosedCircle => write!(f, "ideographEnclosedCircle"),
3079 Self::IdeographTraditional => write!(f, "ideographTraditional"),
3080 Self::IdeographZodiac => write!(f, "ideographZodiac"),
3081 Self::IdeographZodiacTraditional => write!(f, "ideographZodiacTraditional"),
3082 Self::TaiwaneseCounting => write!(f, "taiwaneseCounting"),
3083 Self::IdeographLegalTraditional => write!(f, "ideographLegalTraditional"),
3084 Self::TaiwaneseCountingThousand => write!(f, "taiwaneseCountingThousand"),
3085 Self::TaiwaneseDigital => write!(f, "taiwaneseDigital"),
3086 Self::ChineseCounting => write!(f, "chineseCounting"),
3087 Self::ChineseLegalSimplified => write!(f, "chineseLegalSimplified"),
3088 Self::ChineseCountingThousand => write!(f, "chineseCountingThousand"),
3089 Self::KoreanDigital => write!(f, "koreanDigital"),
3090 Self::KoreanCounting => write!(f, "koreanCounting"),
3091 Self::KoreanLegal => write!(f, "koreanLegal"),
3092 Self::KoreanDigital2 => write!(f, "koreanDigital2"),
3093 Self::VietnameseCounting => write!(f, "vietnameseCounting"),
3094 Self::RussianLower => write!(f, "russianLower"),
3095 Self::RussianUpper => write!(f, "russianUpper"),
3096 Self::None => write!(f, "none"),
3097 Self::NumberInDash => write!(f, "numberInDash"),
3098 Self::Hebrew1 => write!(f, "hebrew1"),
3099 Self::Hebrew2 => write!(f, "hebrew2"),
3100 Self::ArabicAlpha => write!(f, "arabicAlpha"),
3101 Self::ArabicAbjad => write!(f, "arabicAbjad"),
3102 Self::HindiVowels => write!(f, "hindiVowels"),
3103 Self::HindiConsonants => write!(f, "hindiConsonants"),
3104 Self::HindiNumbers => write!(f, "hindiNumbers"),
3105 Self::HindiCounting => write!(f, "hindiCounting"),
3106 Self::ThaiLetters => write!(f, "thaiLetters"),
3107 Self::ThaiNumbers => write!(f, "thaiNumbers"),
3108 Self::ThaiCounting => write!(f, "thaiCounting"),
3109 Self::BahtText => write!(f, "bahtText"),
3110 Self::DollarText => write!(f, "dollarText"),
3111 Self::Custom => write!(f, "custom"),
3112 }
3113 }
3114}
3115
3116impl std::str::FromStr for STNumberFormat {
3117 type Err = String;
3118
3119 fn from_str(s: &str) -> Result<Self, Self::Err> {
3120 match s {
3121 "decimal" => Ok(Self::Decimal),
3122 "upperRoman" => Ok(Self::UpperRoman),
3123 "lowerRoman" => Ok(Self::LowerRoman),
3124 "upperLetter" => Ok(Self::UpperLetter),
3125 "lowerLetter" => Ok(Self::LowerLetter),
3126 "ordinal" => Ok(Self::Ordinal),
3127 "cardinalText" => Ok(Self::CardinalText),
3128 "ordinalText" => Ok(Self::OrdinalText),
3129 "hex" => Ok(Self::Hex),
3130 "chicago" => Ok(Self::Chicago),
3131 "ideographDigital" => Ok(Self::IdeographDigital),
3132 "japaneseCounting" => Ok(Self::JapaneseCounting),
3133 "aiueo" => Ok(Self::Aiueo),
3134 "iroha" => Ok(Self::Iroha),
3135 "decimalFullWidth" => Ok(Self::DecimalFullWidth),
3136 "decimalHalfWidth" => Ok(Self::DecimalHalfWidth),
3137 "japaneseLegal" => Ok(Self::JapaneseLegal),
3138 "japaneseDigitalTenThousand" => Ok(Self::JapaneseDigitalTenThousand),
3139 "decimalEnclosedCircle" => Ok(Self::DecimalEnclosedCircle),
3140 "decimalFullWidth2" => Ok(Self::DecimalFullWidth2),
3141 "aiueoFullWidth" => Ok(Self::AiueoFullWidth),
3142 "irohaFullWidth" => Ok(Self::IrohaFullWidth),
3143 "decimalZero" => Ok(Self::DecimalZero),
3144 "bullet" => Ok(Self::Bullet),
3145 "ganada" => Ok(Self::Ganada),
3146 "chosung" => Ok(Self::Chosung),
3147 "decimalEnclosedFullstop" => Ok(Self::DecimalEnclosedFullstop),
3148 "decimalEnclosedParen" => Ok(Self::DecimalEnclosedParen),
3149 "decimalEnclosedCircleChinese" => Ok(Self::DecimalEnclosedCircleChinese),
3150 "ideographEnclosedCircle" => Ok(Self::IdeographEnclosedCircle),
3151 "ideographTraditional" => Ok(Self::IdeographTraditional),
3152 "ideographZodiac" => Ok(Self::IdeographZodiac),
3153 "ideographZodiacTraditional" => Ok(Self::IdeographZodiacTraditional),
3154 "taiwaneseCounting" => Ok(Self::TaiwaneseCounting),
3155 "ideographLegalTraditional" => Ok(Self::IdeographLegalTraditional),
3156 "taiwaneseCountingThousand" => Ok(Self::TaiwaneseCountingThousand),
3157 "taiwaneseDigital" => Ok(Self::TaiwaneseDigital),
3158 "chineseCounting" => Ok(Self::ChineseCounting),
3159 "chineseLegalSimplified" => Ok(Self::ChineseLegalSimplified),
3160 "chineseCountingThousand" => Ok(Self::ChineseCountingThousand),
3161 "koreanDigital" => Ok(Self::KoreanDigital),
3162 "koreanCounting" => Ok(Self::KoreanCounting),
3163 "koreanLegal" => Ok(Self::KoreanLegal),
3164 "koreanDigital2" => Ok(Self::KoreanDigital2),
3165 "vietnameseCounting" => Ok(Self::VietnameseCounting),
3166 "russianLower" => Ok(Self::RussianLower),
3167 "russianUpper" => Ok(Self::RussianUpper),
3168 "none" => Ok(Self::None),
3169 "numberInDash" => Ok(Self::NumberInDash),
3170 "hebrew1" => Ok(Self::Hebrew1),
3171 "hebrew2" => Ok(Self::Hebrew2),
3172 "arabicAlpha" => Ok(Self::ArabicAlpha),
3173 "arabicAbjad" => Ok(Self::ArabicAbjad),
3174 "hindiVowels" => Ok(Self::HindiVowels),
3175 "hindiConsonants" => Ok(Self::HindiConsonants),
3176 "hindiNumbers" => Ok(Self::HindiNumbers),
3177 "hindiCounting" => Ok(Self::HindiCounting),
3178 "thaiLetters" => Ok(Self::ThaiLetters),
3179 "thaiNumbers" => Ok(Self::ThaiNumbers),
3180 "thaiCounting" => Ok(Self::ThaiCounting),
3181 "bahtText" => Ok(Self::BahtText),
3182 "dollarText" => Ok(Self::DollarText),
3183 "custom" => Ok(Self::Custom),
3184 _ => Err(format!("unknown STNumberFormat value: {}", s)),
3185 }
3186 }
3187}
3188
3189#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3190pub enum STPageOrientation {
3191 #[serde(rename = "portrait")]
3192 Portrait,
3193 #[serde(rename = "landscape")]
3194 Landscape,
3195}
3196
3197impl std::fmt::Display for STPageOrientation {
3198 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3199 match self {
3200 Self::Portrait => write!(f, "portrait"),
3201 Self::Landscape => write!(f, "landscape"),
3202 }
3203 }
3204}
3205
3206impl std::str::FromStr for STPageOrientation {
3207 type Err = String;
3208
3209 fn from_str(s: &str) -> Result<Self, Self::Err> {
3210 match s {
3211 "portrait" => Ok(Self::Portrait),
3212 "landscape" => Ok(Self::Landscape),
3213 _ => Err(format!("unknown STPageOrientation value: {}", s)),
3214 }
3215 }
3216}
3217
3218#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3219pub enum STPageBorderZOrder {
3220 #[serde(rename = "front")]
3221 Front,
3222 #[serde(rename = "back")]
3223 Back,
3224}
3225
3226impl std::fmt::Display for STPageBorderZOrder {
3227 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3228 match self {
3229 Self::Front => write!(f, "front"),
3230 Self::Back => write!(f, "back"),
3231 }
3232 }
3233}
3234
3235impl std::str::FromStr for STPageBorderZOrder {
3236 type Err = String;
3237
3238 fn from_str(s: &str) -> Result<Self, Self::Err> {
3239 match s {
3240 "front" => Ok(Self::Front),
3241 "back" => Ok(Self::Back),
3242 _ => Err(format!("unknown STPageBorderZOrder value: {}", s)),
3243 }
3244 }
3245}
3246
3247#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3248pub enum STPageBorderDisplay {
3249 #[serde(rename = "allPages")]
3250 AllPages,
3251 #[serde(rename = "firstPage")]
3252 FirstPage,
3253 #[serde(rename = "notFirstPage")]
3254 NotFirstPage,
3255}
3256
3257impl std::fmt::Display for STPageBorderDisplay {
3258 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3259 match self {
3260 Self::AllPages => write!(f, "allPages"),
3261 Self::FirstPage => write!(f, "firstPage"),
3262 Self::NotFirstPage => write!(f, "notFirstPage"),
3263 }
3264 }
3265}
3266
3267impl std::str::FromStr for STPageBorderDisplay {
3268 type Err = String;
3269
3270 fn from_str(s: &str) -> Result<Self, Self::Err> {
3271 match s {
3272 "allPages" => Ok(Self::AllPages),
3273 "firstPage" => Ok(Self::FirstPage),
3274 "notFirstPage" => Ok(Self::NotFirstPage),
3275 _ => Err(format!("unknown STPageBorderDisplay value: {}", s)),
3276 }
3277 }
3278}
3279
3280#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3281pub enum STPageBorderOffset {
3282 #[serde(rename = "page")]
3283 Page,
3284 #[serde(rename = "text")]
3285 Text,
3286}
3287
3288impl std::fmt::Display for STPageBorderOffset {
3289 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3290 match self {
3291 Self::Page => write!(f, "page"),
3292 Self::Text => write!(f, "text"),
3293 }
3294 }
3295}
3296
3297impl std::str::FromStr for STPageBorderOffset {
3298 type Err = String;
3299
3300 fn from_str(s: &str) -> Result<Self, Self::Err> {
3301 match s {
3302 "page" => Ok(Self::Page),
3303 "text" => Ok(Self::Text),
3304 _ => Err(format!("unknown STPageBorderOffset value: {}", s)),
3305 }
3306 }
3307}
3308
3309#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3310pub enum STChapterSep {
3311 #[serde(rename = "hyphen")]
3312 Hyphen,
3313 #[serde(rename = "period")]
3314 Period,
3315 #[serde(rename = "colon")]
3316 Colon,
3317 #[serde(rename = "emDash")]
3318 EmDash,
3319 #[serde(rename = "enDash")]
3320 EnDash,
3321}
3322
3323impl std::fmt::Display for STChapterSep {
3324 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3325 match self {
3326 Self::Hyphen => write!(f, "hyphen"),
3327 Self::Period => write!(f, "period"),
3328 Self::Colon => write!(f, "colon"),
3329 Self::EmDash => write!(f, "emDash"),
3330 Self::EnDash => write!(f, "enDash"),
3331 }
3332 }
3333}
3334
3335impl std::str::FromStr for STChapterSep {
3336 type Err = String;
3337
3338 fn from_str(s: &str) -> Result<Self, Self::Err> {
3339 match s {
3340 "hyphen" => Ok(Self::Hyphen),
3341 "period" => Ok(Self::Period),
3342 "colon" => Ok(Self::Colon),
3343 "emDash" => Ok(Self::EmDash),
3344 "enDash" => Ok(Self::EnDash),
3345 _ => Err(format!("unknown STChapterSep value: {}", s)),
3346 }
3347 }
3348}
3349
3350#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3351pub enum STLineNumberRestart {
3352 #[serde(rename = "newPage")]
3353 NewPage,
3354 #[serde(rename = "newSection")]
3355 NewSection,
3356 #[serde(rename = "continuous")]
3357 Continuous,
3358}
3359
3360impl std::fmt::Display for STLineNumberRestart {
3361 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3362 match self {
3363 Self::NewPage => write!(f, "newPage"),
3364 Self::NewSection => write!(f, "newSection"),
3365 Self::Continuous => write!(f, "continuous"),
3366 }
3367 }
3368}
3369
3370impl std::str::FromStr for STLineNumberRestart {
3371 type Err = String;
3372
3373 fn from_str(s: &str) -> Result<Self, Self::Err> {
3374 match s {
3375 "newPage" => Ok(Self::NewPage),
3376 "newSection" => Ok(Self::NewSection),
3377 "continuous" => Ok(Self::Continuous),
3378 _ => Err(format!("unknown STLineNumberRestart value: {}", s)),
3379 }
3380 }
3381}
3382
3383#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3384pub enum STVerticalJc {
3385 #[serde(rename = "top")]
3386 Top,
3387 #[serde(rename = "center")]
3388 Center,
3389 #[serde(rename = "both")]
3390 Both,
3391 #[serde(rename = "bottom")]
3392 Bottom,
3393}
3394
3395impl std::fmt::Display for STVerticalJc {
3396 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3397 match self {
3398 Self::Top => write!(f, "top"),
3399 Self::Center => write!(f, "center"),
3400 Self::Both => write!(f, "both"),
3401 Self::Bottom => write!(f, "bottom"),
3402 }
3403 }
3404}
3405
3406impl std::str::FromStr for STVerticalJc {
3407 type Err = String;
3408
3409 fn from_str(s: &str) -> Result<Self, Self::Err> {
3410 match s {
3411 "top" => Ok(Self::Top),
3412 "center" => Ok(Self::Center),
3413 "both" => Ok(Self::Both),
3414 "bottom" => Ok(Self::Bottom),
3415 _ => Err(format!("unknown STVerticalJc value: {}", s)),
3416 }
3417 }
3418}
3419
3420#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3421pub enum STDocGrid {
3422 #[serde(rename = "default")]
3423 Default,
3424 #[serde(rename = "lines")]
3425 Lines,
3426 #[serde(rename = "linesAndChars")]
3427 LinesAndChars,
3428 #[serde(rename = "snapToChars")]
3429 SnapToChars,
3430}
3431
3432impl std::fmt::Display for STDocGrid {
3433 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3434 match self {
3435 Self::Default => write!(f, "default"),
3436 Self::Lines => write!(f, "lines"),
3437 Self::LinesAndChars => write!(f, "linesAndChars"),
3438 Self::SnapToChars => write!(f, "snapToChars"),
3439 }
3440 }
3441}
3442
3443impl std::str::FromStr for STDocGrid {
3444 type Err = String;
3445
3446 fn from_str(s: &str) -> Result<Self, Self::Err> {
3447 match s {
3448 "default" => Ok(Self::Default),
3449 "lines" => Ok(Self::Lines),
3450 "linesAndChars" => Ok(Self::LinesAndChars),
3451 "snapToChars" => Ok(Self::SnapToChars),
3452 _ => Err(format!("unknown STDocGrid value: {}", s)),
3453 }
3454 }
3455}
3456
3457#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3458pub enum STHdrFtr {
3459 #[serde(rename = "even")]
3460 Even,
3461 #[serde(rename = "default")]
3462 Default,
3463 #[serde(rename = "first")]
3464 First,
3465}
3466
3467impl std::fmt::Display for STHdrFtr {
3468 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3469 match self {
3470 Self::Even => write!(f, "even"),
3471 Self::Default => write!(f, "default"),
3472 Self::First => write!(f, "first"),
3473 }
3474 }
3475}
3476
3477impl std::str::FromStr for STHdrFtr {
3478 type Err = String;
3479
3480 fn from_str(s: &str) -> Result<Self, Self::Err> {
3481 match s {
3482 "even" => Ok(Self::Even),
3483 "default" => Ok(Self::Default),
3484 "first" => Ok(Self::First),
3485 _ => Err(format!("unknown STHdrFtr value: {}", s)),
3486 }
3487 }
3488}
3489
3490#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3491pub enum STFtnEdn {
3492 #[serde(rename = "normal")]
3493 Normal,
3494 #[serde(rename = "separator")]
3495 Separator,
3496 #[serde(rename = "continuationSeparator")]
3497 ContinuationSeparator,
3498 #[serde(rename = "continuationNotice")]
3499 ContinuationNotice,
3500}
3501
3502impl std::fmt::Display for STFtnEdn {
3503 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3504 match self {
3505 Self::Normal => write!(f, "normal"),
3506 Self::Separator => write!(f, "separator"),
3507 Self::ContinuationSeparator => write!(f, "continuationSeparator"),
3508 Self::ContinuationNotice => write!(f, "continuationNotice"),
3509 }
3510 }
3511}
3512
3513impl std::str::FromStr for STFtnEdn {
3514 type Err = String;
3515
3516 fn from_str(s: &str) -> Result<Self, Self::Err> {
3517 match s {
3518 "normal" => Ok(Self::Normal),
3519 "separator" => Ok(Self::Separator),
3520 "continuationSeparator" => Ok(Self::ContinuationSeparator),
3521 "continuationNotice" => Ok(Self::ContinuationNotice),
3522 _ => Err(format!("unknown STFtnEdn value: {}", s)),
3523 }
3524 }
3525}
3526
3527#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3528pub enum STBrType {
3529 #[serde(rename = "page")]
3530 Page,
3531 #[serde(rename = "column")]
3532 Column,
3533 #[serde(rename = "textWrapping")]
3534 TextWrapping,
3535}
3536
3537impl std::fmt::Display for STBrType {
3538 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3539 match self {
3540 Self::Page => write!(f, "page"),
3541 Self::Column => write!(f, "column"),
3542 Self::TextWrapping => write!(f, "textWrapping"),
3543 }
3544 }
3545}
3546
3547impl std::str::FromStr for STBrType {
3548 type Err = String;
3549
3550 fn from_str(s: &str) -> Result<Self, Self::Err> {
3551 match s {
3552 "page" => Ok(Self::Page),
3553 "column" => Ok(Self::Column),
3554 "textWrapping" => Ok(Self::TextWrapping),
3555 _ => Err(format!("unknown STBrType value: {}", s)),
3556 }
3557 }
3558}
3559
3560#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3561pub enum STBrClear {
3562 #[serde(rename = "none")]
3563 None,
3564 #[serde(rename = "left")]
3565 Left,
3566 #[serde(rename = "right")]
3567 Right,
3568 #[serde(rename = "all")]
3569 All,
3570}
3571
3572impl std::fmt::Display for STBrClear {
3573 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3574 match self {
3575 Self::None => write!(f, "none"),
3576 Self::Left => write!(f, "left"),
3577 Self::Right => write!(f, "right"),
3578 Self::All => write!(f, "all"),
3579 }
3580 }
3581}
3582
3583impl std::str::FromStr for STBrClear {
3584 type Err = String;
3585
3586 fn from_str(s: &str) -> Result<Self, Self::Err> {
3587 match s {
3588 "none" => Ok(Self::None),
3589 "left" => Ok(Self::Left),
3590 "right" => Ok(Self::Right),
3591 "all" => Ok(Self::All),
3592 _ => Err(format!("unknown STBrClear value: {}", s)),
3593 }
3594 }
3595}
3596
3597#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3598pub enum STPTabAlignment {
3599 #[serde(rename = "left")]
3600 Left,
3601 #[serde(rename = "center")]
3602 Center,
3603 #[serde(rename = "right")]
3604 Right,
3605}
3606
3607impl std::fmt::Display for STPTabAlignment {
3608 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3609 match self {
3610 Self::Left => write!(f, "left"),
3611 Self::Center => write!(f, "center"),
3612 Self::Right => write!(f, "right"),
3613 }
3614 }
3615}
3616
3617impl std::str::FromStr for STPTabAlignment {
3618 type Err = String;
3619
3620 fn from_str(s: &str) -> Result<Self, Self::Err> {
3621 match s {
3622 "left" => Ok(Self::Left),
3623 "center" => Ok(Self::Center),
3624 "right" => Ok(Self::Right),
3625 _ => Err(format!("unknown STPTabAlignment value: {}", s)),
3626 }
3627 }
3628}
3629
3630#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3631pub enum STPTabRelativeTo {
3632 #[serde(rename = "margin")]
3633 Margin,
3634 #[serde(rename = "indent")]
3635 Indent,
3636}
3637
3638impl std::fmt::Display for STPTabRelativeTo {
3639 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3640 match self {
3641 Self::Margin => write!(f, "margin"),
3642 Self::Indent => write!(f, "indent"),
3643 }
3644 }
3645}
3646
3647impl std::str::FromStr for STPTabRelativeTo {
3648 type Err = String;
3649
3650 fn from_str(s: &str) -> Result<Self, Self::Err> {
3651 match s {
3652 "margin" => Ok(Self::Margin),
3653 "indent" => Ok(Self::Indent),
3654 _ => Err(format!("unknown STPTabRelativeTo value: {}", s)),
3655 }
3656 }
3657}
3658
3659#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3660pub enum STPTabLeader {
3661 #[serde(rename = "none")]
3662 None,
3663 #[serde(rename = "dot")]
3664 Dot,
3665 #[serde(rename = "hyphen")]
3666 Hyphen,
3667 #[serde(rename = "underscore")]
3668 Underscore,
3669 #[serde(rename = "middleDot")]
3670 MiddleDot,
3671}
3672
3673impl std::fmt::Display for STPTabLeader {
3674 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3675 match self {
3676 Self::None => write!(f, "none"),
3677 Self::Dot => write!(f, "dot"),
3678 Self::Hyphen => write!(f, "hyphen"),
3679 Self::Underscore => write!(f, "underscore"),
3680 Self::MiddleDot => write!(f, "middleDot"),
3681 }
3682 }
3683}
3684
3685impl std::str::FromStr for STPTabLeader {
3686 type Err = String;
3687
3688 fn from_str(s: &str) -> Result<Self, Self::Err> {
3689 match s {
3690 "none" => Ok(Self::None),
3691 "dot" => Ok(Self::Dot),
3692 "hyphen" => Ok(Self::Hyphen),
3693 "underscore" => Ok(Self::Underscore),
3694 "middleDot" => Ok(Self::MiddleDot),
3695 _ => Err(format!("unknown STPTabLeader value: {}", s)),
3696 }
3697 }
3698}
3699
3700#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3701pub enum STProofErr {
3702 #[serde(rename = "spellStart")]
3703 SpellStart,
3704 #[serde(rename = "spellEnd")]
3705 SpellEnd,
3706 #[serde(rename = "gramStart")]
3707 GramStart,
3708 #[serde(rename = "gramEnd")]
3709 GramEnd,
3710}
3711
3712impl std::fmt::Display for STProofErr {
3713 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3714 match self {
3715 Self::SpellStart => write!(f, "spellStart"),
3716 Self::SpellEnd => write!(f, "spellEnd"),
3717 Self::GramStart => write!(f, "gramStart"),
3718 Self::GramEnd => write!(f, "gramEnd"),
3719 }
3720 }
3721}
3722
3723impl std::str::FromStr for STProofErr {
3724 type Err = String;
3725
3726 fn from_str(s: &str) -> Result<Self, Self::Err> {
3727 match s {
3728 "spellStart" => Ok(Self::SpellStart),
3729 "spellEnd" => Ok(Self::SpellEnd),
3730 "gramStart" => Ok(Self::GramStart),
3731 "gramEnd" => Ok(Self::GramEnd),
3732 _ => Err(format!("unknown STProofErr value: {}", s)),
3733 }
3734 }
3735}
3736
3737#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3738pub enum STEdGrp {
3739 #[serde(rename = "none")]
3740 None,
3741 #[serde(rename = "everyone")]
3742 Everyone,
3743 #[serde(rename = "administrators")]
3744 Administrators,
3745 #[serde(rename = "contributors")]
3746 Contributors,
3747 #[serde(rename = "editors")]
3748 Editors,
3749 #[serde(rename = "owners")]
3750 Owners,
3751 #[serde(rename = "current")]
3752 Current,
3753}
3754
3755impl std::fmt::Display for STEdGrp {
3756 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3757 match self {
3758 Self::None => write!(f, "none"),
3759 Self::Everyone => write!(f, "everyone"),
3760 Self::Administrators => write!(f, "administrators"),
3761 Self::Contributors => write!(f, "contributors"),
3762 Self::Editors => write!(f, "editors"),
3763 Self::Owners => write!(f, "owners"),
3764 Self::Current => write!(f, "current"),
3765 }
3766 }
3767}
3768
3769impl std::str::FromStr for STEdGrp {
3770 type Err = String;
3771
3772 fn from_str(s: &str) -> Result<Self, Self::Err> {
3773 match s {
3774 "none" => Ok(Self::None),
3775 "everyone" => Ok(Self::Everyone),
3776 "administrators" => Ok(Self::Administrators),
3777 "contributors" => Ok(Self::Contributors),
3778 "editors" => Ok(Self::Editors),
3779 "owners" => Ok(Self::Owners),
3780 "current" => Ok(Self::Current),
3781 _ => Err(format!("unknown STEdGrp value: {}", s)),
3782 }
3783 }
3784}
3785
3786#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3787pub enum STHint {
3788 #[serde(rename = "default")]
3789 Default,
3790 #[serde(rename = "eastAsia")]
3791 EastAsia,
3792}
3793
3794impl std::fmt::Display for STHint {
3795 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3796 match self {
3797 Self::Default => write!(f, "default"),
3798 Self::EastAsia => write!(f, "eastAsia"),
3799 }
3800 }
3801}
3802
3803impl std::str::FromStr for STHint {
3804 type Err = String;
3805
3806 fn from_str(s: &str) -> Result<Self, Self::Err> {
3807 match s {
3808 "default" => Ok(Self::Default),
3809 "eastAsia" => Ok(Self::EastAsia),
3810 _ => Err(format!("unknown STHint value: {}", s)),
3811 }
3812 }
3813}
3814
3815#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3816pub enum STTheme {
3817 #[serde(rename = "majorEastAsia")]
3818 MajorEastAsia,
3819 #[serde(rename = "majorBidi")]
3820 MajorBidi,
3821 #[serde(rename = "majorAscii")]
3822 MajorAscii,
3823 #[serde(rename = "majorHAnsi")]
3824 MajorHAnsi,
3825 #[serde(rename = "minorEastAsia")]
3826 MinorEastAsia,
3827 #[serde(rename = "minorBidi")]
3828 MinorBidi,
3829 #[serde(rename = "minorAscii")]
3830 MinorAscii,
3831 #[serde(rename = "minorHAnsi")]
3832 MinorHAnsi,
3833}
3834
3835impl std::fmt::Display for STTheme {
3836 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3837 match self {
3838 Self::MajorEastAsia => write!(f, "majorEastAsia"),
3839 Self::MajorBidi => write!(f, "majorBidi"),
3840 Self::MajorAscii => write!(f, "majorAscii"),
3841 Self::MajorHAnsi => write!(f, "majorHAnsi"),
3842 Self::MinorEastAsia => write!(f, "minorEastAsia"),
3843 Self::MinorBidi => write!(f, "minorBidi"),
3844 Self::MinorAscii => write!(f, "minorAscii"),
3845 Self::MinorHAnsi => write!(f, "minorHAnsi"),
3846 }
3847 }
3848}
3849
3850impl std::str::FromStr for STTheme {
3851 type Err = String;
3852
3853 fn from_str(s: &str) -> Result<Self, Self::Err> {
3854 match s {
3855 "majorEastAsia" => Ok(Self::MajorEastAsia),
3856 "majorBidi" => Ok(Self::MajorBidi),
3857 "majorAscii" => Ok(Self::MajorAscii),
3858 "majorHAnsi" => Ok(Self::MajorHAnsi),
3859 "minorEastAsia" => Ok(Self::MinorEastAsia),
3860 "minorBidi" => Ok(Self::MinorBidi),
3861 "minorAscii" => Ok(Self::MinorAscii),
3862 "minorHAnsi" => Ok(Self::MinorHAnsi),
3863 _ => Err(format!("unknown STTheme value: {}", s)),
3864 }
3865 }
3866}
3867
3868#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3869pub enum STRubyAlign {
3870 #[serde(rename = "center")]
3871 Center,
3872 #[serde(rename = "distributeLetter")]
3873 DistributeLetter,
3874 #[serde(rename = "distributeSpace")]
3875 DistributeSpace,
3876 #[serde(rename = "left")]
3877 Left,
3878 #[serde(rename = "right")]
3879 Right,
3880 #[serde(rename = "rightVertical")]
3881 RightVertical,
3882}
3883
3884impl std::fmt::Display for STRubyAlign {
3885 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3886 match self {
3887 Self::Center => write!(f, "center"),
3888 Self::DistributeLetter => write!(f, "distributeLetter"),
3889 Self::DistributeSpace => write!(f, "distributeSpace"),
3890 Self::Left => write!(f, "left"),
3891 Self::Right => write!(f, "right"),
3892 Self::RightVertical => write!(f, "rightVertical"),
3893 }
3894 }
3895}
3896
3897impl std::str::FromStr for STRubyAlign {
3898 type Err = String;
3899
3900 fn from_str(s: &str) -> Result<Self, Self::Err> {
3901 match s {
3902 "center" => Ok(Self::Center),
3903 "distributeLetter" => Ok(Self::DistributeLetter),
3904 "distributeSpace" => Ok(Self::DistributeSpace),
3905 "left" => Ok(Self::Left),
3906 "right" => Ok(Self::Right),
3907 "rightVertical" => Ok(Self::RightVertical),
3908 _ => Err(format!("unknown STRubyAlign value: {}", s)),
3909 }
3910 }
3911}
3912
3913#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3914pub enum STLock {
3915 #[serde(rename = "sdtLocked")]
3916 SdtLocked,
3917 #[serde(rename = "contentLocked")]
3918 ContentLocked,
3919 #[serde(rename = "unlocked")]
3920 Unlocked,
3921 #[serde(rename = "sdtContentLocked")]
3922 SdtContentLocked,
3923}
3924
3925impl std::fmt::Display for STLock {
3926 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3927 match self {
3928 Self::SdtLocked => write!(f, "sdtLocked"),
3929 Self::ContentLocked => write!(f, "contentLocked"),
3930 Self::Unlocked => write!(f, "unlocked"),
3931 Self::SdtContentLocked => write!(f, "sdtContentLocked"),
3932 }
3933 }
3934}
3935
3936impl std::str::FromStr for STLock {
3937 type Err = String;
3938
3939 fn from_str(s: &str) -> Result<Self, Self::Err> {
3940 match s {
3941 "sdtLocked" => Ok(Self::SdtLocked),
3942 "contentLocked" => Ok(Self::ContentLocked),
3943 "unlocked" => Ok(Self::Unlocked),
3944 "sdtContentLocked" => Ok(Self::SdtContentLocked),
3945 _ => Err(format!("unknown STLock value: {}", s)),
3946 }
3947 }
3948}
3949
3950#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3951pub enum STSdtDateMappingType {
3952 #[serde(rename = "text")]
3953 Text,
3954 #[serde(rename = "date")]
3955 Date,
3956 #[serde(rename = "dateTime")]
3957 DateTime,
3958}
3959
3960impl std::fmt::Display for STSdtDateMappingType {
3961 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3962 match self {
3963 Self::Text => write!(f, "text"),
3964 Self::Date => write!(f, "date"),
3965 Self::DateTime => write!(f, "dateTime"),
3966 }
3967 }
3968}
3969
3970impl std::str::FromStr for STSdtDateMappingType {
3971 type Err = String;
3972
3973 fn from_str(s: &str) -> Result<Self, Self::Err> {
3974 match s {
3975 "text" => Ok(Self::Text),
3976 "date" => Ok(Self::Date),
3977 "dateTime" => Ok(Self::DateTime),
3978 _ => Err(format!("unknown STSdtDateMappingType value: {}", s)),
3979 }
3980 }
3981}
3982
3983#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3984pub enum STDirection {
3985 #[serde(rename = "ltr")]
3986 Ltr,
3987 #[serde(rename = "rtl")]
3988 Rtl,
3989}
3990
3991impl std::fmt::Display for STDirection {
3992 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3993 match self {
3994 Self::Ltr => write!(f, "ltr"),
3995 Self::Rtl => write!(f, "rtl"),
3996 }
3997 }
3998}
3999
4000impl std::str::FromStr for STDirection {
4001 type Err = String;
4002
4003 fn from_str(s: &str) -> Result<Self, Self::Err> {
4004 match s {
4005 "ltr" => Ok(Self::Ltr),
4006 "rtl" => Ok(Self::Rtl),
4007 _ => Err(format!("unknown STDirection value: {}", s)),
4008 }
4009 }
4010}
4011
4012#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4013pub enum STTblWidth {
4014 #[serde(rename = "nil")]
4015 Nil,
4016 #[serde(rename = "pct")]
4017 Pct,
4018 #[serde(rename = "dxa")]
4019 Dxa,
4020 #[serde(rename = "auto")]
4021 Auto,
4022}
4023
4024impl std::fmt::Display for STTblWidth {
4025 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4026 match self {
4027 Self::Nil => write!(f, "nil"),
4028 Self::Pct => write!(f, "pct"),
4029 Self::Dxa => write!(f, "dxa"),
4030 Self::Auto => write!(f, "auto"),
4031 }
4032 }
4033}
4034
4035impl std::str::FromStr for STTblWidth {
4036 type Err = String;
4037
4038 fn from_str(s: &str) -> Result<Self, Self::Err> {
4039 match s {
4040 "nil" => Ok(Self::Nil),
4041 "pct" => Ok(Self::Pct),
4042 "dxa" => Ok(Self::Dxa),
4043 "auto" => Ok(Self::Auto),
4044 _ => Err(format!("unknown STTblWidth value: {}", s)),
4045 }
4046 }
4047}
4048
4049pub type STMeasurementOrPercent = String;
4050
4051#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4052pub enum STMerge {
4053 #[serde(rename = "continue")]
4054 Continue,
4055 #[serde(rename = "restart")]
4056 Restart,
4057}
4058
4059impl std::fmt::Display for STMerge {
4060 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4061 match self {
4062 Self::Continue => write!(f, "continue"),
4063 Self::Restart => write!(f, "restart"),
4064 }
4065 }
4066}
4067
4068impl std::str::FromStr for STMerge {
4069 type Err = String;
4070
4071 fn from_str(s: &str) -> Result<Self, Self::Err> {
4072 match s {
4073 "continue" => Ok(Self::Continue),
4074 "restart" => Ok(Self::Restart),
4075 _ => Err(format!("unknown STMerge value: {}", s)),
4076 }
4077 }
4078}
4079
4080pub type STCnf = String;
4081
4082#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4083pub enum STTblLayoutType {
4084 #[serde(rename = "fixed")]
4085 Fixed,
4086 #[serde(rename = "autofit")]
4087 Autofit,
4088}
4089
4090impl std::fmt::Display for STTblLayoutType {
4091 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4092 match self {
4093 Self::Fixed => write!(f, "fixed"),
4094 Self::Autofit => write!(f, "autofit"),
4095 }
4096 }
4097}
4098
4099impl std::str::FromStr for STTblLayoutType {
4100 type Err = String;
4101
4102 fn from_str(s: &str) -> Result<Self, Self::Err> {
4103 match s {
4104 "fixed" => Ok(Self::Fixed),
4105 "autofit" => Ok(Self::Autofit),
4106 _ => Err(format!("unknown STTblLayoutType value: {}", s)),
4107 }
4108 }
4109}
4110
4111#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4112pub enum STTblOverlap {
4113 #[serde(rename = "never")]
4114 Never,
4115 #[serde(rename = "overlap")]
4116 Overlap,
4117}
4118
4119impl std::fmt::Display for STTblOverlap {
4120 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4121 match self {
4122 Self::Never => write!(f, "never"),
4123 Self::Overlap => write!(f, "overlap"),
4124 }
4125 }
4126}
4127
4128impl std::str::FromStr for STTblOverlap {
4129 type Err = String;
4130
4131 fn from_str(s: &str) -> Result<Self, Self::Err> {
4132 match s {
4133 "never" => Ok(Self::Never),
4134 "overlap" => Ok(Self::Overlap),
4135 _ => Err(format!("unknown STTblOverlap value: {}", s)),
4136 }
4137 }
4138}
4139
4140#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4141pub enum STFtnPos {
4142 #[serde(rename = "pageBottom")]
4143 PageBottom,
4144 #[serde(rename = "beneathText")]
4145 BeneathText,
4146 #[serde(rename = "sectEnd")]
4147 SectEnd,
4148 #[serde(rename = "docEnd")]
4149 DocEnd,
4150}
4151
4152impl std::fmt::Display for STFtnPos {
4153 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4154 match self {
4155 Self::PageBottom => write!(f, "pageBottom"),
4156 Self::BeneathText => write!(f, "beneathText"),
4157 Self::SectEnd => write!(f, "sectEnd"),
4158 Self::DocEnd => write!(f, "docEnd"),
4159 }
4160 }
4161}
4162
4163impl std::str::FromStr for STFtnPos {
4164 type Err = String;
4165
4166 fn from_str(s: &str) -> Result<Self, Self::Err> {
4167 match s {
4168 "pageBottom" => Ok(Self::PageBottom),
4169 "beneathText" => Ok(Self::BeneathText),
4170 "sectEnd" => Ok(Self::SectEnd),
4171 "docEnd" => Ok(Self::DocEnd),
4172 _ => Err(format!("unknown STFtnPos value: {}", s)),
4173 }
4174 }
4175}
4176
4177#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4178pub enum STEdnPos {
4179 #[serde(rename = "sectEnd")]
4180 SectEnd,
4181 #[serde(rename = "docEnd")]
4182 DocEnd,
4183}
4184
4185impl std::fmt::Display for STEdnPos {
4186 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4187 match self {
4188 Self::SectEnd => write!(f, "sectEnd"),
4189 Self::DocEnd => write!(f, "docEnd"),
4190 }
4191 }
4192}
4193
4194impl std::str::FromStr for STEdnPos {
4195 type Err = String;
4196
4197 fn from_str(s: &str) -> Result<Self, Self::Err> {
4198 match s {
4199 "sectEnd" => Ok(Self::SectEnd),
4200 "docEnd" => Ok(Self::DocEnd),
4201 _ => Err(format!("unknown STEdnPos value: {}", s)),
4202 }
4203 }
4204}
4205
4206#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4207pub enum STRestartNumber {
4208 #[serde(rename = "continuous")]
4209 Continuous,
4210 #[serde(rename = "eachSect")]
4211 EachSect,
4212 #[serde(rename = "eachPage")]
4213 EachPage,
4214}
4215
4216impl std::fmt::Display for STRestartNumber {
4217 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4218 match self {
4219 Self::Continuous => write!(f, "continuous"),
4220 Self::EachSect => write!(f, "eachSect"),
4221 Self::EachPage => write!(f, "eachPage"),
4222 }
4223 }
4224}
4225
4226impl std::str::FromStr for STRestartNumber {
4227 type Err = String;
4228
4229 fn from_str(s: &str) -> Result<Self, Self::Err> {
4230 match s {
4231 "continuous" => Ok(Self::Continuous),
4232 "eachSect" => Ok(Self::EachSect),
4233 "eachPage" => Ok(Self::EachPage),
4234 _ => Err(format!("unknown STRestartNumber value: {}", s)),
4235 }
4236 }
4237}
4238
4239#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4240pub enum STMailMergeSourceType {
4241 #[serde(rename = "database")]
4242 Database,
4243 #[serde(rename = "addressBook")]
4244 AddressBook,
4245 #[serde(rename = "document1")]
4246 Document1,
4247 #[serde(rename = "document2")]
4248 Document2,
4249 #[serde(rename = "text")]
4250 Text,
4251 #[serde(rename = "email")]
4252 Email,
4253 #[serde(rename = "native")]
4254 Native,
4255 #[serde(rename = "legacy")]
4256 Legacy,
4257 #[serde(rename = "master")]
4258 Master,
4259}
4260
4261impl std::fmt::Display for STMailMergeSourceType {
4262 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4263 match self {
4264 Self::Database => write!(f, "database"),
4265 Self::AddressBook => write!(f, "addressBook"),
4266 Self::Document1 => write!(f, "document1"),
4267 Self::Document2 => write!(f, "document2"),
4268 Self::Text => write!(f, "text"),
4269 Self::Email => write!(f, "email"),
4270 Self::Native => write!(f, "native"),
4271 Self::Legacy => write!(f, "legacy"),
4272 Self::Master => write!(f, "master"),
4273 }
4274 }
4275}
4276
4277impl std::str::FromStr for STMailMergeSourceType {
4278 type Err = String;
4279
4280 fn from_str(s: &str) -> Result<Self, Self::Err> {
4281 match s {
4282 "database" => Ok(Self::Database),
4283 "addressBook" => Ok(Self::AddressBook),
4284 "document1" => Ok(Self::Document1),
4285 "document2" => Ok(Self::Document2),
4286 "text" => Ok(Self::Text),
4287 "email" => Ok(Self::Email),
4288 "native" => Ok(Self::Native),
4289 "legacy" => Ok(Self::Legacy),
4290 "master" => Ok(Self::Master),
4291 _ => Err(format!("unknown STMailMergeSourceType value: {}", s)),
4292 }
4293 }
4294}
4295
4296#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4297pub enum STTargetScreenSz {
4298 #[serde(rename = "544x376")]
4299 _544x376,
4300 #[serde(rename = "640x480")]
4301 _640x480,
4302 #[serde(rename = "720x512")]
4303 _720x512,
4304 #[serde(rename = "800x600")]
4305 _800x600,
4306 #[serde(rename = "1024x768")]
4307 _1024x768,
4308 #[serde(rename = "1152x882")]
4309 _1152x882,
4310 #[serde(rename = "1152x900")]
4311 _1152x900,
4312 #[serde(rename = "1280x1024")]
4313 _1280x1024,
4314 #[serde(rename = "1600x1200")]
4315 _1600x1200,
4316 #[serde(rename = "1800x1440")]
4317 _1800x1440,
4318 #[serde(rename = "1920x1200")]
4319 _1920x1200,
4320}
4321
4322impl std::fmt::Display for STTargetScreenSz {
4323 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4324 match self {
4325 Self::_544x376 => write!(f, "544x376"),
4326 Self::_640x480 => write!(f, "640x480"),
4327 Self::_720x512 => write!(f, "720x512"),
4328 Self::_800x600 => write!(f, "800x600"),
4329 Self::_1024x768 => write!(f, "1024x768"),
4330 Self::_1152x882 => write!(f, "1152x882"),
4331 Self::_1152x900 => write!(f, "1152x900"),
4332 Self::_1280x1024 => write!(f, "1280x1024"),
4333 Self::_1600x1200 => write!(f, "1600x1200"),
4334 Self::_1800x1440 => write!(f, "1800x1440"),
4335 Self::_1920x1200 => write!(f, "1920x1200"),
4336 }
4337 }
4338}
4339
4340impl std::str::FromStr for STTargetScreenSz {
4341 type Err = String;
4342
4343 fn from_str(s: &str) -> Result<Self, Self::Err> {
4344 match s {
4345 "544x376" => Ok(Self::_544x376),
4346 "640x480" => Ok(Self::_640x480),
4347 "720x512" => Ok(Self::_720x512),
4348 "800x600" => Ok(Self::_800x600),
4349 "1024x768" => Ok(Self::_1024x768),
4350 "1152x882" => Ok(Self::_1152x882),
4351 "1152x900" => Ok(Self::_1152x900),
4352 "1280x1024" => Ok(Self::_1280x1024),
4353 "1600x1200" => Ok(Self::_1600x1200),
4354 "1800x1440" => Ok(Self::_1800x1440),
4355 "1920x1200" => Ok(Self::_1920x1200),
4356 _ => Err(format!("unknown STTargetScreenSz value: {}", s)),
4357 }
4358 }
4359}
4360
4361#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4362pub enum STCharacterSpacing {
4363 #[serde(rename = "doNotCompress")]
4364 DoNotCompress,
4365 #[serde(rename = "compressPunctuation")]
4366 CompressPunctuation,
4367 #[serde(rename = "compressPunctuationAndJapaneseKana")]
4368 CompressPunctuationAndJapaneseKana,
4369}
4370
4371impl std::fmt::Display for STCharacterSpacing {
4372 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4373 match self {
4374 Self::DoNotCompress => write!(f, "doNotCompress"),
4375 Self::CompressPunctuation => write!(f, "compressPunctuation"),
4376 Self::CompressPunctuationAndJapaneseKana => {
4377 write!(f, "compressPunctuationAndJapaneseKana")
4378 }
4379 }
4380 }
4381}
4382
4383impl std::str::FromStr for STCharacterSpacing {
4384 type Err = String;
4385
4386 fn from_str(s: &str) -> Result<Self, Self::Err> {
4387 match s {
4388 "doNotCompress" => Ok(Self::DoNotCompress),
4389 "compressPunctuation" => Ok(Self::CompressPunctuation),
4390 "compressPunctuationAndJapaneseKana" => Ok(Self::CompressPunctuationAndJapaneseKana),
4391 _ => Err(format!("unknown STCharacterSpacing value: {}", s)),
4392 }
4393 }
4394}
4395
4396#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4397pub enum STWmlColorSchemeIndex {
4398 #[serde(rename = "dark1")]
4399 Dark1,
4400 #[serde(rename = "light1")]
4401 Light1,
4402 #[serde(rename = "dark2")]
4403 Dark2,
4404 #[serde(rename = "light2")]
4405 Light2,
4406 #[serde(rename = "accent1")]
4407 Accent1,
4408 #[serde(rename = "accent2")]
4409 Accent2,
4410 #[serde(rename = "accent3")]
4411 Accent3,
4412 #[serde(rename = "accent4")]
4413 Accent4,
4414 #[serde(rename = "accent5")]
4415 Accent5,
4416 #[serde(rename = "accent6")]
4417 Accent6,
4418 #[serde(rename = "hyperlink")]
4419 Hyperlink,
4420 #[serde(rename = "followedHyperlink")]
4421 FollowedHyperlink,
4422}
4423
4424impl std::fmt::Display for STWmlColorSchemeIndex {
4425 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4426 match self {
4427 Self::Dark1 => write!(f, "dark1"),
4428 Self::Light1 => write!(f, "light1"),
4429 Self::Dark2 => write!(f, "dark2"),
4430 Self::Light2 => write!(f, "light2"),
4431 Self::Accent1 => write!(f, "accent1"),
4432 Self::Accent2 => write!(f, "accent2"),
4433 Self::Accent3 => write!(f, "accent3"),
4434 Self::Accent4 => write!(f, "accent4"),
4435 Self::Accent5 => write!(f, "accent5"),
4436 Self::Accent6 => write!(f, "accent6"),
4437 Self::Hyperlink => write!(f, "hyperlink"),
4438 Self::FollowedHyperlink => write!(f, "followedHyperlink"),
4439 }
4440 }
4441}
4442
4443impl std::str::FromStr for STWmlColorSchemeIndex {
4444 type Err = String;
4445
4446 fn from_str(s: &str) -> Result<Self, Self::Err> {
4447 match s {
4448 "dark1" => Ok(Self::Dark1),
4449 "light1" => Ok(Self::Light1),
4450 "dark2" => Ok(Self::Dark2),
4451 "light2" => Ok(Self::Light2),
4452 "accent1" => Ok(Self::Accent1),
4453 "accent2" => Ok(Self::Accent2),
4454 "accent3" => Ok(Self::Accent3),
4455 "accent4" => Ok(Self::Accent4),
4456 "accent5" => Ok(Self::Accent5),
4457 "accent6" => Ok(Self::Accent6),
4458 "hyperlink" => Ok(Self::Hyperlink),
4459 "followedHyperlink" => Ok(Self::FollowedHyperlink),
4460 _ => Err(format!("unknown STWmlColorSchemeIndex value: {}", s)),
4461 }
4462 }
4463}
4464
4465#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4466pub enum STStyleSort {
4467 #[serde(rename = "name")]
4468 Name,
4469 #[serde(rename = "priority")]
4470 Priority,
4471 #[serde(rename = "default")]
4472 Default,
4473 #[serde(rename = "font")]
4474 Font,
4475 #[serde(rename = "basedOn")]
4476 BasedOn,
4477 #[serde(rename = "type")]
4478 Type,
4479 #[serde(rename = "0000")]
4480 _0000,
4481 #[serde(rename = "0001")]
4482 _0001,
4483 #[serde(rename = "0002")]
4484 _0002,
4485 #[serde(rename = "0003")]
4486 _0003,
4487 #[serde(rename = "0004")]
4488 _0004,
4489 #[serde(rename = "0005")]
4490 _0005,
4491}
4492
4493impl std::fmt::Display for STStyleSort {
4494 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4495 match self {
4496 Self::Name => write!(f, "name"),
4497 Self::Priority => write!(f, "priority"),
4498 Self::Default => write!(f, "default"),
4499 Self::Font => write!(f, "font"),
4500 Self::BasedOn => write!(f, "basedOn"),
4501 Self::Type => write!(f, "type"),
4502 Self::_0000 => write!(f, "0000"),
4503 Self::_0001 => write!(f, "0001"),
4504 Self::_0002 => write!(f, "0002"),
4505 Self::_0003 => write!(f, "0003"),
4506 Self::_0004 => write!(f, "0004"),
4507 Self::_0005 => write!(f, "0005"),
4508 }
4509 }
4510}
4511
4512impl std::str::FromStr for STStyleSort {
4513 type Err = String;
4514
4515 fn from_str(s: &str) -> Result<Self, Self::Err> {
4516 match s {
4517 "name" => Ok(Self::Name),
4518 "priority" => Ok(Self::Priority),
4519 "default" => Ok(Self::Default),
4520 "font" => Ok(Self::Font),
4521 "basedOn" => Ok(Self::BasedOn),
4522 "type" => Ok(Self::Type),
4523 "0000" => Ok(Self::_0000),
4524 "0001" => Ok(Self::_0001),
4525 "0002" => Ok(Self::_0002),
4526 "0003" => Ok(Self::_0003),
4527 "0004" => Ok(Self::_0004),
4528 "0005" => Ok(Self::_0005),
4529 _ => Err(format!("unknown STStyleSort value: {}", s)),
4530 }
4531 }
4532}
4533
4534#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4535pub enum STFrameScrollbar {
4536 #[serde(rename = "on")]
4537 On,
4538 #[serde(rename = "off")]
4539 Off,
4540 #[serde(rename = "auto")]
4541 Auto,
4542}
4543
4544impl std::fmt::Display for STFrameScrollbar {
4545 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4546 match self {
4547 Self::On => write!(f, "on"),
4548 Self::Off => write!(f, "off"),
4549 Self::Auto => write!(f, "auto"),
4550 }
4551 }
4552}
4553
4554impl std::str::FromStr for STFrameScrollbar {
4555 type Err = String;
4556
4557 fn from_str(s: &str) -> Result<Self, Self::Err> {
4558 match s {
4559 "on" => Ok(Self::On),
4560 "off" => Ok(Self::Off),
4561 "auto" => Ok(Self::Auto),
4562 _ => Err(format!("unknown STFrameScrollbar value: {}", s)),
4563 }
4564 }
4565}
4566
4567#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4568pub enum STFrameLayout {
4569 #[serde(rename = "rows")]
4570 Rows,
4571 #[serde(rename = "cols")]
4572 Cols,
4573 #[serde(rename = "none")]
4574 None,
4575}
4576
4577impl std::fmt::Display for STFrameLayout {
4578 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4579 match self {
4580 Self::Rows => write!(f, "rows"),
4581 Self::Cols => write!(f, "cols"),
4582 Self::None => write!(f, "none"),
4583 }
4584 }
4585}
4586
4587impl std::str::FromStr for STFrameLayout {
4588 type Err = String;
4589
4590 fn from_str(s: &str) -> Result<Self, Self::Err> {
4591 match s {
4592 "rows" => Ok(Self::Rows),
4593 "cols" => Ok(Self::Cols),
4594 "none" => Ok(Self::None),
4595 _ => Err(format!("unknown STFrameLayout value: {}", s)),
4596 }
4597 }
4598}
4599
4600#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4601pub enum STLevelSuffix {
4602 #[serde(rename = "tab")]
4603 Tab,
4604 #[serde(rename = "space")]
4605 Space,
4606 #[serde(rename = "nothing")]
4607 Nothing,
4608}
4609
4610impl std::fmt::Display for STLevelSuffix {
4611 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4612 match self {
4613 Self::Tab => write!(f, "tab"),
4614 Self::Space => write!(f, "space"),
4615 Self::Nothing => write!(f, "nothing"),
4616 }
4617 }
4618}
4619
4620impl std::str::FromStr for STLevelSuffix {
4621 type Err = String;
4622
4623 fn from_str(s: &str) -> Result<Self, Self::Err> {
4624 match s {
4625 "tab" => Ok(Self::Tab),
4626 "space" => Ok(Self::Space),
4627 "nothing" => Ok(Self::Nothing),
4628 _ => Err(format!("unknown STLevelSuffix value: {}", s)),
4629 }
4630 }
4631}
4632
4633#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4634pub enum STMultiLevelType {
4635 #[serde(rename = "singleLevel")]
4636 SingleLevel,
4637 #[serde(rename = "multilevel")]
4638 Multilevel,
4639 #[serde(rename = "hybridMultilevel")]
4640 HybridMultilevel,
4641}
4642
4643impl std::fmt::Display for STMultiLevelType {
4644 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4645 match self {
4646 Self::SingleLevel => write!(f, "singleLevel"),
4647 Self::Multilevel => write!(f, "multilevel"),
4648 Self::HybridMultilevel => write!(f, "hybridMultilevel"),
4649 }
4650 }
4651}
4652
4653impl std::str::FromStr for STMultiLevelType {
4654 type Err = String;
4655
4656 fn from_str(s: &str) -> Result<Self, Self::Err> {
4657 match s {
4658 "singleLevel" => Ok(Self::SingleLevel),
4659 "multilevel" => Ok(Self::Multilevel),
4660 "hybridMultilevel" => Ok(Self::HybridMultilevel),
4661 _ => Err(format!("unknown STMultiLevelType value: {}", s)),
4662 }
4663 }
4664}
4665
4666#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4667pub enum STTblStyleOverrideType {
4668 #[serde(rename = "wholeTable")]
4669 WholeTable,
4670 #[serde(rename = "firstRow")]
4671 FirstRow,
4672 #[serde(rename = "lastRow")]
4673 LastRow,
4674 #[serde(rename = "firstCol")]
4675 FirstCol,
4676 #[serde(rename = "lastCol")]
4677 LastCol,
4678 #[serde(rename = "band1Vert")]
4679 Band1Vert,
4680 #[serde(rename = "band2Vert")]
4681 Band2Vert,
4682 #[serde(rename = "band1Horz")]
4683 Band1Horz,
4684 #[serde(rename = "band2Horz")]
4685 Band2Horz,
4686 #[serde(rename = "neCell")]
4687 NeCell,
4688 #[serde(rename = "nwCell")]
4689 NwCell,
4690 #[serde(rename = "seCell")]
4691 SeCell,
4692 #[serde(rename = "swCell")]
4693 SwCell,
4694}
4695
4696impl std::fmt::Display for STTblStyleOverrideType {
4697 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4698 match self {
4699 Self::WholeTable => write!(f, "wholeTable"),
4700 Self::FirstRow => write!(f, "firstRow"),
4701 Self::LastRow => write!(f, "lastRow"),
4702 Self::FirstCol => write!(f, "firstCol"),
4703 Self::LastCol => write!(f, "lastCol"),
4704 Self::Band1Vert => write!(f, "band1Vert"),
4705 Self::Band2Vert => write!(f, "band2Vert"),
4706 Self::Band1Horz => write!(f, "band1Horz"),
4707 Self::Band2Horz => write!(f, "band2Horz"),
4708 Self::NeCell => write!(f, "neCell"),
4709 Self::NwCell => write!(f, "nwCell"),
4710 Self::SeCell => write!(f, "seCell"),
4711 Self::SwCell => write!(f, "swCell"),
4712 }
4713 }
4714}
4715
4716impl std::str::FromStr for STTblStyleOverrideType {
4717 type Err = String;
4718
4719 fn from_str(s: &str) -> Result<Self, Self::Err> {
4720 match s {
4721 "wholeTable" => Ok(Self::WholeTable),
4722 "firstRow" => Ok(Self::FirstRow),
4723 "lastRow" => Ok(Self::LastRow),
4724 "firstCol" => Ok(Self::FirstCol),
4725 "lastCol" => Ok(Self::LastCol),
4726 "band1Vert" => Ok(Self::Band1Vert),
4727 "band2Vert" => Ok(Self::Band2Vert),
4728 "band1Horz" => Ok(Self::Band1Horz),
4729 "band2Horz" => Ok(Self::Band2Horz),
4730 "neCell" => Ok(Self::NeCell),
4731 "nwCell" => Ok(Self::NwCell),
4732 "seCell" => Ok(Self::SeCell),
4733 "swCell" => Ok(Self::SwCell),
4734 _ => Err(format!("unknown STTblStyleOverrideType value: {}", s)),
4735 }
4736 }
4737}
4738
4739#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4740pub enum STStyleType {
4741 #[serde(rename = "paragraph")]
4742 Paragraph,
4743 #[serde(rename = "character")]
4744 Character,
4745 #[serde(rename = "table")]
4746 Table,
4747 #[serde(rename = "numbering")]
4748 Numbering,
4749}
4750
4751impl std::fmt::Display for STStyleType {
4752 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4753 match self {
4754 Self::Paragraph => write!(f, "paragraph"),
4755 Self::Character => write!(f, "character"),
4756 Self::Table => write!(f, "table"),
4757 Self::Numbering => write!(f, "numbering"),
4758 }
4759 }
4760}
4761
4762impl std::str::FromStr for STStyleType {
4763 type Err = String;
4764
4765 fn from_str(s: &str) -> Result<Self, Self::Err> {
4766 match s {
4767 "paragraph" => Ok(Self::Paragraph),
4768 "character" => Ok(Self::Character),
4769 "table" => Ok(Self::Table),
4770 "numbering" => Ok(Self::Numbering),
4771 _ => Err(format!("unknown STStyleType value: {}", s)),
4772 }
4773 }
4774}
4775
4776#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4777pub enum STFontFamily {
4778 #[serde(rename = "decorative")]
4779 Decorative,
4780 #[serde(rename = "modern")]
4781 Modern,
4782 #[serde(rename = "roman")]
4783 Roman,
4784 #[serde(rename = "script")]
4785 Script,
4786 #[serde(rename = "swiss")]
4787 Swiss,
4788 #[serde(rename = "auto")]
4789 Auto,
4790}
4791
4792impl std::fmt::Display for STFontFamily {
4793 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4794 match self {
4795 Self::Decorative => write!(f, "decorative"),
4796 Self::Modern => write!(f, "modern"),
4797 Self::Roman => write!(f, "roman"),
4798 Self::Script => write!(f, "script"),
4799 Self::Swiss => write!(f, "swiss"),
4800 Self::Auto => write!(f, "auto"),
4801 }
4802 }
4803}
4804
4805impl std::str::FromStr for STFontFamily {
4806 type Err = String;
4807
4808 fn from_str(s: &str) -> Result<Self, Self::Err> {
4809 match s {
4810 "decorative" => Ok(Self::Decorative),
4811 "modern" => Ok(Self::Modern),
4812 "roman" => Ok(Self::Roman),
4813 "script" => Ok(Self::Script),
4814 "swiss" => Ok(Self::Swiss),
4815 "auto" => Ok(Self::Auto),
4816 _ => Err(format!("unknown STFontFamily value: {}", s)),
4817 }
4818 }
4819}
4820
4821#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4822pub enum STPitch {
4823 #[serde(rename = "fixed")]
4824 Fixed,
4825 #[serde(rename = "variable")]
4826 Variable,
4827 #[serde(rename = "default")]
4828 Default,
4829}
4830
4831impl std::fmt::Display for STPitch {
4832 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4833 match self {
4834 Self::Fixed => write!(f, "fixed"),
4835 Self::Variable => write!(f, "variable"),
4836 Self::Default => write!(f, "default"),
4837 }
4838 }
4839}
4840
4841impl std::str::FromStr for STPitch {
4842 type Err = String;
4843
4844 fn from_str(s: &str) -> Result<Self, Self::Err> {
4845 match s {
4846 "fixed" => Ok(Self::Fixed),
4847 "variable" => Ok(Self::Variable),
4848 "default" => Ok(Self::Default),
4849 _ => Err(format!("unknown STPitch value: {}", s)),
4850 }
4851 }
4852}
4853
4854#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4855pub enum STThemeColor {
4856 #[serde(rename = "dark1")]
4857 Dark1,
4858 #[serde(rename = "light1")]
4859 Light1,
4860 #[serde(rename = "dark2")]
4861 Dark2,
4862 #[serde(rename = "light2")]
4863 Light2,
4864 #[serde(rename = "accent1")]
4865 Accent1,
4866 #[serde(rename = "accent2")]
4867 Accent2,
4868 #[serde(rename = "accent3")]
4869 Accent3,
4870 #[serde(rename = "accent4")]
4871 Accent4,
4872 #[serde(rename = "accent5")]
4873 Accent5,
4874 #[serde(rename = "accent6")]
4875 Accent6,
4876 #[serde(rename = "hyperlink")]
4877 Hyperlink,
4878 #[serde(rename = "followedHyperlink")]
4879 FollowedHyperlink,
4880 #[serde(rename = "none")]
4881 None,
4882 #[serde(rename = "background1")]
4883 Background1,
4884 #[serde(rename = "text1")]
4885 Text1,
4886 #[serde(rename = "background2")]
4887 Background2,
4888 #[serde(rename = "text2")]
4889 Text2,
4890}
4891
4892impl std::fmt::Display for STThemeColor {
4893 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4894 match self {
4895 Self::Dark1 => write!(f, "dark1"),
4896 Self::Light1 => write!(f, "light1"),
4897 Self::Dark2 => write!(f, "dark2"),
4898 Self::Light2 => write!(f, "light2"),
4899 Self::Accent1 => write!(f, "accent1"),
4900 Self::Accent2 => write!(f, "accent2"),
4901 Self::Accent3 => write!(f, "accent3"),
4902 Self::Accent4 => write!(f, "accent4"),
4903 Self::Accent5 => write!(f, "accent5"),
4904 Self::Accent6 => write!(f, "accent6"),
4905 Self::Hyperlink => write!(f, "hyperlink"),
4906 Self::FollowedHyperlink => write!(f, "followedHyperlink"),
4907 Self::None => write!(f, "none"),
4908 Self::Background1 => write!(f, "background1"),
4909 Self::Text1 => write!(f, "text1"),
4910 Self::Background2 => write!(f, "background2"),
4911 Self::Text2 => write!(f, "text2"),
4912 }
4913 }
4914}
4915
4916impl std::str::FromStr for STThemeColor {
4917 type Err = String;
4918
4919 fn from_str(s: &str) -> Result<Self, Self::Err> {
4920 match s {
4921 "dark1" => Ok(Self::Dark1),
4922 "light1" => Ok(Self::Light1),
4923 "dark2" => Ok(Self::Dark2),
4924 "light2" => Ok(Self::Light2),
4925 "accent1" => Ok(Self::Accent1),
4926 "accent2" => Ok(Self::Accent2),
4927 "accent3" => Ok(Self::Accent3),
4928 "accent4" => Ok(Self::Accent4),
4929 "accent5" => Ok(Self::Accent5),
4930 "accent6" => Ok(Self::Accent6),
4931 "hyperlink" => Ok(Self::Hyperlink),
4932 "followedHyperlink" => Ok(Self::FollowedHyperlink),
4933 "none" => Ok(Self::None),
4934 "background1" => Ok(Self::Background1),
4935 "text1" => Ok(Self::Text1),
4936 "background2" => Ok(Self::Background2),
4937 "text2" => Ok(Self::Text2),
4938 _ => Err(format!("unknown STThemeColor value: {}", s)),
4939 }
4940 }
4941}
4942
4943#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4944pub enum STDocPartBehavior {
4945 #[serde(rename = "content")]
4946 Content,
4947 #[serde(rename = "p")]
4948 P,
4949 #[serde(rename = "pg")]
4950 Pg,
4951}
4952
4953impl std::fmt::Display for STDocPartBehavior {
4954 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4955 match self {
4956 Self::Content => write!(f, "content"),
4957 Self::P => write!(f, "p"),
4958 Self::Pg => write!(f, "pg"),
4959 }
4960 }
4961}
4962
4963impl std::str::FromStr for STDocPartBehavior {
4964 type Err = String;
4965
4966 fn from_str(s: &str) -> Result<Self, Self::Err> {
4967 match s {
4968 "content" => Ok(Self::Content),
4969 "p" => Ok(Self::P),
4970 "pg" => Ok(Self::Pg),
4971 _ => Err(format!("unknown STDocPartBehavior value: {}", s)),
4972 }
4973 }
4974}
4975
4976#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4977pub enum STDocPartType {
4978 #[serde(rename = "none")]
4979 None,
4980 #[serde(rename = "normal")]
4981 Normal,
4982 #[serde(rename = "autoExp")]
4983 AutoExp,
4984 #[serde(rename = "toolbar")]
4985 Toolbar,
4986 #[serde(rename = "speller")]
4987 Speller,
4988 #[serde(rename = "formFld")]
4989 FormFld,
4990 #[serde(rename = "bbPlcHdr")]
4991 BbPlcHdr,
4992}
4993
4994impl std::fmt::Display for STDocPartType {
4995 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4996 match self {
4997 Self::None => write!(f, "none"),
4998 Self::Normal => write!(f, "normal"),
4999 Self::AutoExp => write!(f, "autoExp"),
5000 Self::Toolbar => write!(f, "toolbar"),
5001 Self::Speller => write!(f, "speller"),
5002 Self::FormFld => write!(f, "formFld"),
5003 Self::BbPlcHdr => write!(f, "bbPlcHdr"),
5004 }
5005 }
5006}
5007
5008impl std::str::FromStr for STDocPartType {
5009 type Err = String;
5010
5011 fn from_str(s: &str) -> Result<Self, Self::Err> {
5012 match s {
5013 "none" => Ok(Self::None),
5014 "normal" => Ok(Self::Normal),
5015 "autoExp" => Ok(Self::AutoExp),
5016 "toolbar" => Ok(Self::Toolbar),
5017 "speller" => Ok(Self::Speller),
5018 "formFld" => Ok(Self::FormFld),
5019 "bbPlcHdr" => Ok(Self::BbPlcHdr),
5020 _ => Err(format!("unknown STDocPartType value: {}", s)),
5021 }
5022 }
5023}
5024
5025#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5026pub enum STDocPartGallery {
5027 #[serde(rename = "placeholder")]
5028 Placeholder,
5029 #[serde(rename = "any")]
5030 Any,
5031 #[serde(rename = "default")]
5032 Default,
5033 #[serde(rename = "docParts")]
5034 DocParts,
5035 #[serde(rename = "coverPg")]
5036 CoverPg,
5037 #[serde(rename = "eq")]
5038 Eq,
5039 #[serde(rename = "ftrs")]
5040 Ftrs,
5041 #[serde(rename = "hdrs")]
5042 Hdrs,
5043 #[serde(rename = "pgNum")]
5044 PgNum,
5045 #[serde(rename = "tbls")]
5046 Tbls,
5047 #[serde(rename = "watermarks")]
5048 Watermarks,
5049 #[serde(rename = "autoTxt")]
5050 AutoTxt,
5051 #[serde(rename = "txtBox")]
5052 TxtBox,
5053 #[serde(rename = "pgNumT")]
5054 PgNumT,
5055 #[serde(rename = "pgNumB")]
5056 PgNumB,
5057 #[serde(rename = "pgNumMargins")]
5058 PgNumMargins,
5059 #[serde(rename = "tblOfContents")]
5060 TblOfContents,
5061 #[serde(rename = "bib")]
5062 Bib,
5063 #[serde(rename = "custQuickParts")]
5064 CustQuickParts,
5065 #[serde(rename = "custCoverPg")]
5066 CustCoverPg,
5067 #[serde(rename = "custEq")]
5068 CustEq,
5069 #[serde(rename = "custFtrs")]
5070 CustFtrs,
5071 #[serde(rename = "custHdrs")]
5072 CustHdrs,
5073 #[serde(rename = "custPgNum")]
5074 CustPgNum,
5075 #[serde(rename = "custTbls")]
5076 CustTbls,
5077 #[serde(rename = "custWatermarks")]
5078 CustWatermarks,
5079 #[serde(rename = "custAutoTxt")]
5080 CustAutoTxt,
5081 #[serde(rename = "custTxtBox")]
5082 CustTxtBox,
5083 #[serde(rename = "custPgNumT")]
5084 CustPgNumT,
5085 #[serde(rename = "custPgNumB")]
5086 CustPgNumB,
5087 #[serde(rename = "custPgNumMargins")]
5088 CustPgNumMargins,
5089 #[serde(rename = "custTblOfContents")]
5090 CustTblOfContents,
5091 #[serde(rename = "custBib")]
5092 CustBib,
5093 #[serde(rename = "custom1")]
5094 Custom1,
5095 #[serde(rename = "custom2")]
5096 Custom2,
5097 #[serde(rename = "custom3")]
5098 Custom3,
5099 #[serde(rename = "custom4")]
5100 Custom4,
5101 #[serde(rename = "custom5")]
5102 Custom5,
5103}
5104
5105impl std::fmt::Display for STDocPartGallery {
5106 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5107 match self {
5108 Self::Placeholder => write!(f, "placeholder"),
5109 Self::Any => write!(f, "any"),
5110 Self::Default => write!(f, "default"),
5111 Self::DocParts => write!(f, "docParts"),
5112 Self::CoverPg => write!(f, "coverPg"),
5113 Self::Eq => write!(f, "eq"),
5114 Self::Ftrs => write!(f, "ftrs"),
5115 Self::Hdrs => write!(f, "hdrs"),
5116 Self::PgNum => write!(f, "pgNum"),
5117 Self::Tbls => write!(f, "tbls"),
5118 Self::Watermarks => write!(f, "watermarks"),
5119 Self::AutoTxt => write!(f, "autoTxt"),
5120 Self::TxtBox => write!(f, "txtBox"),
5121 Self::PgNumT => write!(f, "pgNumT"),
5122 Self::PgNumB => write!(f, "pgNumB"),
5123 Self::PgNumMargins => write!(f, "pgNumMargins"),
5124 Self::TblOfContents => write!(f, "tblOfContents"),
5125 Self::Bib => write!(f, "bib"),
5126 Self::CustQuickParts => write!(f, "custQuickParts"),
5127 Self::CustCoverPg => write!(f, "custCoverPg"),
5128 Self::CustEq => write!(f, "custEq"),
5129 Self::CustFtrs => write!(f, "custFtrs"),
5130 Self::CustHdrs => write!(f, "custHdrs"),
5131 Self::CustPgNum => write!(f, "custPgNum"),
5132 Self::CustTbls => write!(f, "custTbls"),
5133 Self::CustWatermarks => write!(f, "custWatermarks"),
5134 Self::CustAutoTxt => write!(f, "custAutoTxt"),
5135 Self::CustTxtBox => write!(f, "custTxtBox"),
5136 Self::CustPgNumT => write!(f, "custPgNumT"),
5137 Self::CustPgNumB => write!(f, "custPgNumB"),
5138 Self::CustPgNumMargins => write!(f, "custPgNumMargins"),
5139 Self::CustTblOfContents => write!(f, "custTblOfContents"),
5140 Self::CustBib => write!(f, "custBib"),
5141 Self::Custom1 => write!(f, "custom1"),
5142 Self::Custom2 => write!(f, "custom2"),
5143 Self::Custom3 => write!(f, "custom3"),
5144 Self::Custom4 => write!(f, "custom4"),
5145 Self::Custom5 => write!(f, "custom5"),
5146 }
5147 }
5148}
5149
5150impl std::str::FromStr for STDocPartGallery {
5151 type Err = String;
5152
5153 fn from_str(s: &str) -> Result<Self, Self::Err> {
5154 match s {
5155 "placeholder" => Ok(Self::Placeholder),
5156 "any" => Ok(Self::Any),
5157 "default" => Ok(Self::Default),
5158 "docParts" => Ok(Self::DocParts),
5159 "coverPg" => Ok(Self::CoverPg),
5160 "eq" => Ok(Self::Eq),
5161 "ftrs" => Ok(Self::Ftrs),
5162 "hdrs" => Ok(Self::Hdrs),
5163 "pgNum" => Ok(Self::PgNum),
5164 "tbls" => Ok(Self::Tbls),
5165 "watermarks" => Ok(Self::Watermarks),
5166 "autoTxt" => Ok(Self::AutoTxt),
5167 "txtBox" => Ok(Self::TxtBox),
5168 "pgNumT" => Ok(Self::PgNumT),
5169 "pgNumB" => Ok(Self::PgNumB),
5170 "pgNumMargins" => Ok(Self::PgNumMargins),
5171 "tblOfContents" => Ok(Self::TblOfContents),
5172 "bib" => Ok(Self::Bib),
5173 "custQuickParts" => Ok(Self::CustQuickParts),
5174 "custCoverPg" => Ok(Self::CustCoverPg),
5175 "custEq" => Ok(Self::CustEq),
5176 "custFtrs" => Ok(Self::CustFtrs),
5177 "custHdrs" => Ok(Self::CustHdrs),
5178 "custPgNum" => Ok(Self::CustPgNum),
5179 "custTbls" => Ok(Self::CustTbls),
5180 "custWatermarks" => Ok(Self::CustWatermarks),
5181 "custAutoTxt" => Ok(Self::CustAutoTxt),
5182 "custTxtBox" => Ok(Self::CustTxtBox),
5183 "custPgNumT" => Ok(Self::CustPgNumT),
5184 "custPgNumB" => Ok(Self::CustPgNumB),
5185 "custPgNumMargins" => Ok(Self::CustPgNumMargins),
5186 "custTblOfContents" => Ok(Self::CustTblOfContents),
5187 "custBib" => Ok(Self::CustBib),
5188 "custom1" => Ok(Self::Custom1),
5189 "custom2" => Ok(Self::Custom2),
5190 "custom3" => Ok(Self::Custom3),
5191 "custom4" => Ok(Self::Custom4),
5192 "custom5" => Ok(Self::Custom5),
5193 _ => Err(format!("unknown STDocPartGallery value: {}", s)),
5194 }
5195 }
5196}
5197
5198#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5199pub enum STCaptionPos {
5200 #[serde(rename = "above")]
5201 Above,
5202 #[serde(rename = "below")]
5203 Below,
5204 #[serde(rename = "left")]
5205 Left,
5206 #[serde(rename = "right")]
5207 Right,
5208}
5209
5210impl std::fmt::Display for STCaptionPos {
5211 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5212 match self {
5213 Self::Above => write!(f, "above"),
5214 Self::Below => write!(f, "below"),
5215 Self::Left => write!(f, "left"),
5216 Self::Right => write!(f, "right"),
5217 }
5218 }
5219}
5220
5221impl std::str::FromStr for STCaptionPos {
5222 type Err = String;
5223
5224 fn from_str(s: &str) -> Result<Self, Self::Err> {
5225 match s {
5226 "above" => Ok(Self::Above),
5227 "below" => Ok(Self::Below),
5228 "left" => Ok(Self::Left),
5229 "right" => Ok(Self::Right),
5230 _ => Err(format!("unknown STCaptionPos value: {}", s)),
5231 }
5232 }
5233}
5234
5235#[derive(Debug, Clone, Serialize, Deserialize)]
5236pub enum ParagraphContentBase {
5237 #[serde(rename = "customXml")]
5238 CustomXml(Box<CTCustomXmlRun>),
5239 #[serde(rename = "fldSimple")]
5240 FldSimple(Box<CTSimpleField>),
5241 #[serde(rename = "hyperlink")]
5242 Hyperlink(Box<Hyperlink>),
5243}
5244
5245#[derive(Debug, Clone, Serialize, Deserialize)]
5246pub enum RunContentBase {
5247 #[serde(rename = "smartTag")]
5248 SmartTag(Box<CTSmartTagRun>),
5249 #[serde(rename = "sdt")]
5250 Sdt(Box<CTSdtRun>),
5251 #[serde(rename = "proofErr")]
5252 ProofErr(Box<CTProofErr>),
5253 #[serde(rename = "permStart")]
5254 PermStart(Box<CTPermStart>),
5255 #[serde(rename = "permEnd")]
5256 PermEnd(Box<CTPerm>),
5257 #[serde(rename = "bookmarkStart")]
5258 BookmarkStart(Box<Bookmark>),
5259 #[serde(rename = "bookmarkEnd")]
5260 BookmarkEnd(Box<CTMarkupRange>),
5261 #[serde(rename = "moveFromRangeStart")]
5262 MoveFromRangeStart(Box<CTMoveBookmark>),
5263 #[serde(rename = "moveFromRangeEnd")]
5264 MoveFromRangeEnd(Box<CTMarkupRange>),
5265 #[serde(rename = "moveToRangeStart")]
5266 MoveToRangeStart(Box<CTMoveBookmark>),
5267 #[serde(rename = "moveToRangeEnd")]
5268 MoveToRangeEnd(Box<CTMarkupRange>),
5269 #[serde(rename = "commentRangeStart")]
5270 CommentRangeStart(Box<CTMarkupRange>),
5271 #[serde(rename = "commentRangeEnd")]
5272 CommentRangeEnd(Box<CTMarkupRange>),
5273 #[serde(rename = "customXmlInsRangeStart")]
5274 CustomXmlInsRangeStart(Box<CTTrackChange>),
5275 #[serde(rename = "customXmlInsRangeEnd")]
5276 CustomXmlInsRangeEnd(Box<CTMarkup>),
5277 #[serde(rename = "customXmlDelRangeStart")]
5278 CustomXmlDelRangeStart(Box<CTTrackChange>),
5279 #[serde(rename = "customXmlDelRangeEnd")]
5280 CustomXmlDelRangeEnd(Box<CTMarkup>),
5281 #[serde(rename = "customXmlMoveFromRangeStart")]
5282 CustomXmlMoveFromRangeStart(Box<CTTrackChange>),
5283 #[serde(rename = "customXmlMoveFromRangeEnd")]
5284 CustomXmlMoveFromRangeEnd(Box<CTMarkup>),
5285 #[serde(rename = "customXmlMoveToRangeStart")]
5286 CustomXmlMoveToRangeStart(Box<CTTrackChange>),
5287 #[serde(rename = "customXmlMoveToRangeEnd")]
5288 CustomXmlMoveToRangeEnd(Box<CTMarkup>),
5289 #[serde(rename = "ins")]
5290 Ins(Box<CTRunTrackChange>),
5291 #[serde(rename = "del")]
5292 Del(Box<CTRunTrackChange>),
5293 #[serde(rename = "moveFrom")]
5294 MoveFrom(Box<CTRunTrackChange>),
5295 #[serde(rename = "moveTo")]
5296 MoveTo(Box<CTRunTrackChange>),
5297}
5298
5299#[derive(Debug, Clone, Serialize, Deserialize)]
5300pub enum CellMarkup {
5301 #[serde(rename = "cellIns")]
5302 CellIns(Box<CTTrackChange>),
5303 #[serde(rename = "cellDel")]
5304 CellDel(Box<CTTrackChange>),
5305 #[serde(rename = "cellMerge")]
5306 CellMerge(Box<CTCellMergeTrackChange>),
5307}
5308
5309#[derive(Debug, Clone, Serialize, Deserialize)]
5310pub enum RangeMarkup {
5311 #[serde(rename = "bookmarkStart")]
5312 BookmarkStart(Box<Bookmark>),
5313 #[serde(rename = "bookmarkEnd")]
5314 BookmarkEnd(Box<CTMarkupRange>),
5315 #[serde(rename = "moveFromRangeStart")]
5316 MoveFromRangeStart(Box<CTMoveBookmark>),
5317 #[serde(rename = "moveFromRangeEnd")]
5318 MoveFromRangeEnd(Box<CTMarkupRange>),
5319 #[serde(rename = "moveToRangeStart")]
5320 MoveToRangeStart(Box<CTMoveBookmark>),
5321 #[serde(rename = "moveToRangeEnd")]
5322 MoveToRangeEnd(Box<CTMarkupRange>),
5323 #[serde(rename = "commentRangeStart")]
5324 CommentRangeStart(Box<CTMarkupRange>),
5325 #[serde(rename = "commentRangeEnd")]
5326 CommentRangeEnd(Box<CTMarkupRange>),
5327 #[serde(rename = "customXmlInsRangeStart")]
5328 CustomXmlInsRangeStart(Box<CTTrackChange>),
5329 #[serde(rename = "customXmlInsRangeEnd")]
5330 CustomXmlInsRangeEnd(Box<CTMarkup>),
5331 #[serde(rename = "customXmlDelRangeStart")]
5332 CustomXmlDelRangeStart(Box<CTTrackChange>),
5333 #[serde(rename = "customXmlDelRangeEnd")]
5334 CustomXmlDelRangeEnd(Box<CTMarkup>),
5335 #[serde(rename = "customXmlMoveFromRangeStart")]
5336 CustomXmlMoveFromRangeStart(Box<CTTrackChange>),
5337 #[serde(rename = "customXmlMoveFromRangeEnd")]
5338 CustomXmlMoveFromRangeEnd(Box<CTMarkup>),
5339 #[serde(rename = "customXmlMoveToRangeStart")]
5340 CustomXmlMoveToRangeStart(Box<CTTrackChange>),
5341 #[serde(rename = "customXmlMoveToRangeEnd")]
5342 CustomXmlMoveToRangeEnd(Box<CTMarkup>),
5343}
5344
5345#[derive(Debug, Clone, Serialize, Deserialize)]
5346pub enum HeaderFooterRef {
5347 #[serde(rename = "headerReference")]
5348 HeaderReference(Box<HeaderFooterReference>),
5349 #[serde(rename = "footerReference")]
5350 FooterReference(Box<HeaderFooterReference>),
5351}
5352
5353#[derive(Debug, Clone, Serialize, Deserialize)]
5354pub enum RunContent {
5355 #[serde(rename = "br")]
5356 Br(Box<CTBr>),
5357 #[serde(rename = "t")]
5358 T(Box<Text>),
5359 #[serde(rename = "contentPart")]
5360 ContentPart(Box<CTRel>),
5361 #[serde(rename = "delText")]
5362 DelText(Box<Text>),
5363 #[serde(rename = "instrText")]
5364 InstrText(Box<Text>),
5365 #[serde(rename = "delInstrText")]
5366 DelInstrText(Box<Text>),
5367 #[serde(rename = "noBreakHyphen")]
5368 NoBreakHyphen(Box<CTEmpty>),
5369 #[serde(rename = "softHyphen")]
5370 SoftHyphen(Box<CTEmpty>),
5371 #[serde(rename = "dayShort")]
5372 DayShort(Box<CTEmpty>),
5373 #[serde(rename = "monthShort")]
5374 MonthShort(Box<CTEmpty>),
5375 #[serde(rename = "yearShort")]
5376 YearShort(Box<CTEmpty>),
5377 #[serde(rename = "dayLong")]
5378 DayLong(Box<CTEmpty>),
5379 #[serde(rename = "monthLong")]
5380 MonthLong(Box<CTEmpty>),
5381 #[serde(rename = "yearLong")]
5382 YearLong(Box<CTEmpty>),
5383 #[serde(rename = "annotationRef")]
5384 AnnotationRef(Box<CTEmpty>),
5385 #[serde(rename = "footnoteRef")]
5386 FootnoteRef(Box<CTEmpty>),
5387 #[serde(rename = "endnoteRef")]
5388 EndnoteRef(Box<CTEmpty>),
5389 #[serde(rename = "separator")]
5390 Separator(Box<CTEmpty>),
5391 #[serde(rename = "continuationSeparator")]
5392 ContinuationSeparator(Box<CTEmpty>),
5393 #[serde(rename = "sym")]
5394 Sym(Box<CTSym>),
5395 #[serde(rename = "pgNum")]
5396 PgNum(Box<CTEmpty>),
5397 #[serde(rename = "cr")]
5398 Cr(Box<CTEmpty>),
5399 #[serde(rename = "tab")]
5400 Tab(Box<CTEmpty>),
5401 #[serde(rename = "object")]
5402 Object(Box<CTObject>),
5403 #[serde(rename = "pict")]
5404 Pict(Box<CTPicture>),
5405 #[serde(rename = "fldChar")]
5406 FldChar(Box<CTFldChar>),
5407 #[serde(rename = "ruby")]
5408 Ruby(Box<CTRuby>),
5409 #[serde(rename = "footnoteReference")]
5410 FootnoteReference(Box<FootnoteEndnoteRef>),
5411 #[serde(rename = "endnoteReference")]
5412 EndnoteReference(Box<FootnoteEndnoteRef>),
5413 #[serde(rename = "commentReference")]
5414 CommentReference(Box<CTMarkup>),
5415 #[serde(rename = "drawing")]
5416 Drawing(Box<CTDrawing>),
5417 #[serde(rename = "ptab")]
5418 Ptab(Box<CTPTab>),
5419 #[serde(rename = "lastRenderedPageBreak")]
5420 LastRenderedPageBreak(Box<CTEmpty>),
5421}
5422
5423#[derive(Debug, Clone, Serialize, Deserialize)]
5424pub enum MathRunProperties {
5425 #[serde(rename = "rPr")]
5426 RPr(Box<RunProperties>),
5427 #[serde(rename = "ins")]
5428 Ins(Box<CTMathCtrlIns>),
5429 #[serde(rename = "del")]
5430 Del(Box<CTMathCtrlDel>),
5431}
5432
5433#[derive(Debug, Clone, Serialize, Deserialize)]
5434pub enum RubyContent {
5435 #[serde(rename = "r")]
5436 R(Box<Run>),
5437 #[serde(rename = "proofErr")]
5438 ProofErr(Box<CTProofErr>),
5439 #[serde(rename = "permStart")]
5440 PermStart(Box<CTPermStart>),
5441 #[serde(rename = "permEnd")]
5442 PermEnd(Box<CTPerm>),
5443 #[serde(rename = "bookmarkStart")]
5444 BookmarkStart(Box<Bookmark>),
5445 #[serde(rename = "bookmarkEnd")]
5446 BookmarkEnd(Box<CTMarkupRange>),
5447 #[serde(rename = "moveFromRangeStart")]
5448 MoveFromRangeStart(Box<CTMoveBookmark>),
5449 #[serde(rename = "moveFromRangeEnd")]
5450 MoveFromRangeEnd(Box<CTMarkupRange>),
5451 #[serde(rename = "moveToRangeStart")]
5452 MoveToRangeStart(Box<CTMoveBookmark>),
5453 #[serde(rename = "moveToRangeEnd")]
5454 MoveToRangeEnd(Box<CTMarkupRange>),
5455 #[serde(rename = "commentRangeStart")]
5456 CommentRangeStart(Box<CTMarkupRange>),
5457 #[serde(rename = "commentRangeEnd")]
5458 CommentRangeEnd(Box<CTMarkupRange>),
5459 #[serde(rename = "customXmlInsRangeStart")]
5460 CustomXmlInsRangeStart(Box<CTTrackChange>),
5461 #[serde(rename = "customXmlInsRangeEnd")]
5462 CustomXmlInsRangeEnd(Box<CTMarkup>),
5463 #[serde(rename = "customXmlDelRangeStart")]
5464 CustomXmlDelRangeStart(Box<CTTrackChange>),
5465 #[serde(rename = "customXmlDelRangeEnd")]
5466 CustomXmlDelRangeEnd(Box<CTMarkup>),
5467 #[serde(rename = "customXmlMoveFromRangeStart")]
5468 CustomXmlMoveFromRangeStart(Box<CTTrackChange>),
5469 #[serde(rename = "customXmlMoveFromRangeEnd")]
5470 CustomXmlMoveFromRangeEnd(Box<CTMarkup>),
5471 #[serde(rename = "customXmlMoveToRangeStart")]
5472 CustomXmlMoveToRangeStart(Box<CTTrackChange>),
5473 #[serde(rename = "customXmlMoveToRangeEnd")]
5474 CustomXmlMoveToRangeEnd(Box<CTMarkup>),
5475 #[serde(rename = "ins")]
5476 Ins(Box<CTRunTrackChange>),
5477 #[serde(rename = "del")]
5478 Del(Box<CTRunTrackChange>),
5479 #[serde(rename = "moveFrom")]
5480 MoveFrom(Box<CTRunTrackChange>),
5481 #[serde(rename = "moveTo")]
5482 MoveTo(Box<CTRunTrackChange>),
5483}
5484
5485#[derive(Debug, Clone, Serialize, Deserialize)]
5486pub enum RunContentChoice {
5487 #[serde(rename = "customXml")]
5488 CustomXml(Box<CTCustomXmlRun>),
5489 #[serde(rename = "smartTag")]
5490 SmartTag(Box<CTSmartTagRun>),
5491 #[serde(rename = "sdt")]
5492 Sdt(Box<CTSdtRun>),
5493 #[serde(rename = "dir")]
5494 Dir(Box<CTDirContentRun>),
5495 #[serde(rename = "bdo")]
5496 Bdo(Box<CTBdoContentRun>),
5497 #[serde(rename = "r")]
5498 R(Box<Run>),
5499 #[serde(rename = "proofErr")]
5500 ProofErr(Box<CTProofErr>),
5501 #[serde(rename = "permStart")]
5502 PermStart(Box<CTPermStart>),
5503 #[serde(rename = "permEnd")]
5504 PermEnd(Box<CTPerm>),
5505 #[serde(rename = "bookmarkStart")]
5506 BookmarkStart(Box<Bookmark>),
5507 #[serde(rename = "bookmarkEnd")]
5508 BookmarkEnd(Box<CTMarkupRange>),
5509 #[serde(rename = "moveFromRangeStart")]
5510 MoveFromRangeStart(Box<CTMoveBookmark>),
5511 #[serde(rename = "moveFromRangeEnd")]
5512 MoveFromRangeEnd(Box<CTMarkupRange>),
5513 #[serde(rename = "moveToRangeStart")]
5514 MoveToRangeStart(Box<CTMoveBookmark>),
5515 #[serde(rename = "moveToRangeEnd")]
5516 MoveToRangeEnd(Box<CTMarkupRange>),
5517 #[serde(rename = "commentRangeStart")]
5518 CommentRangeStart(Box<CTMarkupRange>),
5519 #[serde(rename = "commentRangeEnd")]
5520 CommentRangeEnd(Box<CTMarkupRange>),
5521 #[serde(rename = "customXmlInsRangeStart")]
5522 CustomXmlInsRangeStart(Box<CTTrackChange>),
5523 #[serde(rename = "customXmlInsRangeEnd")]
5524 CustomXmlInsRangeEnd(Box<CTMarkup>),
5525 #[serde(rename = "customXmlDelRangeStart")]
5526 CustomXmlDelRangeStart(Box<CTTrackChange>),
5527 #[serde(rename = "customXmlDelRangeEnd")]
5528 CustomXmlDelRangeEnd(Box<CTMarkup>),
5529 #[serde(rename = "customXmlMoveFromRangeStart")]
5530 CustomXmlMoveFromRangeStart(Box<CTTrackChange>),
5531 #[serde(rename = "customXmlMoveFromRangeEnd")]
5532 CustomXmlMoveFromRangeEnd(Box<CTMarkup>),
5533 #[serde(rename = "customXmlMoveToRangeStart")]
5534 CustomXmlMoveToRangeStart(Box<CTTrackChange>),
5535 #[serde(rename = "customXmlMoveToRangeEnd")]
5536 CustomXmlMoveToRangeEnd(Box<CTMarkup>),
5537 #[serde(rename = "ins")]
5538 Ins(Box<CTRunTrackChange>),
5539 #[serde(rename = "del")]
5540 Del(Box<CTRunTrackChange>),
5541 #[serde(rename = "moveFrom")]
5542 MoveFrom(Box<CTRunTrackChange>),
5543 #[serde(rename = "moveTo")]
5544 MoveTo(Box<CTRunTrackChange>),
5545}
5546
5547#[derive(Debug, Clone, Serialize, Deserialize)]
5548pub enum BlockContentChoice {
5549 #[serde(rename = "customXml")]
5550 CustomXml(Box<CTCustomXmlBlock>),
5551 #[serde(rename = "sdt")]
5552 Sdt(Box<CTSdtBlock>),
5553 #[serde(rename = "p")]
5554 P(Box<Paragraph>),
5555 #[serde(rename = "tbl")]
5556 Tbl(Box<Table>),
5557 #[serde(rename = "proofErr")]
5558 ProofErr(Box<CTProofErr>),
5559 #[serde(rename = "permStart")]
5560 PermStart(Box<CTPermStart>),
5561 #[serde(rename = "permEnd")]
5562 PermEnd(Box<CTPerm>),
5563 #[serde(rename = "bookmarkStart")]
5564 BookmarkStart(Box<Bookmark>),
5565 #[serde(rename = "bookmarkEnd")]
5566 BookmarkEnd(Box<CTMarkupRange>),
5567 #[serde(rename = "moveFromRangeStart")]
5568 MoveFromRangeStart(Box<CTMoveBookmark>),
5569 #[serde(rename = "moveFromRangeEnd")]
5570 MoveFromRangeEnd(Box<CTMarkupRange>),
5571 #[serde(rename = "moveToRangeStart")]
5572 MoveToRangeStart(Box<CTMoveBookmark>),
5573 #[serde(rename = "moveToRangeEnd")]
5574 MoveToRangeEnd(Box<CTMarkupRange>),
5575 #[serde(rename = "commentRangeStart")]
5576 CommentRangeStart(Box<CTMarkupRange>),
5577 #[serde(rename = "commentRangeEnd")]
5578 CommentRangeEnd(Box<CTMarkupRange>),
5579 #[serde(rename = "customXmlInsRangeStart")]
5580 CustomXmlInsRangeStart(Box<CTTrackChange>),
5581 #[serde(rename = "customXmlInsRangeEnd")]
5582 CustomXmlInsRangeEnd(Box<CTMarkup>),
5583 #[serde(rename = "customXmlDelRangeStart")]
5584 CustomXmlDelRangeStart(Box<CTTrackChange>),
5585 #[serde(rename = "customXmlDelRangeEnd")]
5586 CustomXmlDelRangeEnd(Box<CTMarkup>),
5587 #[serde(rename = "customXmlMoveFromRangeStart")]
5588 CustomXmlMoveFromRangeStart(Box<CTTrackChange>),
5589 #[serde(rename = "customXmlMoveFromRangeEnd")]
5590 CustomXmlMoveFromRangeEnd(Box<CTMarkup>),
5591 #[serde(rename = "customXmlMoveToRangeStart")]
5592 CustomXmlMoveToRangeStart(Box<CTTrackChange>),
5593 #[serde(rename = "customXmlMoveToRangeEnd")]
5594 CustomXmlMoveToRangeEnd(Box<CTMarkup>),
5595 #[serde(rename = "ins")]
5596 Ins(Box<CTRunTrackChange>),
5597 #[serde(rename = "del")]
5598 Del(Box<CTRunTrackChange>),
5599 #[serde(rename = "moveFrom")]
5600 MoveFrom(Box<CTRunTrackChange>),
5601 #[serde(rename = "moveTo")]
5602 MoveTo(Box<CTRunTrackChange>),
5603}
5604
5605#[derive(Debug, Clone, Serialize, Deserialize)]
5606pub enum RowContent {
5607 #[serde(rename = "tr")]
5608 Tr(Box<CTRow>),
5609 #[serde(rename = "customXml")]
5610 CustomXml(Box<CTCustomXmlRow>),
5611 #[serde(rename = "sdt")]
5612 Sdt(Box<CTSdtRow>),
5613 #[serde(rename = "proofErr")]
5614 ProofErr(Box<CTProofErr>),
5615 #[serde(rename = "permStart")]
5616 PermStart(Box<CTPermStart>),
5617 #[serde(rename = "permEnd")]
5618 PermEnd(Box<CTPerm>),
5619 #[serde(rename = "bookmarkStart")]
5620 BookmarkStart(Box<Bookmark>),
5621 #[serde(rename = "bookmarkEnd")]
5622 BookmarkEnd(Box<CTMarkupRange>),
5623 #[serde(rename = "moveFromRangeStart")]
5624 MoveFromRangeStart(Box<CTMoveBookmark>),
5625 #[serde(rename = "moveFromRangeEnd")]
5626 MoveFromRangeEnd(Box<CTMarkupRange>),
5627 #[serde(rename = "moveToRangeStart")]
5628 MoveToRangeStart(Box<CTMoveBookmark>),
5629 #[serde(rename = "moveToRangeEnd")]
5630 MoveToRangeEnd(Box<CTMarkupRange>),
5631 #[serde(rename = "commentRangeStart")]
5632 CommentRangeStart(Box<CTMarkupRange>),
5633 #[serde(rename = "commentRangeEnd")]
5634 CommentRangeEnd(Box<CTMarkupRange>),
5635 #[serde(rename = "customXmlInsRangeStart")]
5636 CustomXmlInsRangeStart(Box<CTTrackChange>),
5637 #[serde(rename = "customXmlInsRangeEnd")]
5638 CustomXmlInsRangeEnd(Box<CTMarkup>),
5639 #[serde(rename = "customXmlDelRangeStart")]
5640 CustomXmlDelRangeStart(Box<CTTrackChange>),
5641 #[serde(rename = "customXmlDelRangeEnd")]
5642 CustomXmlDelRangeEnd(Box<CTMarkup>),
5643 #[serde(rename = "customXmlMoveFromRangeStart")]
5644 CustomXmlMoveFromRangeStart(Box<CTTrackChange>),
5645 #[serde(rename = "customXmlMoveFromRangeEnd")]
5646 CustomXmlMoveFromRangeEnd(Box<CTMarkup>),
5647 #[serde(rename = "customXmlMoveToRangeStart")]
5648 CustomXmlMoveToRangeStart(Box<CTTrackChange>),
5649 #[serde(rename = "customXmlMoveToRangeEnd")]
5650 CustomXmlMoveToRangeEnd(Box<CTMarkup>),
5651 #[serde(rename = "ins")]
5652 Ins(Box<CTRunTrackChange>),
5653 #[serde(rename = "del")]
5654 Del(Box<CTRunTrackChange>),
5655 #[serde(rename = "moveFrom")]
5656 MoveFrom(Box<CTRunTrackChange>),
5657 #[serde(rename = "moveTo")]
5658 MoveTo(Box<CTRunTrackChange>),
5659}
5660
5661#[derive(Debug, Clone, Serialize, Deserialize)]
5662pub enum CellContent {
5663 #[serde(rename = "tc")]
5664 Tc(Box<TableCell>),
5665 #[serde(rename = "customXml")]
5666 CustomXml(Box<CTCustomXmlCell>),
5667 #[serde(rename = "sdt")]
5668 Sdt(Box<CTSdtCell>),
5669 #[serde(rename = "proofErr")]
5670 ProofErr(Box<CTProofErr>),
5671 #[serde(rename = "permStart")]
5672 PermStart(Box<CTPermStart>),
5673 #[serde(rename = "permEnd")]
5674 PermEnd(Box<CTPerm>),
5675 #[serde(rename = "bookmarkStart")]
5676 BookmarkStart(Box<Bookmark>),
5677 #[serde(rename = "bookmarkEnd")]
5678 BookmarkEnd(Box<CTMarkupRange>),
5679 #[serde(rename = "moveFromRangeStart")]
5680 MoveFromRangeStart(Box<CTMoveBookmark>),
5681 #[serde(rename = "moveFromRangeEnd")]
5682 MoveFromRangeEnd(Box<CTMarkupRange>),
5683 #[serde(rename = "moveToRangeStart")]
5684 MoveToRangeStart(Box<CTMoveBookmark>),
5685 #[serde(rename = "moveToRangeEnd")]
5686 MoveToRangeEnd(Box<CTMarkupRange>),
5687 #[serde(rename = "commentRangeStart")]
5688 CommentRangeStart(Box<CTMarkupRange>),
5689 #[serde(rename = "commentRangeEnd")]
5690 CommentRangeEnd(Box<CTMarkupRange>),
5691 #[serde(rename = "customXmlInsRangeStart")]
5692 CustomXmlInsRangeStart(Box<CTTrackChange>),
5693 #[serde(rename = "customXmlInsRangeEnd")]
5694 CustomXmlInsRangeEnd(Box<CTMarkup>),
5695 #[serde(rename = "customXmlDelRangeStart")]
5696 CustomXmlDelRangeStart(Box<CTTrackChange>),
5697 #[serde(rename = "customXmlDelRangeEnd")]
5698 CustomXmlDelRangeEnd(Box<CTMarkup>),
5699 #[serde(rename = "customXmlMoveFromRangeStart")]
5700 CustomXmlMoveFromRangeStart(Box<CTTrackChange>),
5701 #[serde(rename = "customXmlMoveFromRangeEnd")]
5702 CustomXmlMoveFromRangeEnd(Box<CTMarkup>),
5703 #[serde(rename = "customXmlMoveToRangeStart")]
5704 CustomXmlMoveToRangeStart(Box<CTTrackChange>),
5705 #[serde(rename = "customXmlMoveToRangeEnd")]
5706 CustomXmlMoveToRangeEnd(Box<CTMarkup>),
5707 #[serde(rename = "ins")]
5708 Ins(Box<CTRunTrackChange>),
5709 #[serde(rename = "del")]
5710 Del(Box<CTRunTrackChange>),
5711 #[serde(rename = "moveFrom")]
5712 MoveFrom(Box<CTRunTrackChange>),
5713 #[serde(rename = "moveTo")]
5714 MoveTo(Box<CTRunTrackChange>),
5715}
5716
5717#[derive(Debug, Clone, Serialize, Deserialize)]
5718pub enum ParagraphContent {
5719 #[serde(rename = "customXml")]
5720 CustomXml(Box<CTCustomXmlRun>),
5721 #[serde(rename = "smartTag")]
5722 SmartTag(Box<CTSmartTagRun>),
5723 #[serde(rename = "sdt")]
5724 Sdt(Box<CTSdtRun>),
5725 #[serde(rename = "dir")]
5726 Dir(Box<CTDirContentRun>),
5727 #[serde(rename = "bdo")]
5728 Bdo(Box<CTBdoContentRun>),
5729 #[serde(rename = "r")]
5730 R(Box<Run>),
5731 #[serde(rename = "proofErr")]
5732 ProofErr(Box<CTProofErr>),
5733 #[serde(rename = "permStart")]
5734 PermStart(Box<CTPermStart>),
5735 #[serde(rename = "permEnd")]
5736 PermEnd(Box<CTPerm>),
5737 #[serde(rename = "bookmarkStart")]
5738 BookmarkStart(Box<Bookmark>),
5739 #[serde(rename = "bookmarkEnd")]
5740 BookmarkEnd(Box<CTMarkupRange>),
5741 #[serde(rename = "moveFromRangeStart")]
5742 MoveFromRangeStart(Box<CTMoveBookmark>),
5743 #[serde(rename = "moveFromRangeEnd")]
5744 MoveFromRangeEnd(Box<CTMarkupRange>),
5745 #[serde(rename = "moveToRangeStart")]
5746 MoveToRangeStart(Box<CTMoveBookmark>),
5747 #[serde(rename = "moveToRangeEnd")]
5748 MoveToRangeEnd(Box<CTMarkupRange>),
5749 #[serde(rename = "commentRangeStart")]
5750 CommentRangeStart(Box<CTMarkupRange>),
5751 #[serde(rename = "commentRangeEnd")]
5752 CommentRangeEnd(Box<CTMarkupRange>),
5753 #[serde(rename = "customXmlInsRangeStart")]
5754 CustomXmlInsRangeStart(Box<CTTrackChange>),
5755 #[serde(rename = "customXmlInsRangeEnd")]
5756 CustomXmlInsRangeEnd(Box<CTMarkup>),
5757 #[serde(rename = "customXmlDelRangeStart")]
5758 CustomXmlDelRangeStart(Box<CTTrackChange>),
5759 #[serde(rename = "customXmlDelRangeEnd")]
5760 CustomXmlDelRangeEnd(Box<CTMarkup>),
5761 #[serde(rename = "customXmlMoveFromRangeStart")]
5762 CustomXmlMoveFromRangeStart(Box<CTTrackChange>),
5763 #[serde(rename = "customXmlMoveFromRangeEnd")]
5764 CustomXmlMoveFromRangeEnd(Box<CTMarkup>),
5765 #[serde(rename = "customXmlMoveToRangeStart")]
5766 CustomXmlMoveToRangeStart(Box<CTTrackChange>),
5767 #[serde(rename = "customXmlMoveToRangeEnd")]
5768 CustomXmlMoveToRangeEnd(Box<CTMarkup>),
5769 #[serde(rename = "ins")]
5770 Ins(Box<CTRunTrackChange>),
5771 #[serde(rename = "del")]
5772 Del(Box<CTRunTrackChange>),
5773 #[serde(rename = "moveFrom")]
5774 MoveFrom(Box<CTRunTrackChange>),
5775 #[serde(rename = "moveTo")]
5776 MoveTo(Box<CTRunTrackChange>),
5777 #[serde(rename = "fldSimple")]
5778 FldSimple(Box<CTSimpleField>),
5779 #[serde(rename = "hyperlink")]
5780 Hyperlink(Box<Hyperlink>),
5781 #[serde(rename = "subDoc")]
5782 SubDoc(Box<CTRel>),
5783}
5784
5785#[derive(Debug, Clone, Serialize, Deserialize)]
5786pub enum BlockContent {
5787 #[serde(rename = "customXml")]
5788 CustomXml(Box<CTCustomXmlBlock>),
5789 #[serde(rename = "sdt")]
5790 Sdt(Box<CTSdtBlock>),
5791 #[serde(rename = "p")]
5792 P(Box<Paragraph>),
5793 #[serde(rename = "tbl")]
5794 Tbl(Box<Table>),
5795 #[serde(rename = "proofErr")]
5796 ProofErr(Box<CTProofErr>),
5797 #[serde(rename = "permStart")]
5798 PermStart(Box<CTPermStart>),
5799 #[serde(rename = "permEnd")]
5800 PermEnd(Box<CTPerm>),
5801 #[serde(rename = "bookmarkStart")]
5802 BookmarkStart(Box<Bookmark>),
5803 #[serde(rename = "bookmarkEnd")]
5804 BookmarkEnd(Box<CTMarkupRange>),
5805 #[serde(rename = "moveFromRangeStart")]
5806 MoveFromRangeStart(Box<CTMoveBookmark>),
5807 #[serde(rename = "moveFromRangeEnd")]
5808 MoveFromRangeEnd(Box<CTMarkupRange>),
5809 #[serde(rename = "moveToRangeStart")]
5810 MoveToRangeStart(Box<CTMoveBookmark>),
5811 #[serde(rename = "moveToRangeEnd")]
5812 MoveToRangeEnd(Box<CTMarkupRange>),
5813 #[serde(rename = "commentRangeStart")]
5814 CommentRangeStart(Box<CTMarkupRange>),
5815 #[serde(rename = "commentRangeEnd")]
5816 CommentRangeEnd(Box<CTMarkupRange>),
5817 #[serde(rename = "customXmlInsRangeStart")]
5818 CustomXmlInsRangeStart(Box<CTTrackChange>),
5819 #[serde(rename = "customXmlInsRangeEnd")]
5820 CustomXmlInsRangeEnd(Box<CTMarkup>),
5821 #[serde(rename = "customXmlDelRangeStart")]
5822 CustomXmlDelRangeStart(Box<CTTrackChange>),
5823 #[serde(rename = "customXmlDelRangeEnd")]
5824 CustomXmlDelRangeEnd(Box<CTMarkup>),
5825 #[serde(rename = "customXmlMoveFromRangeStart")]
5826 CustomXmlMoveFromRangeStart(Box<CTTrackChange>),
5827 #[serde(rename = "customXmlMoveFromRangeEnd")]
5828 CustomXmlMoveFromRangeEnd(Box<CTMarkup>),
5829 #[serde(rename = "customXmlMoveToRangeStart")]
5830 CustomXmlMoveToRangeStart(Box<CTTrackChange>),
5831 #[serde(rename = "customXmlMoveToRangeEnd")]
5832 CustomXmlMoveToRangeEnd(Box<CTMarkup>),
5833 #[serde(rename = "ins")]
5834 Ins(Box<CTRunTrackChange>),
5835 #[serde(rename = "del")]
5836 Del(Box<CTRunTrackChange>),
5837 #[serde(rename = "moveFrom")]
5838 MoveFrom(Box<CTRunTrackChange>),
5839 #[serde(rename = "moveTo")]
5840 MoveTo(Box<CTRunTrackChange>),
5841 #[serde(rename = "altChunk")]
5842 AltChunk(Box<CTAltChunk>),
5843}
5844
5845#[derive(Debug, Clone, Serialize, Deserialize)]
5846pub enum RunLevelContent {
5847 #[serde(rename = "proofErr")]
5848 ProofErr(Box<CTProofErr>),
5849 #[serde(rename = "permStart")]
5850 PermStart(Box<CTPermStart>),
5851 #[serde(rename = "permEnd")]
5852 PermEnd(Box<CTPerm>),
5853 #[serde(rename = "bookmarkStart")]
5854 BookmarkStart(Box<Bookmark>),
5855 #[serde(rename = "bookmarkEnd")]
5856 BookmarkEnd(Box<CTMarkupRange>),
5857 #[serde(rename = "moveFromRangeStart")]
5858 MoveFromRangeStart(Box<CTMoveBookmark>),
5859 #[serde(rename = "moveFromRangeEnd")]
5860 MoveFromRangeEnd(Box<CTMarkupRange>),
5861 #[serde(rename = "moveToRangeStart")]
5862 MoveToRangeStart(Box<CTMoveBookmark>),
5863 #[serde(rename = "moveToRangeEnd")]
5864 MoveToRangeEnd(Box<CTMarkupRange>),
5865 #[serde(rename = "commentRangeStart")]
5866 CommentRangeStart(Box<CTMarkupRange>),
5867 #[serde(rename = "commentRangeEnd")]
5868 CommentRangeEnd(Box<CTMarkupRange>),
5869 #[serde(rename = "customXmlInsRangeStart")]
5870 CustomXmlInsRangeStart(Box<CTTrackChange>),
5871 #[serde(rename = "customXmlInsRangeEnd")]
5872 CustomXmlInsRangeEnd(Box<CTMarkup>),
5873 #[serde(rename = "customXmlDelRangeStart")]
5874 CustomXmlDelRangeStart(Box<CTTrackChange>),
5875 #[serde(rename = "customXmlDelRangeEnd")]
5876 CustomXmlDelRangeEnd(Box<CTMarkup>),
5877 #[serde(rename = "customXmlMoveFromRangeStart")]
5878 CustomXmlMoveFromRangeStart(Box<CTTrackChange>),
5879 #[serde(rename = "customXmlMoveFromRangeEnd")]
5880 CustomXmlMoveFromRangeEnd(Box<CTMarkup>),
5881 #[serde(rename = "customXmlMoveToRangeStart")]
5882 CustomXmlMoveToRangeStart(Box<CTTrackChange>),
5883 #[serde(rename = "customXmlMoveToRangeEnd")]
5884 CustomXmlMoveToRangeEnd(Box<CTMarkup>),
5885 #[serde(rename = "ins")]
5886 Ins(Box<CTRunTrackChange>),
5887 #[serde(rename = "del")]
5888 Del(Box<CTRunTrackChange>),
5889 #[serde(rename = "moveFrom")]
5890 MoveFrom(Box<CTRunTrackChange>),
5891 #[serde(rename = "moveTo")]
5892 MoveTo(Box<CTRunTrackChange>),
5893}
5894
5895#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5896pub struct CTEmpty;
5897
5898#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5899pub struct OnOffElement {
5900 #[serde(rename = "@w:val")]
5901 #[serde(default, skip_serializing_if = "Option::is_none")]
5902 pub value: Option<OnOff>,
5903 #[cfg(feature = "extra-attrs")]
5905 #[serde(skip)]
5906 #[cfg(feature = "extra-attrs")]
5907 #[serde(default)]
5908 #[cfg(feature = "extra-attrs")]
5909 pub extra_attrs: std::collections::HashMap<String, String>,
5910}
5911
5912#[derive(Debug, Clone, Serialize, Deserialize)]
5913pub struct LongHexNumberElement {
5914 #[serde(rename = "@w:val")]
5915 pub value: STLongHexNumber,
5916 #[cfg(feature = "extra-attrs")]
5918 #[serde(skip)]
5919 #[cfg(feature = "extra-attrs")]
5920 #[serde(default)]
5921 #[cfg(feature = "extra-attrs")]
5922 pub extra_attrs: std::collections::HashMap<String, String>,
5923}
5924
5925#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5926pub struct CTCharset {
5927 #[serde(rename = "@w:val")]
5928 #[serde(default, skip_serializing_if = "Option::is_none")]
5929 pub value: Option<STUcharHexNumber>,
5930 #[cfg(feature = "wml-styling")]
5931 #[serde(rename = "@w:characterSet")]
5932 #[serde(default, skip_serializing_if = "Option::is_none")]
5933 pub character_set: Option<STString>,
5934 #[cfg(feature = "extra-attrs")]
5936 #[serde(skip)]
5937 #[cfg(feature = "extra-attrs")]
5938 #[serde(default)]
5939 #[cfg(feature = "extra-attrs")]
5940 pub extra_attrs: std::collections::HashMap<String, String>,
5941}
5942
5943#[derive(Debug, Clone, Serialize, Deserialize)]
5944pub struct CTDecimalNumber {
5945 #[serde(rename = "@w:val")]
5946 pub value: STDecimalNumber,
5947 #[cfg(feature = "extra-attrs")]
5949 #[serde(skip)]
5950 #[cfg(feature = "extra-attrs")]
5951 #[serde(default)]
5952 #[cfg(feature = "extra-attrs")]
5953 pub extra_attrs: std::collections::HashMap<String, String>,
5954}
5955
5956#[derive(Debug, Clone, Serialize, Deserialize)]
5957pub struct UnsignedDecimalNumberElement {
5958 #[serde(rename = "@w:val")]
5959 pub value: STUnsignedDecimalNumber,
5960 #[cfg(feature = "extra-attrs")]
5962 #[serde(skip)]
5963 #[cfg(feature = "extra-attrs")]
5964 #[serde(default)]
5965 #[cfg(feature = "extra-attrs")]
5966 pub extra_attrs: std::collections::HashMap<String, String>,
5967}
5968
5969#[derive(Debug, Clone, Serialize, Deserialize)]
5970pub struct CTDecimalNumberOrPrecent {
5971 #[serde(rename = "@w:val")]
5972 pub value: STDecimalNumberOrPercent,
5973 #[cfg(feature = "extra-attrs")]
5975 #[serde(skip)]
5976 #[cfg(feature = "extra-attrs")]
5977 #[serde(default)]
5978 #[cfg(feature = "extra-attrs")]
5979 pub extra_attrs: std::collections::HashMap<String, String>,
5980}
5981
5982#[derive(Debug, Clone, Serialize, Deserialize)]
5983pub struct TwipsMeasureElement {
5984 #[serde(rename = "@w:val")]
5985 pub value: STTwipsMeasure,
5986 #[cfg(feature = "extra-attrs")]
5988 #[serde(skip)]
5989 #[cfg(feature = "extra-attrs")]
5990 #[serde(default)]
5991 #[cfg(feature = "extra-attrs")]
5992 pub extra_attrs: std::collections::HashMap<String, String>,
5993}
5994
5995#[derive(Debug, Clone, Serialize, Deserialize)]
5996pub struct SignedTwipsMeasureElement {
5997 #[serde(rename = "@w:val")]
5998 pub value: STSignedTwipsMeasure,
5999 #[cfg(feature = "extra-attrs")]
6001 #[serde(skip)]
6002 #[cfg(feature = "extra-attrs")]
6003 #[serde(default)]
6004 #[cfg(feature = "extra-attrs")]
6005 pub extra_attrs: std::collections::HashMap<String, String>,
6006}
6007
6008#[derive(Debug, Clone, Serialize, Deserialize)]
6009pub struct PixelsMeasureElement {
6010 #[serde(rename = "@w:val")]
6011 pub value: STPixelsMeasure,
6012 #[cfg(feature = "extra-attrs")]
6014 #[serde(skip)]
6015 #[cfg(feature = "extra-attrs")]
6016 #[serde(default)]
6017 #[cfg(feature = "extra-attrs")]
6018 pub extra_attrs: std::collections::HashMap<String, String>,
6019}
6020
6021#[derive(Debug, Clone, Serialize, Deserialize)]
6022pub struct HpsMeasureElement {
6023 #[serde(rename = "@w:val")]
6024 pub value: STHpsMeasure,
6025 #[cfg(feature = "extra-attrs")]
6027 #[serde(skip)]
6028 #[cfg(feature = "extra-attrs")]
6029 #[serde(default)]
6030 #[cfg(feature = "extra-attrs")]
6031 pub extra_attrs: std::collections::HashMap<String, String>,
6032}
6033
6034#[derive(Debug, Clone, Serialize, Deserialize)]
6035pub struct SignedHpsMeasureElement {
6036 #[serde(rename = "@w:val")]
6037 pub value: STSignedHpsMeasure,
6038 #[cfg(feature = "extra-attrs")]
6040 #[serde(skip)]
6041 #[cfg(feature = "extra-attrs")]
6042 #[serde(default)]
6043 #[cfg(feature = "extra-attrs")]
6044 pub extra_attrs: std::collections::HashMap<String, String>,
6045}
6046
6047#[derive(Debug, Clone, Serialize, Deserialize)]
6048pub struct MacroNameElement {
6049 #[serde(rename = "@w:val")]
6050 pub value: STMacroName,
6051 #[cfg(feature = "extra-attrs")]
6053 #[serde(skip)]
6054 #[cfg(feature = "extra-attrs")]
6055 #[serde(default)]
6056 #[cfg(feature = "extra-attrs")]
6057 pub extra_attrs: std::collections::HashMap<String, String>,
6058}
6059
6060#[derive(Debug, Clone, Serialize, Deserialize)]
6061pub struct CTString {
6062 #[serde(rename = "@w:val")]
6063 pub value: STString,
6064 #[cfg(feature = "extra-attrs")]
6066 #[serde(skip)]
6067 #[cfg(feature = "extra-attrs")]
6068 #[serde(default)]
6069 #[cfg(feature = "extra-attrs")]
6070 pub extra_attrs: std::collections::HashMap<String, String>,
6071}
6072
6073#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6074pub struct TextScaleElement {
6075 #[serde(rename = "@w:val")]
6076 #[serde(default, skip_serializing_if = "Option::is_none")]
6077 pub value: Option<STTextScale>,
6078 #[cfg(feature = "extra-attrs")]
6080 #[serde(skip)]
6081 #[cfg(feature = "extra-attrs")]
6082 #[serde(default)]
6083 #[cfg(feature = "extra-attrs")]
6084 pub extra_attrs: std::collections::HashMap<String, String>,
6085}
6086
6087#[derive(Debug, Clone, Serialize, Deserialize)]
6088pub struct CTHighlight {
6089 #[serde(rename = "@w:val")]
6090 pub value: STHighlightColor,
6091 #[cfg(feature = "extra-attrs")]
6093 #[serde(skip)]
6094 #[cfg(feature = "extra-attrs")]
6095 #[serde(default)]
6096 #[cfg(feature = "extra-attrs")]
6097 pub extra_attrs: std::collections::HashMap<String, String>,
6098}
6099
6100#[derive(Debug, Clone, Serialize, Deserialize)]
6101pub struct CTColor {
6102 #[serde(rename = "@w:val")]
6103 pub value: STHexColor,
6104 #[cfg(feature = "wml-styling")]
6105 #[serde(rename = "@w:themeColor")]
6106 #[serde(default, skip_serializing_if = "Option::is_none")]
6107 pub theme_color: Option<STThemeColor>,
6108 #[cfg(feature = "wml-styling")]
6109 #[serde(rename = "@w:themeTint")]
6110 #[serde(default, skip_serializing_if = "Option::is_none")]
6111 pub theme_tint: Option<STUcharHexNumber>,
6112 #[cfg(feature = "wml-styling")]
6113 #[serde(rename = "@w:themeShade")]
6114 #[serde(default, skip_serializing_if = "Option::is_none")]
6115 pub theme_shade: Option<STUcharHexNumber>,
6116 #[cfg(feature = "extra-attrs")]
6118 #[serde(skip)]
6119 #[cfg(feature = "extra-attrs")]
6120 #[serde(default)]
6121 #[cfg(feature = "extra-attrs")]
6122 pub extra_attrs: std::collections::HashMap<String, String>,
6123}
6124
6125#[derive(Debug, Clone, Serialize, Deserialize)]
6126pub struct CTLang {
6127 #[serde(rename = "@w:val")]
6128 pub value: Language,
6129 #[cfg(feature = "extra-attrs")]
6131 #[serde(skip)]
6132 #[cfg(feature = "extra-attrs")]
6133 #[serde(default)]
6134 #[cfg(feature = "extra-attrs")]
6135 pub extra_attrs: std::collections::HashMap<String, String>,
6136}
6137
6138#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6139pub struct GuidElement {
6140 #[serde(rename = "@w:val")]
6141 #[serde(default, skip_serializing_if = "Option::is_none")]
6142 pub value: Option<Guid>,
6143 #[cfg(feature = "extra-attrs")]
6145 #[serde(skip)]
6146 #[cfg(feature = "extra-attrs")]
6147 #[serde(default)]
6148 #[cfg(feature = "extra-attrs")]
6149 pub extra_attrs: std::collections::HashMap<String, String>,
6150}
6151
6152#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6153pub struct CTUnderline {
6154 #[serde(rename = "@w:val")]
6155 #[serde(default, skip_serializing_if = "Option::is_none")]
6156 pub value: Option<STUnderline>,
6157 #[cfg(feature = "wml-styling")]
6158 #[serde(rename = "@w:color")]
6159 #[serde(default, skip_serializing_if = "Option::is_none")]
6160 pub color: Option<STHexColor>,
6161 #[cfg(feature = "wml-styling")]
6162 #[serde(rename = "@w:themeColor")]
6163 #[serde(default, skip_serializing_if = "Option::is_none")]
6164 pub theme_color: Option<STThemeColor>,
6165 #[cfg(feature = "wml-styling")]
6166 #[serde(rename = "@w:themeTint")]
6167 #[serde(default, skip_serializing_if = "Option::is_none")]
6168 pub theme_tint: Option<STUcharHexNumber>,
6169 #[cfg(feature = "wml-styling")]
6170 #[serde(rename = "@w:themeShade")]
6171 #[serde(default, skip_serializing_if = "Option::is_none")]
6172 pub theme_shade: Option<STUcharHexNumber>,
6173 #[cfg(feature = "extra-attrs")]
6175 #[serde(skip)]
6176 #[cfg(feature = "extra-attrs")]
6177 #[serde(default)]
6178 #[cfg(feature = "extra-attrs")]
6179 pub extra_attrs: std::collections::HashMap<String, String>,
6180}
6181
6182#[derive(Debug, Clone, Serialize, Deserialize)]
6183pub struct CTTextEffect {
6184 #[serde(rename = "@w:val")]
6185 pub value: STTextEffect,
6186 #[cfg(feature = "extra-attrs")]
6188 #[serde(skip)]
6189 #[cfg(feature = "extra-attrs")]
6190 #[serde(default)]
6191 #[cfg(feature = "extra-attrs")]
6192 pub extra_attrs: std::collections::HashMap<String, String>,
6193}
6194
6195#[derive(Debug, Clone, Serialize, Deserialize)]
6196pub struct CTBorder {
6197 #[serde(rename = "@w:val")]
6198 pub value: STBorder,
6199 #[cfg(feature = "wml-styling")]
6200 #[serde(rename = "@w:color")]
6201 #[serde(default, skip_serializing_if = "Option::is_none")]
6202 pub color: Option<STHexColor>,
6203 #[cfg(feature = "wml-styling")]
6204 #[serde(rename = "@w:themeColor")]
6205 #[serde(default, skip_serializing_if = "Option::is_none")]
6206 pub theme_color: Option<STThemeColor>,
6207 #[cfg(feature = "wml-styling")]
6208 #[serde(rename = "@w:themeTint")]
6209 #[serde(default, skip_serializing_if = "Option::is_none")]
6210 pub theme_tint: Option<STUcharHexNumber>,
6211 #[cfg(feature = "wml-styling")]
6212 #[serde(rename = "@w:themeShade")]
6213 #[serde(default, skip_serializing_if = "Option::is_none")]
6214 pub theme_shade: Option<STUcharHexNumber>,
6215 #[cfg(feature = "wml-styling")]
6216 #[serde(rename = "@w:sz")]
6217 #[serde(default, skip_serializing_if = "Option::is_none")]
6218 pub size: Option<STEighthPointMeasure>,
6219 #[cfg(feature = "wml-styling")]
6220 #[serde(rename = "@w:space")]
6221 #[serde(default, skip_serializing_if = "Option::is_none")]
6222 pub space: Option<STPointMeasure>,
6223 #[cfg(feature = "wml-styling")]
6224 #[serde(rename = "@w:shadow")]
6225 #[serde(default, skip_serializing_if = "Option::is_none")]
6226 pub shadow: Option<OnOff>,
6227 #[cfg(feature = "wml-styling")]
6228 #[serde(rename = "@w:frame")]
6229 #[serde(default, skip_serializing_if = "Option::is_none")]
6230 pub frame: Option<OnOff>,
6231 #[cfg(feature = "extra-attrs")]
6233 #[serde(skip)]
6234 #[cfg(feature = "extra-attrs")]
6235 #[serde(default)]
6236 #[cfg(feature = "extra-attrs")]
6237 pub extra_attrs: std::collections::HashMap<String, String>,
6238}
6239
6240#[derive(Debug, Clone, Serialize, Deserialize)]
6241pub struct CTShd {
6242 #[serde(rename = "@w:val")]
6243 pub value: STShd,
6244 #[cfg(feature = "wml-styling")]
6245 #[serde(rename = "@w:color")]
6246 #[serde(default, skip_serializing_if = "Option::is_none")]
6247 pub color: Option<STHexColor>,
6248 #[cfg(feature = "wml-styling")]
6249 #[serde(rename = "@w:themeColor")]
6250 #[serde(default, skip_serializing_if = "Option::is_none")]
6251 pub theme_color: Option<STThemeColor>,
6252 #[cfg(feature = "wml-styling")]
6253 #[serde(rename = "@w:themeTint")]
6254 #[serde(default, skip_serializing_if = "Option::is_none")]
6255 pub theme_tint: Option<STUcharHexNumber>,
6256 #[cfg(feature = "wml-styling")]
6257 #[serde(rename = "@w:themeShade")]
6258 #[serde(default, skip_serializing_if = "Option::is_none")]
6259 pub theme_shade: Option<STUcharHexNumber>,
6260 #[cfg(feature = "wml-styling")]
6261 #[serde(rename = "@w:fill")]
6262 #[serde(default, skip_serializing_if = "Option::is_none")]
6263 pub fill: Option<STHexColor>,
6264 #[cfg(feature = "wml-styling")]
6265 #[serde(rename = "@w:themeFill")]
6266 #[serde(default, skip_serializing_if = "Option::is_none")]
6267 pub theme_fill: Option<STThemeColor>,
6268 #[cfg(feature = "wml-styling")]
6269 #[serde(rename = "@w:themeFillTint")]
6270 #[serde(default, skip_serializing_if = "Option::is_none")]
6271 pub theme_fill_tint: Option<STUcharHexNumber>,
6272 #[cfg(feature = "wml-styling")]
6273 #[serde(rename = "@w:themeFillShade")]
6274 #[serde(default, skip_serializing_if = "Option::is_none")]
6275 pub theme_fill_shade: Option<STUcharHexNumber>,
6276 #[cfg(feature = "extra-attrs")]
6278 #[serde(skip)]
6279 #[cfg(feature = "extra-attrs")]
6280 #[serde(default)]
6281 #[cfg(feature = "extra-attrs")]
6282 pub extra_attrs: std::collections::HashMap<String, String>,
6283}
6284
6285#[derive(Debug, Clone, Serialize, Deserialize)]
6286pub struct CTVerticalAlignRun {
6287 #[serde(rename = "@w:val")]
6288 pub value: STVerticalAlignRun,
6289 #[cfg(feature = "extra-attrs")]
6291 #[serde(skip)]
6292 #[cfg(feature = "extra-attrs")]
6293 #[serde(default)]
6294 #[cfg(feature = "extra-attrs")]
6295 pub extra_attrs: std::collections::HashMap<String, String>,
6296}
6297
6298#[derive(Debug, Clone, Serialize, Deserialize)]
6299pub struct CTFitText {
6300 #[cfg(feature = "wml-styling")]
6301 #[serde(rename = "@w:val")]
6302 pub value: STTwipsMeasure,
6303 #[cfg(feature = "wml-styling")]
6304 #[serde(rename = "@w:id")]
6305 #[serde(default, skip_serializing_if = "Option::is_none")]
6306 pub id: Option<STDecimalNumber>,
6307 #[cfg(feature = "extra-attrs")]
6309 #[serde(skip)]
6310 #[cfg(feature = "extra-attrs")]
6311 #[serde(default)]
6312 #[cfg(feature = "extra-attrs")]
6313 pub extra_attrs: std::collections::HashMap<String, String>,
6314}
6315
6316#[derive(Debug, Clone, Serialize, Deserialize)]
6317pub struct CTEm {
6318 #[serde(rename = "@w:val")]
6319 pub value: STEm,
6320 #[cfg(feature = "extra-attrs")]
6322 #[serde(skip)]
6323 #[cfg(feature = "extra-attrs")]
6324 #[serde(default)]
6325 #[cfg(feature = "extra-attrs")]
6326 pub extra_attrs: std::collections::HashMap<String, String>,
6327}
6328
6329#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6330pub struct LanguageElement {
6331 #[serde(rename = "@w:val")]
6332 #[serde(default, skip_serializing_if = "Option::is_none")]
6333 pub value: Option<Language>,
6334 #[serde(rename = "@w:eastAsia")]
6335 #[serde(default, skip_serializing_if = "Option::is_none")]
6336 pub east_asia: Option<Language>,
6337 #[serde(rename = "@w:bidi")]
6338 #[serde(default, skip_serializing_if = "Option::is_none")]
6339 pub bidi: Option<Language>,
6340 #[cfg(feature = "extra-attrs")]
6342 #[serde(skip)]
6343 #[cfg(feature = "extra-attrs")]
6344 #[serde(default)]
6345 #[cfg(feature = "extra-attrs")]
6346 pub extra_attrs: std::collections::HashMap<String, String>,
6347}
6348
6349#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6350pub struct CTEastAsianLayout {
6351 #[cfg(feature = "wml-styling")]
6352 #[serde(rename = "@w:id")]
6353 #[serde(default, skip_serializing_if = "Option::is_none")]
6354 pub id: Option<STDecimalNumber>,
6355 #[cfg(feature = "wml-styling")]
6356 #[serde(rename = "@w:combine")]
6357 #[serde(default, skip_serializing_if = "Option::is_none")]
6358 pub combine: Option<OnOff>,
6359 #[cfg(feature = "wml-styling")]
6360 #[serde(rename = "@w:combineBrackets")]
6361 #[serde(default, skip_serializing_if = "Option::is_none")]
6362 pub combine_brackets: Option<STCombineBrackets>,
6363 #[cfg(feature = "wml-styling")]
6364 #[serde(rename = "@w:vert")]
6365 #[serde(default, skip_serializing_if = "Option::is_none")]
6366 pub vert: Option<OnOff>,
6367 #[cfg(feature = "wml-styling")]
6368 #[serde(rename = "@w:vertCompress")]
6369 #[serde(default, skip_serializing_if = "Option::is_none")]
6370 pub vert_compress: Option<OnOff>,
6371 #[cfg(feature = "extra-attrs")]
6373 #[serde(skip)]
6374 #[cfg(feature = "extra-attrs")]
6375 #[serde(default)]
6376 #[cfg(feature = "extra-attrs")]
6377 pub extra_attrs: std::collections::HashMap<String, String>,
6378}
6379
6380#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6381pub struct CTFramePr {
6382 #[cfg(feature = "wml-layout")]
6383 #[serde(rename = "@w:dropCap")]
6384 #[serde(default, skip_serializing_if = "Option::is_none")]
6385 pub drop_cap: Option<STDropCap>,
6386 #[cfg(feature = "wml-layout")]
6387 #[serde(rename = "@w:lines")]
6388 #[serde(default, skip_serializing_if = "Option::is_none")]
6389 pub lines: Option<STDecimalNumber>,
6390 #[cfg(feature = "wml-layout")]
6391 #[serde(rename = "@w:w")]
6392 #[serde(default, skip_serializing_if = "Option::is_none")]
6393 pub width: Option<STTwipsMeasure>,
6394 #[cfg(feature = "wml-layout")]
6395 #[serde(rename = "@w:h")]
6396 #[serde(default, skip_serializing_if = "Option::is_none")]
6397 pub height: Option<STTwipsMeasure>,
6398 #[cfg(feature = "wml-layout")]
6399 #[serde(rename = "@w:vSpace")]
6400 #[serde(default, skip_serializing_if = "Option::is_none")]
6401 pub v_space: Option<STTwipsMeasure>,
6402 #[cfg(feature = "wml-layout")]
6403 #[serde(rename = "@w:hSpace")]
6404 #[serde(default, skip_serializing_if = "Option::is_none")]
6405 pub h_space: Option<STTwipsMeasure>,
6406 #[cfg(feature = "wml-layout")]
6407 #[serde(rename = "@w:wrap")]
6408 #[serde(default, skip_serializing_if = "Option::is_none")]
6409 pub wrap: Option<STWrap>,
6410 #[cfg(feature = "wml-layout")]
6411 #[serde(rename = "@w:hAnchor")]
6412 #[serde(default, skip_serializing_if = "Option::is_none")]
6413 pub h_anchor: Option<STHAnchor>,
6414 #[cfg(feature = "wml-layout")]
6415 #[serde(rename = "@w:vAnchor")]
6416 #[serde(default, skip_serializing_if = "Option::is_none")]
6417 pub v_anchor: Option<STVAnchor>,
6418 #[cfg(feature = "wml-layout")]
6419 #[serde(rename = "@w:x")]
6420 #[serde(default, skip_serializing_if = "Option::is_none")]
6421 pub x: Option<STSignedTwipsMeasure>,
6422 #[cfg(feature = "wml-layout")]
6423 #[serde(rename = "@w:xAlign")]
6424 #[serde(default, skip_serializing_if = "Option::is_none")]
6425 pub x_align: Option<STXAlign>,
6426 #[cfg(feature = "wml-layout")]
6427 #[serde(rename = "@w:y")]
6428 #[serde(default, skip_serializing_if = "Option::is_none")]
6429 pub y: Option<STSignedTwipsMeasure>,
6430 #[cfg(feature = "wml-layout")]
6431 #[serde(rename = "@w:yAlign")]
6432 #[serde(default, skip_serializing_if = "Option::is_none")]
6433 pub y_align: Option<STYAlign>,
6434 #[cfg(feature = "wml-layout")]
6435 #[serde(rename = "@w:hRule")]
6436 #[serde(default, skip_serializing_if = "Option::is_none")]
6437 pub h_rule: Option<STHeightRule>,
6438 #[cfg(feature = "wml-layout")]
6439 #[serde(rename = "@w:anchorLock")]
6440 #[serde(default, skip_serializing_if = "Option::is_none")]
6441 pub anchor_lock: Option<OnOff>,
6442 #[cfg(feature = "extra-attrs")]
6444 #[serde(skip)]
6445 #[cfg(feature = "extra-attrs")]
6446 #[serde(default)]
6447 #[cfg(feature = "extra-attrs")]
6448 pub extra_attrs: std::collections::HashMap<String, String>,
6449}
6450
6451#[derive(Debug, Clone, Serialize, Deserialize)]
6452pub struct CTTabStop {
6453 #[serde(rename = "@w:val")]
6454 pub value: STTabJc,
6455 #[cfg(feature = "wml-styling")]
6456 #[serde(rename = "@w:leader")]
6457 #[serde(default, skip_serializing_if = "Option::is_none")]
6458 pub leader: Option<STTabTlc>,
6459 #[serde(rename = "@w:pos")]
6460 pub pos: STSignedTwipsMeasure,
6461 #[cfg(feature = "extra-attrs")]
6463 #[serde(skip)]
6464 #[cfg(feature = "extra-attrs")]
6465 #[serde(default)]
6466 #[cfg(feature = "extra-attrs")]
6467 pub extra_attrs: std::collections::HashMap<String, String>,
6468}
6469
6470#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6471pub struct CTSpacing {
6472 #[cfg(feature = "wml-styling")]
6473 #[serde(rename = "@w:before")]
6474 #[serde(default, skip_serializing_if = "Option::is_none")]
6475 pub before: Option<STTwipsMeasure>,
6476 #[cfg(feature = "wml-styling")]
6477 #[serde(rename = "@w:beforeLines")]
6478 #[serde(default, skip_serializing_if = "Option::is_none")]
6479 pub before_lines: Option<STDecimalNumber>,
6480 #[cfg(feature = "wml-styling")]
6481 #[serde(rename = "@w:beforeAutospacing")]
6482 #[serde(default, skip_serializing_if = "Option::is_none")]
6483 pub before_autospacing: Option<OnOff>,
6484 #[cfg(feature = "wml-styling")]
6485 #[serde(rename = "@w:after")]
6486 #[serde(default, skip_serializing_if = "Option::is_none")]
6487 pub after: Option<STTwipsMeasure>,
6488 #[cfg(feature = "wml-styling")]
6489 #[serde(rename = "@w:afterLines")]
6490 #[serde(default, skip_serializing_if = "Option::is_none")]
6491 pub after_lines: Option<STDecimalNumber>,
6492 #[cfg(feature = "wml-styling")]
6493 #[serde(rename = "@w:afterAutospacing")]
6494 #[serde(default, skip_serializing_if = "Option::is_none")]
6495 pub after_autospacing: Option<OnOff>,
6496 #[cfg(feature = "wml-styling")]
6497 #[serde(rename = "@w:line")]
6498 #[serde(default, skip_serializing_if = "Option::is_none")]
6499 pub line: Option<STSignedTwipsMeasure>,
6500 #[cfg(feature = "wml-styling")]
6501 #[serde(rename = "@w:lineRule")]
6502 #[serde(default, skip_serializing_if = "Option::is_none")]
6503 pub line_rule: Option<STLineSpacingRule>,
6504 #[cfg(feature = "extra-attrs")]
6506 #[serde(skip)]
6507 #[cfg(feature = "extra-attrs")]
6508 #[serde(default)]
6509 #[cfg(feature = "extra-attrs")]
6510 pub extra_attrs: std::collections::HashMap<String, String>,
6511}
6512
6513#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6514pub struct CTInd {
6515 #[cfg(feature = "wml-styling")]
6516 #[serde(rename = "@w:start")]
6517 #[serde(default, skip_serializing_if = "Option::is_none")]
6518 pub start: Option<STSignedTwipsMeasure>,
6519 #[cfg(feature = "wml-styling")]
6520 #[serde(rename = "@w:startChars")]
6521 #[serde(default, skip_serializing_if = "Option::is_none")]
6522 pub start_chars: Option<STDecimalNumber>,
6523 #[cfg(feature = "wml-styling")]
6524 #[serde(rename = "@w:end")]
6525 #[serde(default, skip_serializing_if = "Option::is_none")]
6526 pub end: Option<STSignedTwipsMeasure>,
6527 #[cfg(feature = "wml-styling")]
6528 #[serde(rename = "@w:endChars")]
6529 #[serde(default, skip_serializing_if = "Option::is_none")]
6530 pub end_chars: Option<STDecimalNumber>,
6531 #[cfg(feature = "wml-styling")]
6532 #[serde(rename = "@w:left")]
6533 #[serde(default, skip_serializing_if = "Option::is_none")]
6534 pub left: Option<STSignedTwipsMeasure>,
6535 #[cfg(feature = "wml-styling")]
6536 #[serde(rename = "@w:leftChars")]
6537 #[serde(default, skip_serializing_if = "Option::is_none")]
6538 pub left_chars: Option<STDecimalNumber>,
6539 #[cfg(feature = "wml-styling")]
6540 #[serde(rename = "@w:right")]
6541 #[serde(default, skip_serializing_if = "Option::is_none")]
6542 pub right: Option<STSignedTwipsMeasure>,
6543 #[cfg(feature = "wml-styling")]
6544 #[serde(rename = "@w:rightChars")]
6545 #[serde(default, skip_serializing_if = "Option::is_none")]
6546 pub right_chars: Option<STDecimalNumber>,
6547 #[cfg(feature = "wml-styling")]
6548 #[serde(rename = "@w:hanging")]
6549 #[serde(default, skip_serializing_if = "Option::is_none")]
6550 pub hanging: Option<STTwipsMeasure>,
6551 #[cfg(feature = "wml-styling")]
6552 #[serde(rename = "@w:hangingChars")]
6553 #[serde(default, skip_serializing_if = "Option::is_none")]
6554 pub hanging_chars: Option<STDecimalNumber>,
6555 #[cfg(feature = "wml-styling")]
6556 #[serde(rename = "@w:firstLine")]
6557 #[serde(default, skip_serializing_if = "Option::is_none")]
6558 pub first_line: Option<STTwipsMeasure>,
6559 #[cfg(feature = "wml-styling")]
6560 #[serde(rename = "@w:firstLineChars")]
6561 #[serde(default, skip_serializing_if = "Option::is_none")]
6562 pub first_line_chars: Option<STDecimalNumber>,
6563 #[cfg(feature = "extra-attrs")]
6565 #[serde(skip)]
6566 #[cfg(feature = "extra-attrs")]
6567 #[serde(default)]
6568 #[cfg(feature = "extra-attrs")]
6569 pub extra_attrs: std::collections::HashMap<String, String>,
6570}
6571
6572#[derive(Debug, Clone, Serialize, Deserialize)]
6573pub struct CTJc {
6574 #[serde(rename = "@w:val")]
6575 pub value: STJc,
6576 #[cfg(feature = "extra-attrs")]
6578 #[serde(skip)]
6579 #[cfg(feature = "extra-attrs")]
6580 #[serde(default)]
6581 #[cfg(feature = "extra-attrs")]
6582 pub extra_attrs: std::collections::HashMap<String, String>,
6583}
6584
6585#[derive(Debug, Clone, Serialize, Deserialize)]
6586pub struct CTJcTable {
6587 #[serde(rename = "@w:val")]
6588 pub value: STJcTable,
6589 #[cfg(feature = "extra-attrs")]
6591 #[serde(skip)]
6592 #[cfg(feature = "extra-attrs")]
6593 #[serde(default)]
6594 #[cfg(feature = "extra-attrs")]
6595 pub extra_attrs: std::collections::HashMap<String, String>,
6596}
6597
6598#[derive(Debug, Clone, Serialize, Deserialize)]
6599pub struct CTView {
6600 #[serde(rename = "@w:val")]
6601 pub value: STView,
6602 #[cfg(feature = "extra-attrs")]
6604 #[serde(skip)]
6605 #[cfg(feature = "extra-attrs")]
6606 #[serde(default)]
6607 #[cfg(feature = "extra-attrs")]
6608 pub extra_attrs: std::collections::HashMap<String, String>,
6609}
6610
6611#[derive(Debug, Clone, Serialize, Deserialize)]
6612pub struct CTZoom {
6613 #[cfg(feature = "wml-settings")]
6614 #[serde(rename = "@w:val")]
6615 #[serde(default, skip_serializing_if = "Option::is_none")]
6616 pub value: Option<STZoom>,
6617 #[serde(rename = "@w:percent")]
6618 pub percent: STDecimalNumberOrPercent,
6619 #[cfg(feature = "extra-attrs")]
6621 #[serde(skip)]
6622 #[cfg(feature = "extra-attrs")]
6623 #[serde(default)]
6624 #[cfg(feature = "extra-attrs")]
6625 pub extra_attrs: std::collections::HashMap<String, String>,
6626}
6627
6628#[derive(Debug, Clone, Serialize, Deserialize)]
6629pub struct CTWritingStyle {
6630 #[cfg(feature = "wml-settings")]
6631 #[serde(rename = "@w:lang")]
6632 pub lang: Language,
6633 #[cfg(feature = "wml-settings")]
6634 #[serde(rename = "@w:vendorID")]
6635 pub vendor_i_d: STString,
6636 #[cfg(feature = "wml-settings")]
6637 #[serde(rename = "@w:dllVersion")]
6638 pub dll_version: STString,
6639 #[cfg(feature = "wml-settings")]
6640 #[serde(rename = "@w:nlCheck")]
6641 #[serde(default, skip_serializing_if = "Option::is_none")]
6642 pub nl_check: Option<OnOff>,
6643 #[cfg(feature = "wml-settings")]
6644 #[serde(rename = "@w:checkStyle")]
6645 pub check_style: OnOff,
6646 #[cfg(feature = "wml-settings")]
6647 #[serde(rename = "@w:appName")]
6648 pub app_name: STString,
6649 #[cfg(feature = "extra-attrs")]
6651 #[serde(skip)]
6652 #[cfg(feature = "extra-attrs")]
6653 #[serde(default)]
6654 #[cfg(feature = "extra-attrs")]
6655 pub extra_attrs: std::collections::HashMap<String, String>,
6656}
6657
6658#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6659pub struct CTProof {
6660 #[cfg(feature = "wml-settings")]
6661 #[serde(rename = "@w:spelling")]
6662 #[serde(default, skip_serializing_if = "Option::is_none")]
6663 pub spelling: Option<STProof>,
6664 #[cfg(feature = "wml-settings")]
6665 #[serde(rename = "@w:grammar")]
6666 #[serde(default, skip_serializing_if = "Option::is_none")]
6667 pub grammar: Option<STProof>,
6668 #[cfg(feature = "extra-attrs")]
6670 #[serde(skip)]
6671 #[cfg(feature = "extra-attrs")]
6672 #[serde(default)]
6673 #[cfg(feature = "extra-attrs")]
6674 pub extra_attrs: std::collections::HashMap<String, String>,
6675}
6676
6677#[derive(Debug, Clone, Serialize, Deserialize)]
6678pub struct DocTypeElement {
6679 #[serde(rename = "@w:val")]
6680 pub value: STDocType,
6681 #[cfg(feature = "extra-attrs")]
6683 #[serde(skip)]
6684 #[cfg(feature = "extra-attrs")]
6685 #[serde(default)]
6686 #[cfg(feature = "extra-attrs")]
6687 pub extra_attrs: std::collections::HashMap<String, String>,
6688}
6689
6690#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6691pub struct WAGPassword {
6692 #[serde(rename = "@w:algorithmName")]
6693 #[serde(default, skip_serializing_if = "Option::is_none")]
6694 pub algorithm_name: Option<STString>,
6695 #[serde(rename = "@w:hashValue")]
6696 #[serde(default, skip_serializing_if = "Option::is_none")]
6697 pub hash_value: Option<Vec<u8>>,
6698 #[serde(rename = "@w:saltValue")]
6699 #[serde(default, skip_serializing_if = "Option::is_none")]
6700 pub salt_value: Option<Vec<u8>>,
6701 #[serde(rename = "@w:spinCount")]
6702 #[serde(default, skip_serializing_if = "Option::is_none")]
6703 pub spin_count: Option<STDecimalNumber>,
6704 #[cfg(feature = "extra-attrs")]
6706 #[serde(skip)]
6707 #[cfg(feature = "extra-attrs")]
6708 #[serde(default)]
6709 #[cfg(feature = "extra-attrs")]
6710 pub extra_attrs: std::collections::HashMap<String, String>,
6711}
6712
6713#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6714pub struct WAGTransitionalPassword {
6715 #[serde(rename = "@w:cryptProviderType")]
6716 #[serde(default, skip_serializing_if = "Option::is_none")]
6717 pub crypt_provider_type: Option<STCryptProv>,
6718 #[serde(rename = "@w:cryptAlgorithmClass")]
6719 #[serde(default, skip_serializing_if = "Option::is_none")]
6720 pub crypt_algorithm_class: Option<STAlgClass>,
6721 #[serde(rename = "@w:cryptAlgorithmType")]
6722 #[serde(default, skip_serializing_if = "Option::is_none")]
6723 pub crypt_algorithm_type: Option<STAlgType>,
6724 #[serde(rename = "@w:cryptAlgorithmSid")]
6725 #[serde(default, skip_serializing_if = "Option::is_none")]
6726 pub crypt_algorithm_sid: Option<STDecimalNumber>,
6727 #[serde(rename = "@w:cryptSpinCount")]
6728 #[serde(default, skip_serializing_if = "Option::is_none")]
6729 pub crypt_spin_count: Option<STDecimalNumber>,
6730 #[serde(rename = "@w:cryptProvider")]
6731 #[serde(default, skip_serializing_if = "Option::is_none")]
6732 pub crypt_provider: Option<STString>,
6733 #[serde(rename = "@w:algIdExt")]
6734 #[serde(default, skip_serializing_if = "Option::is_none")]
6735 pub alg_id_ext: Option<STLongHexNumber>,
6736 #[serde(rename = "@w:algIdExtSource")]
6737 #[serde(default, skip_serializing_if = "Option::is_none")]
6738 pub alg_id_ext_source: Option<STString>,
6739 #[serde(rename = "@w:cryptProviderTypeExt")]
6740 #[serde(default, skip_serializing_if = "Option::is_none")]
6741 pub crypt_provider_type_ext: Option<STLongHexNumber>,
6742 #[serde(rename = "@w:cryptProviderTypeExtSource")]
6743 #[serde(default, skip_serializing_if = "Option::is_none")]
6744 pub crypt_provider_type_ext_source: Option<STString>,
6745 #[serde(rename = "@w:hash")]
6746 #[serde(default, skip_serializing_if = "Option::is_none")]
6747 pub hash: Option<Vec<u8>>,
6748 #[serde(rename = "@w:salt")]
6749 #[serde(default, skip_serializing_if = "Option::is_none")]
6750 pub salt: Option<Vec<u8>>,
6751 #[cfg(feature = "extra-attrs")]
6753 #[serde(skip)]
6754 #[cfg(feature = "extra-attrs")]
6755 #[serde(default)]
6756 #[cfg(feature = "extra-attrs")]
6757 pub extra_attrs: std::collections::HashMap<String, String>,
6758}
6759
6760#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6761pub struct CTDocProtect {
6762 #[cfg(feature = "wml-settings")]
6763 #[serde(rename = "@w:edit")]
6764 #[serde(default, skip_serializing_if = "Option::is_none")]
6765 pub edit: Option<STDocProtect>,
6766 #[cfg(feature = "wml-settings")]
6767 #[serde(rename = "@w:formatting")]
6768 #[serde(default, skip_serializing_if = "Option::is_none")]
6769 pub formatting: Option<OnOff>,
6770 #[cfg(feature = "wml-settings")]
6771 #[serde(rename = "@w:enforcement")]
6772 #[serde(default, skip_serializing_if = "Option::is_none")]
6773 pub enforcement: Option<OnOff>,
6774 #[cfg(feature = "wml-settings")]
6775 #[serde(rename = "@w:algorithmName")]
6776 #[serde(default, skip_serializing_if = "Option::is_none")]
6777 pub algorithm_name: Option<STString>,
6778 #[cfg(feature = "wml-settings")]
6779 #[serde(rename = "@w:hashValue")]
6780 #[serde(default, skip_serializing_if = "Option::is_none")]
6781 pub hash_value: Option<Vec<u8>>,
6782 #[cfg(feature = "wml-settings")]
6783 #[serde(rename = "@w:saltValue")]
6784 #[serde(default, skip_serializing_if = "Option::is_none")]
6785 pub salt_value: Option<Vec<u8>>,
6786 #[cfg(feature = "wml-settings")]
6787 #[serde(rename = "@w:spinCount")]
6788 #[serde(default, skip_serializing_if = "Option::is_none")]
6789 pub spin_count: Option<STDecimalNumber>,
6790 #[cfg(feature = "wml-settings")]
6791 #[serde(rename = "@w:cryptProviderType")]
6792 #[serde(default, skip_serializing_if = "Option::is_none")]
6793 pub crypt_provider_type: Option<STCryptProv>,
6794 #[cfg(feature = "wml-settings")]
6795 #[serde(rename = "@w:cryptAlgorithmClass")]
6796 #[serde(default, skip_serializing_if = "Option::is_none")]
6797 pub crypt_algorithm_class: Option<STAlgClass>,
6798 #[cfg(feature = "wml-settings")]
6799 #[serde(rename = "@w:cryptAlgorithmType")]
6800 #[serde(default, skip_serializing_if = "Option::is_none")]
6801 pub crypt_algorithm_type: Option<STAlgType>,
6802 #[cfg(feature = "wml-settings")]
6803 #[serde(rename = "@w:cryptAlgorithmSid")]
6804 #[serde(default, skip_serializing_if = "Option::is_none")]
6805 pub crypt_algorithm_sid: Option<STDecimalNumber>,
6806 #[cfg(feature = "wml-settings")]
6807 #[serde(rename = "@w:cryptSpinCount")]
6808 #[serde(default, skip_serializing_if = "Option::is_none")]
6809 pub crypt_spin_count: Option<STDecimalNumber>,
6810 #[cfg(feature = "wml-settings")]
6811 #[serde(rename = "@w:cryptProvider")]
6812 #[serde(default, skip_serializing_if = "Option::is_none")]
6813 pub crypt_provider: Option<STString>,
6814 #[cfg(feature = "wml-settings")]
6815 #[serde(rename = "@w:algIdExt")]
6816 #[serde(default, skip_serializing_if = "Option::is_none")]
6817 pub alg_id_ext: Option<STLongHexNumber>,
6818 #[cfg(feature = "wml-settings")]
6819 #[serde(rename = "@w:algIdExtSource")]
6820 #[serde(default, skip_serializing_if = "Option::is_none")]
6821 pub alg_id_ext_source: Option<STString>,
6822 #[cfg(feature = "wml-settings")]
6823 #[serde(rename = "@w:cryptProviderTypeExt")]
6824 #[serde(default, skip_serializing_if = "Option::is_none")]
6825 pub crypt_provider_type_ext: Option<STLongHexNumber>,
6826 #[cfg(feature = "wml-settings")]
6827 #[serde(rename = "@w:cryptProviderTypeExtSource")]
6828 #[serde(default, skip_serializing_if = "Option::is_none")]
6829 pub crypt_provider_type_ext_source: Option<STString>,
6830 #[cfg(feature = "wml-settings")]
6831 #[serde(rename = "@w:hash")]
6832 #[serde(default, skip_serializing_if = "Option::is_none")]
6833 pub hash: Option<Vec<u8>>,
6834 #[cfg(feature = "wml-settings")]
6835 #[serde(rename = "@w:salt")]
6836 #[serde(default, skip_serializing_if = "Option::is_none")]
6837 pub salt: Option<Vec<u8>>,
6838 #[cfg(feature = "extra-attrs")]
6840 #[serde(skip)]
6841 #[cfg(feature = "extra-attrs")]
6842 #[serde(default)]
6843 #[cfg(feature = "extra-attrs")]
6844 pub extra_attrs: std::collections::HashMap<String, String>,
6845}
6846
6847#[derive(Debug, Clone, Serialize, Deserialize)]
6848pub struct CTMailMergeDocType {
6849 #[serde(rename = "@w:val")]
6850 pub value: STMailMergeDocType,
6851 #[cfg(feature = "extra-attrs")]
6853 #[serde(skip)]
6854 #[cfg(feature = "extra-attrs")]
6855 #[serde(default)]
6856 #[cfg(feature = "extra-attrs")]
6857 pub extra_attrs: std::collections::HashMap<String, String>,
6858}
6859
6860#[derive(Debug, Clone, Serialize, Deserialize)]
6861pub struct MailMergeDataTypeElement {
6862 #[serde(rename = "@w:val")]
6863 pub value: STMailMergeDataType,
6864 #[cfg(feature = "extra-attrs")]
6866 #[serde(skip)]
6867 #[cfg(feature = "extra-attrs")]
6868 #[serde(default)]
6869 #[cfg(feature = "extra-attrs")]
6870 pub extra_attrs: std::collections::HashMap<String, String>,
6871}
6872
6873#[derive(Debug, Clone, Serialize, Deserialize)]
6874pub struct CTMailMergeDest {
6875 #[serde(rename = "@w:val")]
6876 pub value: STMailMergeDest,
6877 #[cfg(feature = "extra-attrs")]
6879 #[serde(skip)]
6880 #[cfg(feature = "extra-attrs")]
6881 #[serde(default)]
6882 #[cfg(feature = "extra-attrs")]
6883 pub extra_attrs: std::collections::HashMap<String, String>,
6884}
6885
6886#[derive(Debug, Clone, Serialize, Deserialize)]
6887pub struct CTMailMergeOdsoFMDFieldType {
6888 #[serde(rename = "@w:val")]
6889 pub value: STMailMergeOdsoFMDFieldType,
6890 #[cfg(feature = "extra-attrs")]
6892 #[serde(skip)]
6893 #[cfg(feature = "extra-attrs")]
6894 #[serde(default)]
6895 #[cfg(feature = "extra-attrs")]
6896 pub extra_attrs: std::collections::HashMap<String, String>,
6897}
6898
6899#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6900pub struct CTTrackChangesView {
6901 #[cfg(feature = "wml-settings")]
6902 #[serde(rename = "@w:markup")]
6903 #[serde(default, skip_serializing_if = "Option::is_none")]
6904 pub markup: Option<OnOff>,
6905 #[cfg(feature = "wml-settings")]
6906 #[serde(rename = "@w:comments")]
6907 #[serde(default, skip_serializing_if = "Option::is_none")]
6908 pub comments: Option<OnOff>,
6909 #[cfg(feature = "wml-settings")]
6910 #[serde(rename = "@w:insDel")]
6911 #[serde(default, skip_serializing_if = "Option::is_none")]
6912 pub ins_del: Option<OnOff>,
6913 #[cfg(feature = "wml-settings")]
6914 #[serde(rename = "@w:formatting")]
6915 #[serde(default, skip_serializing_if = "Option::is_none")]
6916 pub formatting: Option<OnOff>,
6917 #[cfg(feature = "wml-settings")]
6918 #[serde(rename = "@w:inkAnnotations")]
6919 #[serde(default, skip_serializing_if = "Option::is_none")]
6920 pub ink_annotations: Option<OnOff>,
6921 #[cfg(feature = "extra-attrs")]
6923 #[serde(skip)]
6924 #[cfg(feature = "extra-attrs")]
6925 #[serde(default)]
6926 #[cfg(feature = "extra-attrs")]
6927 pub extra_attrs: std::collections::HashMap<String, String>,
6928}
6929
6930#[derive(Debug, Clone, Serialize, Deserialize)]
6931pub struct CTKinsoku {
6932 #[cfg(feature = "wml-styling")]
6933 #[serde(rename = "@w:lang")]
6934 pub lang: Language,
6935 #[cfg(feature = "wml-styling")]
6936 #[serde(rename = "@w:val")]
6937 pub value: STString,
6938 #[cfg(feature = "extra-attrs")]
6940 #[serde(skip)]
6941 #[cfg(feature = "extra-attrs")]
6942 #[serde(default)]
6943 #[cfg(feature = "extra-attrs")]
6944 pub extra_attrs: std::collections::HashMap<String, String>,
6945}
6946
6947#[derive(Debug, Clone, Serialize, Deserialize)]
6948pub struct CTTextDirection {
6949 #[serde(rename = "@w:val")]
6950 pub value: STTextDirection,
6951 #[cfg(feature = "extra-attrs")]
6953 #[serde(skip)]
6954 #[cfg(feature = "extra-attrs")]
6955 #[serde(default)]
6956 #[cfg(feature = "extra-attrs")]
6957 pub extra_attrs: std::collections::HashMap<String, String>,
6958}
6959
6960#[derive(Debug, Clone, Serialize, Deserialize)]
6961pub struct CTTextAlignment {
6962 #[serde(rename = "@w:val")]
6963 pub value: STTextAlignment,
6964 #[cfg(feature = "extra-attrs")]
6966 #[serde(skip)]
6967 #[cfg(feature = "extra-attrs")]
6968 #[serde(default)]
6969 #[cfg(feature = "extra-attrs")]
6970 pub extra_attrs: std::collections::HashMap<String, String>,
6971}
6972
6973#[derive(Debug, Clone, Serialize, Deserialize)]
6974pub struct CTMarkup {
6975 #[serde(rename = "@w:id")]
6976 pub id: STDecimalNumber,
6977 #[cfg(feature = "extra-attrs")]
6979 #[serde(skip)]
6980 #[cfg(feature = "extra-attrs")]
6981 #[serde(default)]
6982 #[cfg(feature = "extra-attrs")]
6983 pub extra_attrs: std::collections::HashMap<String, String>,
6984}
6985
6986#[derive(Debug, Clone, Serialize, Deserialize)]
6987pub struct CTTrackChange {
6988 #[serde(rename = "@w:id")]
6989 pub id: STDecimalNumber,
6990 #[serde(rename = "@w:author")]
6991 pub author: STString,
6992 #[cfg(feature = "wml-track-changes")]
6993 #[serde(rename = "@w:date")]
6994 #[serde(default, skip_serializing_if = "Option::is_none")]
6995 pub date: Option<STDateTime>,
6996 #[cfg(feature = "extra-attrs")]
6998 #[serde(skip)]
6999 #[cfg(feature = "extra-attrs")]
7000 #[serde(default)]
7001 #[cfg(feature = "extra-attrs")]
7002 pub extra_attrs: std::collections::HashMap<String, String>,
7003}
7004
7005#[derive(Debug, Clone, Serialize, Deserialize)]
7006pub struct CTCellMergeTrackChange {
7007 #[serde(rename = "@w:id")]
7008 pub id: STDecimalNumber,
7009 #[serde(rename = "@w:author")]
7010 pub author: STString,
7011 #[serde(rename = "@w:date")]
7012 #[serde(default, skip_serializing_if = "Option::is_none")]
7013 pub date: Option<STDateTime>,
7014 #[cfg(feature = "wml-track-changes")]
7015 #[serde(rename = "@w:vMerge")]
7016 #[serde(default, skip_serializing_if = "Option::is_none")]
7017 pub vertical_merge: Option<STAnnotationVMerge>,
7018 #[cfg(feature = "wml-track-changes")]
7019 #[serde(rename = "@w:vMergeOrig")]
7020 #[serde(default, skip_serializing_if = "Option::is_none")]
7021 pub v_merge_orig: Option<STAnnotationVMerge>,
7022 #[cfg(feature = "extra-attrs")]
7024 #[serde(skip)]
7025 #[cfg(feature = "extra-attrs")]
7026 #[serde(default)]
7027 #[cfg(feature = "extra-attrs")]
7028 pub extra_attrs: std::collections::HashMap<String, String>,
7029}
7030
7031#[derive(Debug, Clone, Serialize, Deserialize)]
7032pub struct CTTrackChangeRange {
7033 #[serde(rename = "@w:id")]
7034 pub id: STDecimalNumber,
7035 #[serde(rename = "@w:author")]
7036 pub author: STString,
7037 #[serde(rename = "@w:date")]
7038 #[serde(default, skip_serializing_if = "Option::is_none")]
7039 pub date: Option<STDateTime>,
7040 #[cfg(feature = "wml-settings")]
7041 #[serde(rename = "@w:displacedByCustomXml")]
7042 #[serde(default, skip_serializing_if = "Option::is_none")]
7043 pub displaced_by_custom_xml: Option<STDisplacedByCustomXml>,
7044 #[cfg(feature = "extra-attrs")]
7046 #[serde(skip)]
7047 #[cfg(feature = "extra-attrs")]
7048 #[serde(default)]
7049 #[cfg(feature = "extra-attrs")]
7050 pub extra_attrs: std::collections::HashMap<String, String>,
7051}
7052
7053#[derive(Debug, Clone, Serialize, Deserialize)]
7054pub struct CTMarkupRange {
7055 #[serde(rename = "@w:id")]
7056 pub id: STDecimalNumber,
7057 #[cfg(feature = "wml-settings")]
7058 #[serde(rename = "@w:displacedByCustomXml")]
7059 #[serde(default, skip_serializing_if = "Option::is_none")]
7060 pub displaced_by_custom_xml: Option<STDisplacedByCustomXml>,
7061 #[cfg(feature = "extra-attrs")]
7063 #[serde(skip)]
7064 #[cfg(feature = "extra-attrs")]
7065 #[serde(default)]
7066 #[cfg(feature = "extra-attrs")]
7067 pub extra_attrs: std::collections::HashMap<String, String>,
7068}
7069
7070#[derive(Debug, Clone, Serialize, Deserialize)]
7071pub struct CTBookmarkRange {
7072 #[serde(rename = "@w:id")]
7073 pub id: STDecimalNumber,
7074 #[serde(rename = "@w:displacedByCustomXml")]
7075 #[serde(default, skip_serializing_if = "Option::is_none")]
7076 pub displaced_by_custom_xml: Option<STDisplacedByCustomXml>,
7077 #[cfg(feature = "wml-tables")]
7078 #[serde(rename = "@w:colFirst")]
7079 #[serde(default, skip_serializing_if = "Option::is_none")]
7080 pub col_first: Option<STDecimalNumber>,
7081 #[cfg(feature = "wml-tables")]
7082 #[serde(rename = "@w:colLast")]
7083 #[serde(default, skip_serializing_if = "Option::is_none")]
7084 pub col_last: Option<STDecimalNumber>,
7085 #[cfg(feature = "extra-attrs")]
7087 #[serde(skip)]
7088 #[cfg(feature = "extra-attrs")]
7089 #[serde(default)]
7090 #[cfg(feature = "extra-attrs")]
7091 pub extra_attrs: std::collections::HashMap<String, String>,
7092}
7093
7094#[derive(Debug, Clone, Serialize, Deserialize)]
7095pub struct Bookmark {
7096 #[serde(rename = "@w:id")]
7097 pub id: STDecimalNumber,
7098 #[cfg(feature = "wml-settings")]
7099 #[serde(rename = "@w:displacedByCustomXml")]
7100 #[serde(default, skip_serializing_if = "Option::is_none")]
7101 pub displaced_by_custom_xml: Option<STDisplacedByCustomXml>,
7102 #[cfg(feature = "wml-tables")]
7103 #[serde(rename = "@w:colFirst")]
7104 #[serde(default, skip_serializing_if = "Option::is_none")]
7105 pub col_first: Option<STDecimalNumber>,
7106 #[cfg(feature = "wml-tables")]
7107 #[serde(rename = "@w:colLast")]
7108 #[serde(default, skip_serializing_if = "Option::is_none")]
7109 pub col_last: Option<STDecimalNumber>,
7110 #[serde(rename = "@w:name")]
7111 pub name: STString,
7112 #[cfg(feature = "extra-attrs")]
7114 #[serde(skip)]
7115 #[cfg(feature = "extra-attrs")]
7116 #[serde(default)]
7117 #[cfg(feature = "extra-attrs")]
7118 pub extra_attrs: std::collections::HashMap<String, String>,
7119}
7120
7121#[derive(Debug, Clone, Serialize, Deserialize)]
7122pub struct CTMoveBookmark {
7123 #[serde(rename = "@w:id")]
7124 pub id: STDecimalNumber,
7125 #[serde(rename = "@w:displacedByCustomXml")]
7126 #[serde(default, skip_serializing_if = "Option::is_none")]
7127 pub displaced_by_custom_xml: Option<STDisplacedByCustomXml>,
7128 #[serde(rename = "@w:colFirst")]
7129 #[serde(default, skip_serializing_if = "Option::is_none")]
7130 pub col_first: Option<STDecimalNumber>,
7131 #[serde(rename = "@w:colLast")]
7132 #[serde(default, skip_serializing_if = "Option::is_none")]
7133 pub col_last: Option<STDecimalNumber>,
7134 #[serde(rename = "@w:name")]
7135 pub name: STString,
7136 #[cfg(feature = "wml-track-changes")]
7137 #[serde(rename = "@w:author")]
7138 pub author: STString,
7139 #[cfg(feature = "wml-track-changes")]
7140 #[serde(rename = "@w:date")]
7141 pub date: STDateTime,
7142 #[cfg(feature = "extra-attrs")]
7144 #[serde(skip)]
7145 #[cfg(feature = "extra-attrs")]
7146 #[serde(default)]
7147 #[cfg(feature = "extra-attrs")]
7148 pub extra_attrs: std::collections::HashMap<String, String>,
7149}
7150
7151#[derive(Debug, Clone, Serialize, Deserialize)]
7152pub struct Comment {
7153 #[serde(rename = "@w:id")]
7154 pub id: STDecimalNumber,
7155 #[serde(rename = "@w:author")]
7156 pub author: STString,
7157 #[cfg(feature = "wml-comments")]
7158 #[serde(rename = "@w:date")]
7159 #[serde(default, skip_serializing_if = "Option::is_none")]
7160 pub date: Option<STDateTime>,
7161 #[serde(skip)]
7162 #[serde(default)]
7163 pub block_content: Vec<BlockContent>,
7164 #[cfg(feature = "wml-comments")]
7165 #[serde(rename = "@w:initials")]
7166 #[serde(default, skip_serializing_if = "Option::is_none")]
7167 pub initials: Option<STString>,
7168 #[cfg(feature = "extra-attrs")]
7170 #[serde(skip)]
7171 #[cfg(feature = "extra-attrs")]
7172 #[serde(default)]
7173 #[cfg(feature = "extra-attrs")]
7174 pub extra_attrs: std::collections::HashMap<String, String>,
7175 #[cfg(feature = "extra-children")]
7177 #[serde(skip)]
7178 #[cfg(feature = "extra-children")]
7179 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7180}
7181
7182#[derive(Debug, Clone, Serialize, Deserialize)]
7183pub struct CTTrackChangeNumbering {
7184 #[serde(rename = "@w:id")]
7185 pub id: STDecimalNumber,
7186 #[serde(rename = "@w:author")]
7187 pub author: STString,
7188 #[serde(rename = "@w:date")]
7189 #[serde(default, skip_serializing_if = "Option::is_none")]
7190 pub date: Option<STDateTime>,
7191 #[cfg(feature = "wml-track-changes")]
7192 #[serde(rename = "@w:original")]
7193 #[serde(default, skip_serializing_if = "Option::is_none")]
7194 pub original: Option<STString>,
7195 #[cfg(feature = "extra-attrs")]
7197 #[serde(skip)]
7198 #[cfg(feature = "extra-attrs")]
7199 #[serde(default)]
7200 #[cfg(feature = "extra-attrs")]
7201 pub extra_attrs: std::collections::HashMap<String, String>,
7202}
7203
7204#[derive(Debug, Clone, Serialize, Deserialize)]
7205pub struct CTTblPrExChange {
7206 #[serde(rename = "@w:id")]
7207 pub id: STDecimalNumber,
7208 #[serde(rename = "@w:author")]
7209 pub author: STString,
7210 #[serde(rename = "@w:date")]
7211 #[serde(default, skip_serializing_if = "Option::is_none")]
7212 pub date: Option<STDateTime>,
7213 #[cfg(feature = "wml-track-changes")]
7214 #[serde(rename = "tblPrEx")]
7215 pub tbl_pr_ex: Box<CTTblPrExBase>,
7216 #[cfg(feature = "extra-attrs")]
7218 #[serde(skip)]
7219 #[cfg(feature = "extra-attrs")]
7220 #[serde(default)]
7221 #[cfg(feature = "extra-attrs")]
7222 pub extra_attrs: std::collections::HashMap<String, String>,
7223 #[cfg(feature = "extra-children")]
7225 #[serde(skip)]
7226 #[cfg(feature = "extra-children")]
7227 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7228}
7229
7230#[derive(Debug, Clone, Serialize, Deserialize)]
7231pub struct CTTcPrChange {
7232 #[serde(rename = "@w:id")]
7233 pub id: STDecimalNumber,
7234 #[serde(rename = "@w:author")]
7235 pub author: STString,
7236 #[serde(rename = "@w:date")]
7237 #[serde(default, skip_serializing_if = "Option::is_none")]
7238 pub date: Option<STDateTime>,
7239 #[cfg(feature = "wml-track-changes")]
7240 #[serde(rename = "tcPr")]
7241 pub cell_properties: Box<CTTcPrInner>,
7242 #[cfg(feature = "extra-attrs")]
7244 #[serde(skip)]
7245 #[cfg(feature = "extra-attrs")]
7246 #[serde(default)]
7247 #[cfg(feature = "extra-attrs")]
7248 pub extra_attrs: std::collections::HashMap<String, String>,
7249 #[cfg(feature = "extra-children")]
7251 #[serde(skip)]
7252 #[cfg(feature = "extra-children")]
7253 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7254}
7255
7256#[derive(Debug, Clone, Serialize, Deserialize)]
7257pub struct CTTrPrChange {
7258 #[serde(rename = "@w:id")]
7259 pub id: STDecimalNumber,
7260 #[serde(rename = "@w:author")]
7261 pub author: STString,
7262 #[serde(rename = "@w:date")]
7263 #[serde(default, skip_serializing_if = "Option::is_none")]
7264 pub date: Option<STDateTime>,
7265 #[cfg(feature = "wml-track-changes")]
7266 #[serde(rename = "trPr")]
7267 pub row_properties: Box<CTTrPrBase>,
7268 #[cfg(feature = "extra-attrs")]
7270 #[serde(skip)]
7271 #[cfg(feature = "extra-attrs")]
7272 #[serde(default)]
7273 #[cfg(feature = "extra-attrs")]
7274 pub extra_attrs: std::collections::HashMap<String, String>,
7275 #[cfg(feature = "extra-children")]
7277 #[serde(skip)]
7278 #[cfg(feature = "extra-children")]
7279 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7280}
7281
7282#[derive(Debug, Clone, Serialize, Deserialize)]
7283pub struct CTTblGridChange {
7284 #[serde(rename = "@w:id")]
7285 pub id: STDecimalNumber,
7286 #[cfg(feature = "wml-track-changes")]
7287 #[serde(rename = "tblGrid")]
7288 pub tbl_grid: Box<CTTblGridBase>,
7289 #[cfg(feature = "extra-attrs")]
7291 #[serde(skip)]
7292 #[cfg(feature = "extra-attrs")]
7293 #[serde(default)]
7294 #[cfg(feature = "extra-attrs")]
7295 pub extra_attrs: std::collections::HashMap<String, String>,
7296 #[cfg(feature = "extra-children")]
7298 #[serde(skip)]
7299 #[cfg(feature = "extra-children")]
7300 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7301}
7302
7303#[derive(Debug, Clone, Serialize, Deserialize)]
7304pub struct CTTblPrChange {
7305 #[serde(rename = "@w:id")]
7306 pub id: STDecimalNumber,
7307 #[serde(rename = "@w:author")]
7308 pub author: STString,
7309 #[serde(rename = "@w:date")]
7310 #[serde(default, skip_serializing_if = "Option::is_none")]
7311 pub date: Option<STDateTime>,
7312 #[cfg(feature = "wml-track-changes")]
7313 #[serde(rename = "tblPr")]
7314 pub table_properties: Box<CTTblPrBase>,
7315 #[cfg(feature = "extra-attrs")]
7317 #[serde(skip)]
7318 #[cfg(feature = "extra-attrs")]
7319 #[serde(default)]
7320 #[cfg(feature = "extra-attrs")]
7321 pub extra_attrs: std::collections::HashMap<String, String>,
7322 #[cfg(feature = "extra-children")]
7324 #[serde(skip)]
7325 #[cfg(feature = "extra-children")]
7326 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7327}
7328
7329#[derive(Debug, Clone, Serialize, Deserialize)]
7330pub struct CTSectPrChange {
7331 #[serde(rename = "@w:id")]
7332 pub id: STDecimalNumber,
7333 #[serde(rename = "@w:author")]
7334 pub author: STString,
7335 #[serde(rename = "@w:date")]
7336 #[serde(default, skip_serializing_if = "Option::is_none")]
7337 pub date: Option<STDateTime>,
7338 #[cfg(feature = "wml-track-changes")]
7339 #[serde(rename = "sectPr")]
7340 #[serde(default, skip_serializing_if = "Option::is_none")]
7341 pub sect_pr: Option<Box<CTSectPrBase>>,
7342 #[cfg(feature = "extra-attrs")]
7344 #[serde(skip)]
7345 #[cfg(feature = "extra-attrs")]
7346 #[serde(default)]
7347 #[cfg(feature = "extra-attrs")]
7348 pub extra_attrs: std::collections::HashMap<String, String>,
7349 #[cfg(feature = "extra-children")]
7351 #[serde(skip)]
7352 #[cfg(feature = "extra-children")]
7353 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7354}
7355
7356#[derive(Debug, Clone, Serialize, Deserialize)]
7357pub struct CTPPrChange {
7358 #[serde(rename = "@w:id")]
7359 pub id: STDecimalNumber,
7360 #[serde(rename = "@w:author")]
7361 pub author: STString,
7362 #[serde(rename = "@w:date")]
7363 #[serde(default, skip_serializing_if = "Option::is_none")]
7364 pub date: Option<STDateTime>,
7365 #[cfg(feature = "wml-track-changes")]
7366 #[serde(rename = "pPr")]
7367 pub p_pr: Box<CTPPrBase>,
7368 #[cfg(feature = "extra-attrs")]
7370 #[serde(skip)]
7371 #[cfg(feature = "extra-attrs")]
7372 #[serde(default)]
7373 #[cfg(feature = "extra-attrs")]
7374 pub extra_attrs: std::collections::HashMap<String, String>,
7375 #[cfg(feature = "extra-children")]
7377 #[serde(skip)]
7378 #[cfg(feature = "extra-children")]
7379 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7380}
7381
7382#[derive(Debug, Clone, Serialize, Deserialize)]
7383pub struct CTRPrChange {
7384 #[serde(rename = "@w:id")]
7385 pub id: STDecimalNumber,
7386 #[serde(rename = "@w:author")]
7387 pub author: STString,
7388 #[serde(rename = "@w:date")]
7389 #[serde(default, skip_serializing_if = "Option::is_none")]
7390 pub date: Option<STDateTime>,
7391 #[cfg(feature = "wml-track-changes")]
7392 #[serde(rename = "rPr")]
7393 pub r_pr: Box<CTRPrOriginal>,
7394 #[cfg(feature = "extra-attrs")]
7396 #[serde(skip)]
7397 #[cfg(feature = "extra-attrs")]
7398 #[serde(default)]
7399 #[cfg(feature = "extra-attrs")]
7400 pub extra_attrs: std::collections::HashMap<String, String>,
7401 #[cfg(feature = "extra-children")]
7403 #[serde(skip)]
7404 #[cfg(feature = "extra-children")]
7405 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7406}
7407
7408#[derive(Debug, Clone, Serialize, Deserialize)]
7409pub struct CTParaRPrChange {
7410 #[serde(rename = "@w:id")]
7411 pub id: STDecimalNumber,
7412 #[serde(rename = "@w:author")]
7413 pub author: STString,
7414 #[serde(rename = "@w:date")]
7415 #[serde(default, skip_serializing_if = "Option::is_none")]
7416 pub date: Option<STDateTime>,
7417 #[cfg(feature = "wml-track-changes")]
7418 #[serde(rename = "rPr")]
7419 pub r_pr: Box<CTParaRPrOriginal>,
7420 #[cfg(feature = "extra-attrs")]
7422 #[serde(skip)]
7423 #[cfg(feature = "extra-attrs")]
7424 #[serde(default)]
7425 #[cfg(feature = "extra-attrs")]
7426 pub extra_attrs: std::collections::HashMap<String, String>,
7427 #[cfg(feature = "extra-children")]
7429 #[serde(skip)]
7430 #[cfg(feature = "extra-children")]
7431 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7432}
7433
7434#[derive(Debug, Clone, Serialize, Deserialize)]
7435pub struct CTRunTrackChange {
7436 #[cfg(feature = "wml-track-changes")]
7437 #[serde(rename = "@w:id")]
7438 pub id: STDecimalNumber,
7439 #[cfg(feature = "wml-track-changes")]
7440 #[serde(rename = "@w:author")]
7441 pub author: STString,
7442 #[cfg(feature = "wml-track-changes")]
7443 #[serde(rename = "@w:date")]
7444 #[serde(default, skip_serializing_if = "Option::is_none")]
7445 pub date: Option<STDateTime>,
7446 #[cfg(feature = "wml-track-changes")]
7447 #[serde(skip)]
7448 #[serde(default)]
7449 pub run_content: Vec<RunContentChoice>,
7450 #[cfg(feature = "extra-attrs")]
7452 #[serde(skip)]
7453 #[cfg(feature = "extra-attrs")]
7454 #[serde(default)]
7455 #[cfg(feature = "extra-attrs")]
7456 pub extra_attrs: std::collections::HashMap<String, String>,
7457 #[cfg(feature = "extra-children")]
7459 #[serde(skip)]
7460 #[cfg(feature = "extra-children")]
7461 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7462}
7463
7464#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7465pub struct MathContent {
7466 #[serde(skip)]
7467 #[serde(default)]
7468 pub p_content_base: Vec<ParagraphContentBase>,
7469 #[serde(skip)]
7470 #[serde(default)]
7471 pub content_run_content_base: Vec<RunContentBase>,
7472 #[cfg(feature = "extra-children")]
7474 #[serde(skip)]
7475 #[cfg(feature = "extra-children")]
7476 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7477}
7478
7479#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7480pub struct NumberingProperties {
7481 #[cfg(feature = "wml-numbering")]
7482 #[serde(rename = "ilvl")]
7483 #[serde(default, skip_serializing_if = "Option::is_none")]
7484 pub ilvl: Option<Box<CTDecimalNumber>>,
7485 #[cfg(feature = "wml-numbering")]
7486 #[serde(rename = "numId")]
7487 #[serde(default, skip_serializing_if = "Option::is_none")]
7488 pub num_id: Option<Box<CTDecimalNumber>>,
7489 #[cfg(feature = "wml-track-changes")]
7490 #[serde(rename = "numberingChange")]
7491 #[serde(default, skip_serializing_if = "Option::is_none")]
7492 pub numbering_change: Option<Box<CTTrackChangeNumbering>>,
7493 #[cfg(feature = "wml-track-changes")]
7494 #[serde(rename = "ins")]
7495 #[serde(default, skip_serializing_if = "Option::is_none")]
7496 pub ins: Option<Box<CTTrackChange>>,
7497 #[cfg(feature = "extra-children")]
7499 #[serde(skip)]
7500 #[cfg(feature = "extra-children")]
7501 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7502}
7503
7504#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7505pub struct CTPBdr {
7506 #[cfg(feature = "wml-styling")]
7507 #[serde(rename = "top")]
7508 #[serde(default, skip_serializing_if = "Option::is_none")]
7509 pub top: Option<Box<CTBorder>>,
7510 #[cfg(feature = "wml-styling")]
7511 #[serde(rename = "left")]
7512 #[serde(default, skip_serializing_if = "Option::is_none")]
7513 pub left: Option<Box<CTBorder>>,
7514 #[cfg(feature = "wml-styling")]
7515 #[serde(rename = "bottom")]
7516 #[serde(default, skip_serializing_if = "Option::is_none")]
7517 pub bottom: Option<Box<CTBorder>>,
7518 #[cfg(feature = "wml-styling")]
7519 #[serde(rename = "right")]
7520 #[serde(default, skip_serializing_if = "Option::is_none")]
7521 pub right: Option<Box<CTBorder>>,
7522 #[cfg(feature = "wml-styling")]
7523 #[serde(rename = "between")]
7524 #[serde(default, skip_serializing_if = "Option::is_none")]
7525 pub between: Option<Box<CTBorder>>,
7526 #[cfg(feature = "wml-styling")]
7527 #[serde(rename = "bar")]
7528 #[serde(default, skip_serializing_if = "Option::is_none")]
7529 pub bar: Option<Box<CTBorder>>,
7530 #[cfg(feature = "extra-children")]
7532 #[serde(skip)]
7533 #[cfg(feature = "extra-children")]
7534 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7535}
7536
7537#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7538pub struct CTTabs {
7539 #[serde(rename = "tab")]
7540 #[serde(default, skip_serializing_if = "Vec::is_empty")]
7541 pub tab: Vec<CTTabStop>,
7542 #[cfg(feature = "extra-children")]
7544 #[serde(skip)]
7545 #[cfg(feature = "extra-children")]
7546 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7547}
7548
7549#[derive(Debug, Clone, Serialize, Deserialize)]
7550pub struct CTTextboxTightWrap {
7551 #[serde(rename = "@w:val")]
7552 pub value: STTextboxTightWrap,
7553 #[cfg(feature = "extra-attrs")]
7555 #[serde(skip)]
7556 #[cfg(feature = "extra-attrs")]
7557 #[serde(default)]
7558 #[cfg(feature = "extra-attrs")]
7559 pub extra_attrs: std::collections::HashMap<String, String>,
7560}
7561
7562#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7563pub struct ParagraphProperties {
7564 #[serde(rename = "pStyle")]
7565 #[serde(default, skip_serializing_if = "Option::is_none")]
7566 pub paragraph_style: Option<Box<CTString>>,
7567 #[cfg(feature = "wml-layout")]
7568 #[serde(rename = "keepNext")]
7569 #[serde(default, skip_serializing_if = "Option::is_none")]
7570 pub keep_next: Option<Box<OnOffElement>>,
7571 #[cfg(feature = "wml-layout")]
7572 #[serde(rename = "keepLines")]
7573 #[serde(default, skip_serializing_if = "Option::is_none")]
7574 pub keep_lines: Option<Box<OnOffElement>>,
7575 #[cfg(feature = "wml-layout")]
7576 #[serde(rename = "pageBreakBefore")]
7577 #[serde(default, skip_serializing_if = "Option::is_none")]
7578 pub page_break_before: Option<Box<OnOffElement>>,
7579 #[cfg(feature = "wml-layout")]
7580 #[serde(rename = "framePr")]
7581 #[serde(default, skip_serializing_if = "Option::is_none")]
7582 pub frame_pr: Option<Box<CTFramePr>>,
7583 #[cfg(feature = "wml-layout")]
7584 #[serde(rename = "widowControl")]
7585 #[serde(default, skip_serializing_if = "Option::is_none")]
7586 pub widow_control: Option<Box<OnOffElement>>,
7587 #[cfg(feature = "wml-numbering")]
7588 #[serde(rename = "numPr")]
7589 #[serde(default, skip_serializing_if = "Option::is_none")]
7590 pub num_pr: Option<Box<NumberingProperties>>,
7591 #[cfg(feature = "wml-layout")]
7592 #[serde(rename = "suppressLineNumbers")]
7593 #[serde(default, skip_serializing_if = "Option::is_none")]
7594 pub suppress_line_numbers: Option<Box<OnOffElement>>,
7595 #[cfg(feature = "wml-styling")]
7596 #[serde(rename = "pBdr")]
7597 #[serde(default, skip_serializing_if = "Option::is_none")]
7598 pub paragraph_border: Option<Box<CTPBdr>>,
7599 #[cfg(feature = "wml-styling")]
7600 #[serde(rename = "shd")]
7601 #[serde(default, skip_serializing_if = "Option::is_none")]
7602 pub shading: Option<Box<CTShd>>,
7603 #[cfg(feature = "wml-styling")]
7604 #[serde(rename = "tabs")]
7605 #[serde(default, skip_serializing_if = "Option::is_none")]
7606 pub tabs: Option<Box<CTTabs>>,
7607 #[cfg(feature = "wml-styling")]
7608 #[serde(rename = "suppressAutoHyphens")]
7609 #[serde(default, skip_serializing_if = "Option::is_none")]
7610 pub suppress_auto_hyphens: Option<Box<OnOffElement>>,
7611 #[cfg(feature = "wml-styling")]
7612 #[serde(rename = "kinsoku")]
7613 #[serde(default, skip_serializing_if = "Option::is_none")]
7614 pub kinsoku: Option<Box<OnOffElement>>,
7615 #[cfg(feature = "wml-styling")]
7616 #[serde(rename = "wordWrap")]
7617 #[serde(default, skip_serializing_if = "Option::is_none")]
7618 pub word_wrap: Option<Box<OnOffElement>>,
7619 #[cfg(feature = "wml-styling")]
7620 #[serde(rename = "overflowPunct")]
7621 #[serde(default, skip_serializing_if = "Option::is_none")]
7622 pub overflow_punct: Option<Box<OnOffElement>>,
7623 #[cfg(feature = "wml-styling")]
7624 #[serde(rename = "topLinePunct")]
7625 #[serde(default, skip_serializing_if = "Option::is_none")]
7626 pub top_line_punct: Option<Box<OnOffElement>>,
7627 #[cfg(feature = "wml-styling")]
7628 #[serde(rename = "autoSpaceDE")]
7629 #[serde(default, skip_serializing_if = "Option::is_none")]
7630 pub auto_space_d_e: Option<Box<OnOffElement>>,
7631 #[cfg(feature = "wml-styling")]
7632 #[serde(rename = "autoSpaceDN")]
7633 #[serde(default, skip_serializing_if = "Option::is_none")]
7634 pub auto_space_d_n: Option<Box<OnOffElement>>,
7635 #[cfg(feature = "wml-styling")]
7636 #[serde(rename = "bidi")]
7637 #[serde(default, skip_serializing_if = "Option::is_none")]
7638 pub bidi: Option<Box<OnOffElement>>,
7639 #[cfg(feature = "wml-styling")]
7640 #[serde(rename = "adjustRightInd")]
7641 #[serde(default, skip_serializing_if = "Option::is_none")]
7642 pub adjust_right_ind: Option<Box<OnOffElement>>,
7643 #[cfg(feature = "wml-layout")]
7644 #[serde(rename = "snapToGrid")]
7645 #[serde(default, skip_serializing_if = "Option::is_none")]
7646 pub snap_to_grid: Option<Box<OnOffElement>>,
7647 #[cfg(feature = "wml-styling")]
7648 #[serde(rename = "spacing")]
7649 #[serde(default, skip_serializing_if = "Option::is_none")]
7650 pub spacing: Option<Box<CTSpacing>>,
7651 #[cfg(feature = "wml-styling")]
7652 #[serde(rename = "ind")]
7653 #[serde(default, skip_serializing_if = "Option::is_none")]
7654 pub indentation: Option<Box<CTInd>>,
7655 #[cfg(feature = "wml-styling")]
7656 #[serde(rename = "contextualSpacing")]
7657 #[serde(default, skip_serializing_if = "Option::is_none")]
7658 pub contextual_spacing: Option<Box<OnOffElement>>,
7659 #[cfg(feature = "wml-styling")]
7660 #[serde(rename = "mirrorIndents")]
7661 #[serde(default, skip_serializing_if = "Option::is_none")]
7662 pub mirror_indents: Option<Box<OnOffElement>>,
7663 #[cfg(feature = "wml-layout")]
7664 #[serde(rename = "suppressOverlap")]
7665 #[serde(default, skip_serializing_if = "Option::is_none")]
7666 pub suppress_overlap: Option<Box<OnOffElement>>,
7667 #[cfg(feature = "wml-styling")]
7668 #[serde(rename = "jc")]
7669 #[serde(default, skip_serializing_if = "Option::is_none")]
7670 pub justification: Option<Box<CTJc>>,
7671 #[cfg(feature = "wml-styling")]
7672 #[serde(rename = "textDirection")]
7673 #[serde(default, skip_serializing_if = "Option::is_none")]
7674 pub text_direction: Option<Box<CTTextDirection>>,
7675 #[cfg(feature = "wml-styling")]
7676 #[serde(rename = "textAlignment")]
7677 #[serde(default, skip_serializing_if = "Option::is_none")]
7678 pub text_alignment: Option<Box<CTTextAlignment>>,
7679 #[cfg(feature = "wml-styling")]
7680 #[serde(rename = "textboxTightWrap")]
7681 #[serde(default, skip_serializing_if = "Option::is_none")]
7682 pub textbox_tight_wrap: Option<Box<CTTextboxTightWrap>>,
7683 #[cfg(feature = "wml-styling")]
7684 #[serde(rename = "outlineLvl")]
7685 #[serde(default, skip_serializing_if = "Option::is_none")]
7686 pub outline_lvl: Option<Box<CTDecimalNumber>>,
7687 #[cfg(feature = "wml-styling")]
7688 #[serde(rename = "divId")]
7689 #[serde(default, skip_serializing_if = "Option::is_none")]
7690 pub div_id: Option<Box<CTDecimalNumber>>,
7691 #[cfg(feature = "wml-styling")]
7692 #[serde(rename = "cnfStyle")]
7693 #[serde(default, skip_serializing_if = "Option::is_none")]
7694 pub cnf_style: Option<Box<CTCnf>>,
7695 #[cfg(feature = "wml-styling")]
7696 #[serde(rename = "rPr")]
7697 #[serde(default, skip_serializing_if = "Option::is_none")]
7698 pub r_pr: Option<Box<CTParaRPr>>,
7699 #[cfg(feature = "wml-layout")]
7700 #[serde(rename = "sectPr")]
7701 #[serde(default, skip_serializing_if = "Option::is_none")]
7702 pub sect_pr: Option<Box<SectionProperties>>,
7703 #[cfg(feature = "wml-track-changes")]
7704 #[serde(rename = "pPrChange")]
7705 #[serde(default, skip_serializing_if = "Option::is_none")]
7706 pub p_pr_change: Option<Box<CTPPrChange>>,
7707 #[cfg(feature = "extra-children")]
7709 #[serde(skip)]
7710 #[cfg(feature = "extra-children")]
7711 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7712}
7713
7714#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7715pub struct CTPPrBase {
7716 #[serde(rename = "pStyle")]
7717 #[serde(default, skip_serializing_if = "Option::is_none")]
7718 pub paragraph_style: Option<Box<CTString>>,
7719 #[cfg(feature = "wml-layout")]
7720 #[serde(rename = "keepNext")]
7721 #[serde(default, skip_serializing_if = "Option::is_none")]
7722 pub keep_next: Option<Box<OnOffElement>>,
7723 #[cfg(feature = "wml-layout")]
7724 #[serde(rename = "keepLines")]
7725 #[serde(default, skip_serializing_if = "Option::is_none")]
7726 pub keep_lines: Option<Box<OnOffElement>>,
7727 #[cfg(feature = "wml-layout")]
7728 #[serde(rename = "pageBreakBefore")]
7729 #[serde(default, skip_serializing_if = "Option::is_none")]
7730 pub page_break_before: Option<Box<OnOffElement>>,
7731 #[cfg(feature = "wml-layout")]
7732 #[serde(rename = "framePr")]
7733 #[serde(default, skip_serializing_if = "Option::is_none")]
7734 pub frame_pr: Option<Box<CTFramePr>>,
7735 #[cfg(feature = "wml-layout")]
7736 #[serde(rename = "widowControl")]
7737 #[serde(default, skip_serializing_if = "Option::is_none")]
7738 pub widow_control: Option<Box<OnOffElement>>,
7739 #[cfg(feature = "wml-numbering")]
7740 #[serde(rename = "numPr")]
7741 #[serde(default, skip_serializing_if = "Option::is_none")]
7742 pub num_pr: Option<Box<NumberingProperties>>,
7743 #[cfg(feature = "wml-layout")]
7744 #[serde(rename = "suppressLineNumbers")]
7745 #[serde(default, skip_serializing_if = "Option::is_none")]
7746 pub suppress_line_numbers: Option<Box<OnOffElement>>,
7747 #[cfg(feature = "wml-styling")]
7748 #[serde(rename = "pBdr")]
7749 #[serde(default, skip_serializing_if = "Option::is_none")]
7750 pub paragraph_border: Option<Box<CTPBdr>>,
7751 #[cfg(feature = "wml-styling")]
7752 #[serde(rename = "shd")]
7753 #[serde(default, skip_serializing_if = "Option::is_none")]
7754 pub shading: Option<Box<CTShd>>,
7755 #[cfg(feature = "wml-styling")]
7756 #[serde(rename = "tabs")]
7757 #[serde(default, skip_serializing_if = "Option::is_none")]
7758 pub tabs: Option<Box<CTTabs>>,
7759 #[cfg(feature = "wml-styling")]
7760 #[serde(rename = "suppressAutoHyphens")]
7761 #[serde(default, skip_serializing_if = "Option::is_none")]
7762 pub suppress_auto_hyphens: Option<Box<OnOffElement>>,
7763 #[cfg(feature = "wml-styling")]
7764 #[serde(rename = "kinsoku")]
7765 #[serde(default, skip_serializing_if = "Option::is_none")]
7766 pub kinsoku: Option<Box<OnOffElement>>,
7767 #[cfg(feature = "wml-styling")]
7768 #[serde(rename = "wordWrap")]
7769 #[serde(default, skip_serializing_if = "Option::is_none")]
7770 pub word_wrap: Option<Box<OnOffElement>>,
7771 #[cfg(feature = "wml-styling")]
7772 #[serde(rename = "overflowPunct")]
7773 #[serde(default, skip_serializing_if = "Option::is_none")]
7774 pub overflow_punct: Option<Box<OnOffElement>>,
7775 #[cfg(feature = "wml-styling")]
7776 #[serde(rename = "topLinePunct")]
7777 #[serde(default, skip_serializing_if = "Option::is_none")]
7778 pub top_line_punct: Option<Box<OnOffElement>>,
7779 #[cfg(feature = "wml-styling")]
7780 #[serde(rename = "autoSpaceDE")]
7781 #[serde(default, skip_serializing_if = "Option::is_none")]
7782 pub auto_space_d_e: Option<Box<OnOffElement>>,
7783 #[cfg(feature = "wml-styling")]
7784 #[serde(rename = "autoSpaceDN")]
7785 #[serde(default, skip_serializing_if = "Option::is_none")]
7786 pub auto_space_d_n: Option<Box<OnOffElement>>,
7787 #[cfg(feature = "wml-styling")]
7788 #[serde(rename = "bidi")]
7789 #[serde(default, skip_serializing_if = "Option::is_none")]
7790 pub bidi: Option<Box<OnOffElement>>,
7791 #[cfg(feature = "wml-styling")]
7792 #[serde(rename = "adjustRightInd")]
7793 #[serde(default, skip_serializing_if = "Option::is_none")]
7794 pub adjust_right_ind: Option<Box<OnOffElement>>,
7795 #[cfg(feature = "wml-layout")]
7796 #[serde(rename = "snapToGrid")]
7797 #[serde(default, skip_serializing_if = "Option::is_none")]
7798 pub snap_to_grid: Option<Box<OnOffElement>>,
7799 #[cfg(feature = "wml-styling")]
7800 #[serde(rename = "spacing")]
7801 #[serde(default, skip_serializing_if = "Option::is_none")]
7802 pub spacing: Option<Box<CTSpacing>>,
7803 #[cfg(feature = "wml-styling")]
7804 #[serde(rename = "ind")]
7805 #[serde(default, skip_serializing_if = "Option::is_none")]
7806 pub indentation: Option<Box<CTInd>>,
7807 #[cfg(feature = "wml-styling")]
7808 #[serde(rename = "contextualSpacing")]
7809 #[serde(default, skip_serializing_if = "Option::is_none")]
7810 pub contextual_spacing: Option<Box<OnOffElement>>,
7811 #[cfg(feature = "wml-styling")]
7812 #[serde(rename = "mirrorIndents")]
7813 #[serde(default, skip_serializing_if = "Option::is_none")]
7814 pub mirror_indents: Option<Box<OnOffElement>>,
7815 #[cfg(feature = "wml-layout")]
7816 #[serde(rename = "suppressOverlap")]
7817 #[serde(default, skip_serializing_if = "Option::is_none")]
7818 pub suppress_overlap: Option<Box<OnOffElement>>,
7819 #[cfg(feature = "wml-styling")]
7820 #[serde(rename = "jc")]
7821 #[serde(default, skip_serializing_if = "Option::is_none")]
7822 pub justification: Option<Box<CTJc>>,
7823 #[cfg(feature = "wml-styling")]
7824 #[serde(rename = "textDirection")]
7825 #[serde(default, skip_serializing_if = "Option::is_none")]
7826 pub text_direction: Option<Box<CTTextDirection>>,
7827 #[cfg(feature = "wml-styling")]
7828 #[serde(rename = "textAlignment")]
7829 #[serde(default, skip_serializing_if = "Option::is_none")]
7830 pub text_alignment: Option<Box<CTTextAlignment>>,
7831 #[cfg(feature = "wml-styling")]
7832 #[serde(rename = "textboxTightWrap")]
7833 #[serde(default, skip_serializing_if = "Option::is_none")]
7834 pub textbox_tight_wrap: Option<Box<CTTextboxTightWrap>>,
7835 #[cfg(feature = "wml-styling")]
7836 #[serde(rename = "outlineLvl")]
7837 #[serde(default, skip_serializing_if = "Option::is_none")]
7838 pub outline_lvl: Option<Box<CTDecimalNumber>>,
7839 #[cfg(feature = "wml-styling")]
7840 #[serde(rename = "divId")]
7841 #[serde(default, skip_serializing_if = "Option::is_none")]
7842 pub div_id: Option<Box<CTDecimalNumber>>,
7843 #[cfg(feature = "wml-styling")]
7844 #[serde(rename = "cnfStyle")]
7845 #[serde(default, skip_serializing_if = "Option::is_none")]
7846 pub cnf_style: Option<Box<CTCnf>>,
7847 #[cfg(feature = "extra-children")]
7849 #[serde(skip)]
7850 #[cfg(feature = "extra-children")]
7851 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7852}
7853
7854#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7855pub struct CTPPrGeneral {
7856 #[serde(rename = "pStyle")]
7857 #[serde(default, skip_serializing_if = "Option::is_none")]
7858 pub paragraph_style: Option<Box<CTString>>,
7859 #[serde(rename = "keepNext")]
7860 #[serde(default, skip_serializing_if = "Option::is_none")]
7861 pub keep_next: Option<Box<OnOffElement>>,
7862 #[serde(rename = "keepLines")]
7863 #[serde(default, skip_serializing_if = "Option::is_none")]
7864 pub keep_lines: Option<Box<OnOffElement>>,
7865 #[serde(rename = "pageBreakBefore")]
7866 #[serde(default, skip_serializing_if = "Option::is_none")]
7867 pub page_break_before: Option<Box<OnOffElement>>,
7868 #[serde(rename = "framePr")]
7869 #[serde(default, skip_serializing_if = "Option::is_none")]
7870 pub frame_pr: Option<Box<CTFramePr>>,
7871 #[serde(rename = "widowControl")]
7872 #[serde(default, skip_serializing_if = "Option::is_none")]
7873 pub widow_control: Option<Box<OnOffElement>>,
7874 #[serde(rename = "numPr")]
7875 #[serde(default, skip_serializing_if = "Option::is_none")]
7876 pub num_pr: Option<Box<NumberingProperties>>,
7877 #[serde(rename = "suppressLineNumbers")]
7878 #[serde(default, skip_serializing_if = "Option::is_none")]
7879 pub suppress_line_numbers: Option<Box<OnOffElement>>,
7880 #[serde(rename = "pBdr")]
7881 #[serde(default, skip_serializing_if = "Option::is_none")]
7882 pub paragraph_border: Option<Box<CTPBdr>>,
7883 #[serde(rename = "shd")]
7884 #[serde(default, skip_serializing_if = "Option::is_none")]
7885 pub shading: Option<Box<CTShd>>,
7886 #[serde(rename = "tabs")]
7887 #[serde(default, skip_serializing_if = "Option::is_none")]
7888 pub tabs: Option<Box<CTTabs>>,
7889 #[serde(rename = "suppressAutoHyphens")]
7890 #[serde(default, skip_serializing_if = "Option::is_none")]
7891 pub suppress_auto_hyphens: Option<Box<OnOffElement>>,
7892 #[serde(rename = "kinsoku")]
7893 #[serde(default, skip_serializing_if = "Option::is_none")]
7894 pub kinsoku: Option<Box<OnOffElement>>,
7895 #[serde(rename = "wordWrap")]
7896 #[serde(default, skip_serializing_if = "Option::is_none")]
7897 pub word_wrap: Option<Box<OnOffElement>>,
7898 #[serde(rename = "overflowPunct")]
7899 #[serde(default, skip_serializing_if = "Option::is_none")]
7900 pub overflow_punct: Option<Box<OnOffElement>>,
7901 #[serde(rename = "topLinePunct")]
7902 #[serde(default, skip_serializing_if = "Option::is_none")]
7903 pub top_line_punct: Option<Box<OnOffElement>>,
7904 #[serde(rename = "autoSpaceDE")]
7905 #[serde(default, skip_serializing_if = "Option::is_none")]
7906 pub auto_space_d_e: Option<Box<OnOffElement>>,
7907 #[serde(rename = "autoSpaceDN")]
7908 #[serde(default, skip_serializing_if = "Option::is_none")]
7909 pub auto_space_d_n: Option<Box<OnOffElement>>,
7910 #[serde(rename = "bidi")]
7911 #[serde(default, skip_serializing_if = "Option::is_none")]
7912 pub bidi: Option<Box<OnOffElement>>,
7913 #[serde(rename = "adjustRightInd")]
7914 #[serde(default, skip_serializing_if = "Option::is_none")]
7915 pub adjust_right_ind: Option<Box<OnOffElement>>,
7916 #[serde(rename = "snapToGrid")]
7917 #[serde(default, skip_serializing_if = "Option::is_none")]
7918 pub snap_to_grid: Option<Box<OnOffElement>>,
7919 #[serde(rename = "spacing")]
7920 #[serde(default, skip_serializing_if = "Option::is_none")]
7921 pub spacing: Option<Box<CTSpacing>>,
7922 #[serde(rename = "ind")]
7923 #[serde(default, skip_serializing_if = "Option::is_none")]
7924 pub indentation: Option<Box<CTInd>>,
7925 #[serde(rename = "contextualSpacing")]
7926 #[serde(default, skip_serializing_if = "Option::is_none")]
7927 pub contextual_spacing: Option<Box<OnOffElement>>,
7928 #[serde(rename = "mirrorIndents")]
7929 #[serde(default, skip_serializing_if = "Option::is_none")]
7930 pub mirror_indents: Option<Box<OnOffElement>>,
7931 #[serde(rename = "suppressOverlap")]
7932 #[serde(default, skip_serializing_if = "Option::is_none")]
7933 pub suppress_overlap: Option<Box<OnOffElement>>,
7934 #[serde(rename = "jc")]
7935 #[serde(default, skip_serializing_if = "Option::is_none")]
7936 pub justification: Option<Box<CTJc>>,
7937 #[serde(rename = "textDirection")]
7938 #[serde(default, skip_serializing_if = "Option::is_none")]
7939 pub text_direction: Option<Box<CTTextDirection>>,
7940 #[serde(rename = "textAlignment")]
7941 #[serde(default, skip_serializing_if = "Option::is_none")]
7942 pub text_alignment: Option<Box<CTTextAlignment>>,
7943 #[serde(rename = "textboxTightWrap")]
7944 #[serde(default, skip_serializing_if = "Option::is_none")]
7945 pub textbox_tight_wrap: Option<Box<CTTextboxTightWrap>>,
7946 #[serde(rename = "outlineLvl")]
7947 #[serde(default, skip_serializing_if = "Option::is_none")]
7948 pub outline_lvl: Option<Box<CTDecimalNumber>>,
7949 #[serde(rename = "divId")]
7950 #[serde(default, skip_serializing_if = "Option::is_none")]
7951 pub div_id: Option<Box<CTDecimalNumber>>,
7952 #[serde(rename = "cnfStyle")]
7953 #[serde(default, skip_serializing_if = "Option::is_none")]
7954 pub cnf_style: Option<Box<CTCnf>>,
7955 #[cfg(feature = "wml-track-changes")]
7956 #[serde(rename = "pPrChange")]
7957 #[serde(default, skip_serializing_if = "Option::is_none")]
7958 pub p_pr_change: Option<Box<CTPPrChange>>,
7959 #[cfg(feature = "extra-children")]
7961 #[serde(skip)]
7962 #[cfg(feature = "extra-children")]
7963 pub extra_children: Vec<ooxml_xml::PositionedNode>,
7964}
7965
7966#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7967pub struct CTControl {
7968 #[cfg(feature = "wml-drawings")]
7969 #[serde(rename = "@w:name")]
7970 #[serde(default, skip_serializing_if = "Option::is_none")]
7971 pub name: Option<STString>,
7972 #[cfg(feature = "wml-drawings")]
7973 #[serde(rename = "@w:shapeid")]
7974 #[serde(default, skip_serializing_if = "Option::is_none")]
7975 pub shapeid: Option<STString>,
7976 #[cfg(feature = "wml-drawings")]
7977 #[serde(rename = "@r:id")]
7978 #[serde(default, skip_serializing_if = "Option::is_none")]
7979 pub id: Option<STRelationshipId>,
7980 #[cfg(feature = "extra-attrs")]
7982 #[serde(skip)]
7983 #[cfg(feature = "extra-attrs")]
7984 #[serde(default)]
7985 #[cfg(feature = "extra-attrs")]
7986 pub extra_attrs: std::collections::HashMap<String, String>,
7987}
7988
7989#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7990pub struct CTBackground {
7991 #[cfg(feature = "wml-styling")]
7992 #[serde(rename = "@w:color")]
7993 #[serde(default, skip_serializing_if = "Option::is_none")]
7994 pub color: Option<STHexColor>,
7995 #[cfg(feature = "wml-styling")]
7996 #[serde(rename = "@w:themeColor")]
7997 #[serde(default, skip_serializing_if = "Option::is_none")]
7998 pub theme_color: Option<STThemeColor>,
7999 #[cfg(feature = "wml-styling")]
8000 #[serde(rename = "@w:themeTint")]
8001 #[serde(default, skip_serializing_if = "Option::is_none")]
8002 pub theme_tint: Option<STUcharHexNumber>,
8003 #[cfg(feature = "wml-styling")]
8004 #[serde(rename = "@w:themeShade")]
8005 #[serde(default, skip_serializing_if = "Option::is_none")]
8006 pub theme_shade: Option<STUcharHexNumber>,
8007 #[cfg(feature = "wml-drawings")]
8008 #[serde(rename = "drawing")]
8009 #[serde(default, skip_serializing_if = "Option::is_none")]
8010 pub drawing: Option<Box<CTDrawing>>,
8011 #[cfg(feature = "extra-attrs")]
8013 #[serde(skip)]
8014 #[cfg(feature = "extra-attrs")]
8015 #[serde(default)]
8016 #[cfg(feature = "extra-attrs")]
8017 pub extra_attrs: std::collections::HashMap<String, String>,
8018 #[cfg(feature = "extra-children")]
8020 #[serde(skip)]
8021 #[cfg(feature = "extra-children")]
8022 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8023}
8024
8025#[derive(Debug, Clone, Serialize, Deserialize)]
8026pub struct CTRel {
8027 #[serde(rename = "@r:id")]
8028 pub id: STRelationshipId,
8029 #[cfg(feature = "extra-attrs")]
8031 #[serde(skip)]
8032 #[cfg(feature = "extra-attrs")]
8033 #[serde(default)]
8034 #[cfg(feature = "extra-attrs")]
8035 pub extra_attrs: std::collections::HashMap<String, String>,
8036}
8037
8038#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8039pub struct CTObject {
8040 #[cfg(feature = "wml-drawings")]
8041 #[serde(rename = "@w:dxaOrig")]
8042 #[serde(default, skip_serializing_if = "Option::is_none")]
8043 pub dxa_orig: Option<STTwipsMeasure>,
8044 #[cfg(feature = "wml-drawings")]
8045 #[serde(rename = "@w:dyaOrig")]
8046 #[serde(default, skip_serializing_if = "Option::is_none")]
8047 pub dya_orig: Option<STTwipsMeasure>,
8048 #[cfg(feature = "wml-drawings")]
8049 #[serde(rename = "drawing")]
8050 #[serde(default, skip_serializing_if = "Option::is_none")]
8051 pub drawing: Option<Box<CTDrawing>>,
8052 #[cfg(feature = "wml-drawings")]
8053 #[serde(rename = "control")]
8054 #[serde(default, skip_serializing_if = "Option::is_none")]
8055 pub control: Option<Box<CTControl>>,
8056 #[cfg(feature = "wml-drawings")]
8057 #[serde(rename = "objectLink")]
8058 #[serde(default, skip_serializing_if = "Option::is_none")]
8059 pub object_link: Option<Box<CTObjectLink>>,
8060 #[cfg(feature = "wml-drawings")]
8061 #[serde(rename = "objectEmbed")]
8062 #[serde(default, skip_serializing_if = "Option::is_none")]
8063 pub object_embed: Option<Box<CTObjectEmbed>>,
8064 #[cfg(feature = "wml-drawings")]
8065 #[serde(rename = "movie")]
8066 #[serde(default, skip_serializing_if = "Option::is_none")]
8067 pub movie: Option<Box<CTRel>>,
8068 #[cfg(feature = "extra-attrs")]
8070 #[serde(skip)]
8071 #[cfg(feature = "extra-attrs")]
8072 #[serde(default)]
8073 #[cfg(feature = "extra-attrs")]
8074 pub extra_attrs: std::collections::HashMap<String, String>,
8075 #[cfg(feature = "extra-children")]
8077 #[serde(skip)]
8078 #[cfg(feature = "extra-children")]
8079 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8080}
8081
8082#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8083pub struct CTPicture {
8084 #[cfg(feature = "wml-drawings")]
8085 #[serde(rename = "movie")]
8086 #[serde(default, skip_serializing_if = "Option::is_none")]
8087 pub movie: Option<Box<CTRel>>,
8088 #[cfg(feature = "wml-drawings")]
8089 #[serde(rename = "control")]
8090 #[serde(default, skip_serializing_if = "Option::is_none")]
8091 pub control: Option<Box<CTControl>>,
8092 #[cfg(feature = "extra-children")]
8094 #[serde(skip)]
8095 #[cfg(feature = "extra-children")]
8096 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8097}
8098
8099#[derive(Debug, Clone, Serialize, Deserialize)]
8100pub struct CTObjectEmbed {
8101 #[cfg(feature = "wml-drawings")]
8102 #[serde(rename = "@w:drawAspect")]
8103 #[serde(default, skip_serializing_if = "Option::is_none")]
8104 pub draw_aspect: Option<STObjectDrawAspect>,
8105 #[cfg(feature = "wml-drawings")]
8106 #[serde(rename = "@r:id")]
8107 pub id: STRelationshipId,
8108 #[cfg(feature = "wml-drawings")]
8109 #[serde(rename = "@w:progId")]
8110 #[serde(default, skip_serializing_if = "Option::is_none")]
8111 pub prog_id: Option<STString>,
8112 #[cfg(feature = "wml-drawings")]
8113 #[serde(rename = "@w:shapeId")]
8114 #[serde(default, skip_serializing_if = "Option::is_none")]
8115 pub shape_id: Option<STString>,
8116 #[cfg(feature = "wml-drawings")]
8117 #[serde(rename = "@w:fieldCodes")]
8118 #[serde(default, skip_serializing_if = "Option::is_none")]
8119 pub field_codes: Option<STString>,
8120 #[cfg(feature = "extra-attrs")]
8122 #[serde(skip)]
8123 #[cfg(feature = "extra-attrs")]
8124 #[serde(default)]
8125 #[cfg(feature = "extra-attrs")]
8126 pub extra_attrs: std::collections::HashMap<String, String>,
8127}
8128
8129#[derive(Debug, Clone, Serialize, Deserialize)]
8130pub struct CTObjectLink {
8131 #[cfg(feature = "wml-drawings")]
8132 #[serde(rename = "@w:drawAspect")]
8133 #[serde(default, skip_serializing_if = "Option::is_none")]
8134 pub draw_aspect: Option<STObjectDrawAspect>,
8135 #[cfg(feature = "wml-drawings")]
8136 #[serde(rename = "@r:id")]
8137 pub id: STRelationshipId,
8138 #[cfg(feature = "wml-drawings")]
8139 #[serde(rename = "@w:progId")]
8140 #[serde(default, skip_serializing_if = "Option::is_none")]
8141 pub prog_id: Option<STString>,
8142 #[cfg(feature = "wml-drawings")]
8143 #[serde(rename = "@w:shapeId")]
8144 #[serde(default, skip_serializing_if = "Option::is_none")]
8145 pub shape_id: Option<STString>,
8146 #[cfg(feature = "wml-drawings")]
8147 #[serde(rename = "@w:fieldCodes")]
8148 #[serde(default, skip_serializing_if = "Option::is_none")]
8149 pub field_codes: Option<STString>,
8150 #[cfg(feature = "wml-drawings")]
8151 #[serde(rename = "@w:updateMode")]
8152 pub update_mode: STObjectUpdateMode,
8153 #[cfg(feature = "wml-drawings")]
8154 #[serde(rename = "@w:lockedField")]
8155 #[serde(default, skip_serializing_if = "Option::is_none")]
8156 pub locked_field: Option<OnOff>,
8157 #[cfg(feature = "extra-attrs")]
8159 #[serde(skip)]
8160 #[cfg(feature = "extra-attrs")]
8161 #[serde(default)]
8162 #[cfg(feature = "extra-attrs")]
8163 pub extra_attrs: std::collections::HashMap<String, String>,
8164}
8165
8166#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8167pub struct CTDrawing {
8168 #[cfg(feature = "extra-children")]
8170 #[serde(skip)]
8171 #[cfg(feature = "extra-children")]
8172 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8173}
8174
8175#[derive(Debug, Clone, Serialize, Deserialize)]
8176pub struct CTSimpleField {
8177 #[serde(rename = "@w:instr")]
8178 pub instr: STString,
8179 #[cfg(feature = "wml-fields")]
8180 #[serde(rename = "@w:fldLock")]
8181 #[serde(default, skip_serializing_if = "Option::is_none")]
8182 pub fld_lock: Option<OnOff>,
8183 #[cfg(feature = "wml-fields")]
8184 #[serde(rename = "@w:dirty")]
8185 #[serde(default, skip_serializing_if = "Option::is_none")]
8186 pub dirty: Option<OnOff>,
8187 #[cfg(feature = "wml-fields")]
8188 #[serde(rename = "fldData")]
8189 #[serde(default, skip_serializing_if = "Option::is_none")]
8190 pub fld_data: Option<Box<Text>>,
8191 #[serde(skip)]
8192 #[serde(default)]
8193 pub paragraph_content: Vec<ParagraphContent>,
8194 #[cfg(feature = "extra-attrs")]
8196 #[serde(skip)]
8197 #[cfg(feature = "extra-attrs")]
8198 #[serde(default)]
8199 #[cfg(feature = "extra-attrs")]
8200 pub extra_attrs: std::collections::HashMap<String, String>,
8201 #[cfg(feature = "extra-children")]
8203 #[serde(skip)]
8204 #[cfg(feature = "extra-children")]
8205 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8206}
8207
8208#[derive(Debug, Clone, Serialize, Deserialize)]
8209pub struct CTFFTextType {
8210 #[serde(rename = "@w:val")]
8211 pub value: STFFTextType,
8212 #[cfg(feature = "extra-attrs")]
8214 #[serde(skip)]
8215 #[cfg(feature = "extra-attrs")]
8216 #[serde(default)]
8217 #[cfg(feature = "extra-attrs")]
8218 pub extra_attrs: std::collections::HashMap<String, String>,
8219}
8220
8221#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8222pub struct FFNameElement {
8223 #[serde(rename = "@w:val")]
8224 #[serde(default, skip_serializing_if = "Option::is_none")]
8225 pub value: Option<STFFName>,
8226 #[cfg(feature = "extra-attrs")]
8228 #[serde(skip)]
8229 #[cfg(feature = "extra-attrs")]
8230 #[serde(default)]
8231 #[cfg(feature = "extra-attrs")]
8232 pub extra_attrs: std::collections::HashMap<String, String>,
8233}
8234
8235#[derive(Debug, Clone, Serialize, Deserialize)]
8236pub struct CTFldChar {
8237 #[serde(rename = "@w:fldCharType")]
8238 pub fld_char_type: STFldCharType,
8239 #[cfg(feature = "wml-fields")]
8240 #[serde(rename = "@w:fldLock")]
8241 #[serde(default, skip_serializing_if = "Option::is_none")]
8242 pub fld_lock: Option<OnOff>,
8243 #[cfg(feature = "wml-fields")]
8244 #[serde(rename = "@w:dirty")]
8245 #[serde(default, skip_serializing_if = "Option::is_none")]
8246 pub dirty: Option<OnOff>,
8247 #[cfg(feature = "wml-fields")]
8248 #[serde(rename = "fldData")]
8249 #[serde(default, skip_serializing_if = "Option::is_none")]
8250 pub fld_data: Option<Box<Text>>,
8251 #[cfg(feature = "wml-fields")]
8252 #[serde(rename = "ffData")]
8253 #[serde(default, skip_serializing_if = "Option::is_none")]
8254 pub ff_data: Option<Box<CTFFData>>,
8255 #[cfg(feature = "wml-track-changes")]
8256 #[serde(rename = "numberingChange")]
8257 #[serde(default, skip_serializing_if = "Option::is_none")]
8258 pub numbering_change: Option<Box<CTTrackChangeNumbering>>,
8259 #[cfg(feature = "extra-attrs")]
8261 #[serde(skip)]
8262 #[cfg(feature = "extra-attrs")]
8263 #[serde(default)]
8264 #[cfg(feature = "extra-attrs")]
8265 pub extra_attrs: std::collections::HashMap<String, String>,
8266 #[cfg(feature = "extra-children")]
8268 #[serde(skip)]
8269 #[cfg(feature = "extra-children")]
8270 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8271}
8272
8273#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8274pub struct Hyperlink {
8275 #[cfg(feature = "wml-hyperlinks")]
8276 #[serde(rename = "@w:tgtFrame")]
8277 #[serde(default, skip_serializing_if = "Option::is_none")]
8278 pub tgt_frame: Option<STString>,
8279 #[cfg(feature = "wml-hyperlinks")]
8280 #[serde(rename = "@w:tooltip")]
8281 #[serde(default, skip_serializing_if = "Option::is_none")]
8282 pub tooltip: Option<STString>,
8283 #[cfg(feature = "wml-hyperlinks")]
8284 #[serde(rename = "@w:docLocation")]
8285 #[serde(default, skip_serializing_if = "Option::is_none")]
8286 pub doc_location: Option<STString>,
8287 #[cfg(feature = "wml-hyperlinks")]
8288 #[serde(rename = "@w:history")]
8289 #[serde(default, skip_serializing_if = "Option::is_none")]
8290 pub history: Option<OnOff>,
8291 #[cfg(feature = "wml-hyperlinks")]
8292 #[serde(rename = "@w:anchor")]
8293 #[serde(default, skip_serializing_if = "Option::is_none")]
8294 pub anchor: Option<STString>,
8295 #[cfg(feature = "wml-hyperlinks")]
8296 #[serde(rename = "@r:id")]
8297 #[serde(default, skip_serializing_if = "Option::is_none")]
8298 pub id: Option<STRelationshipId>,
8299 #[serde(skip)]
8300 #[serde(default)]
8301 pub paragraph_content: Vec<ParagraphContent>,
8302 #[cfg(feature = "extra-attrs")]
8304 #[serde(skip)]
8305 #[cfg(feature = "extra-attrs")]
8306 #[serde(default)]
8307 #[cfg(feature = "extra-attrs")]
8308 pub extra_attrs: std::collections::HashMap<String, String>,
8309 #[cfg(feature = "extra-children")]
8311 #[serde(skip)]
8312 #[cfg(feature = "extra-children")]
8313 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8314}
8315
8316#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8317pub struct CTFFData {
8318 #[cfg(feature = "wml-fields")]
8319 #[serde(rename = "name")]
8320 #[serde(default, skip_serializing_if = "Vec::is_empty")]
8321 pub name: Vec<FFNameElement>,
8322 #[cfg(feature = "wml-fields")]
8323 #[serde(rename = "label")]
8324 #[serde(default, skip_serializing_if = "Option::is_none")]
8325 pub label: Option<Box<CTDecimalNumber>>,
8326 #[cfg(feature = "wml-fields")]
8327 #[serde(rename = "tabIndex")]
8328 #[serde(default, skip_serializing_if = "Option::is_none")]
8329 pub tab_index: Option<Box<UnsignedDecimalNumberElement>>,
8330 #[cfg(feature = "wml-fields")]
8331 #[serde(rename = "enabled")]
8332 #[serde(default, skip_serializing_if = "Vec::is_empty")]
8333 pub enabled: Vec<OnOffElement>,
8334 #[cfg(feature = "wml-fields")]
8335 #[serde(rename = "calcOnExit")]
8336 #[serde(default, skip_serializing_if = "Vec::is_empty")]
8337 pub calc_on_exit: Vec<OnOffElement>,
8338 #[cfg(feature = "wml-fields")]
8339 #[serde(rename = "entryMacro")]
8340 #[serde(default, skip_serializing_if = "Option::is_none")]
8341 pub entry_macro: Option<Box<MacroNameElement>>,
8342 #[cfg(feature = "wml-fields")]
8343 #[serde(rename = "exitMacro")]
8344 #[serde(default, skip_serializing_if = "Option::is_none")]
8345 pub exit_macro: Option<Box<MacroNameElement>>,
8346 #[cfg(feature = "wml-fields")]
8347 #[serde(rename = "helpText")]
8348 #[serde(default, skip_serializing_if = "Option::is_none")]
8349 pub help_text: Option<Box<CTFFHelpText>>,
8350 #[cfg(feature = "wml-fields")]
8351 #[serde(rename = "statusText")]
8352 #[serde(default, skip_serializing_if = "Option::is_none")]
8353 pub status_text: Option<Box<CTFFStatusText>>,
8354 #[cfg(feature = "extra-children")]
8356 #[serde(skip)]
8357 #[cfg(feature = "extra-children")]
8358 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8359}
8360
8361#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8362pub struct CTFFHelpText {
8363 #[serde(rename = "@w:type")]
8364 #[serde(default, skip_serializing_if = "Option::is_none")]
8365 pub r#type: Option<STInfoTextType>,
8366 #[serde(rename = "@w:val")]
8367 #[serde(default, skip_serializing_if = "Option::is_none")]
8368 pub value: Option<STFFHelpTextVal>,
8369 #[cfg(feature = "extra-attrs")]
8371 #[serde(skip)]
8372 #[cfg(feature = "extra-attrs")]
8373 #[serde(default)]
8374 #[cfg(feature = "extra-attrs")]
8375 pub extra_attrs: std::collections::HashMap<String, String>,
8376}
8377
8378#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8379pub struct CTFFStatusText {
8380 #[serde(rename = "@w:type")]
8381 #[serde(default, skip_serializing_if = "Option::is_none")]
8382 pub r#type: Option<STInfoTextType>,
8383 #[serde(rename = "@w:val")]
8384 #[serde(default, skip_serializing_if = "Option::is_none")]
8385 pub value: Option<STFFStatusTextVal>,
8386 #[cfg(feature = "extra-attrs")]
8388 #[serde(skip)]
8389 #[cfg(feature = "extra-attrs")]
8390 #[serde(default)]
8391 #[cfg(feature = "extra-attrs")]
8392 pub extra_attrs: std::collections::HashMap<String, String>,
8393}
8394
8395#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8396pub struct CTFFCheckBox {
8397 #[cfg(feature = "wml-fields")]
8398 #[serde(rename = "size")]
8399 #[serde(default, skip_serializing_if = "Option::is_none")]
8400 pub size: Option<Box<HpsMeasureElement>>,
8401 #[cfg(feature = "wml-fields")]
8402 #[serde(rename = "sizeAuto")]
8403 #[serde(default, skip_serializing_if = "Option::is_none")]
8404 pub size_auto: Option<Box<OnOffElement>>,
8405 #[cfg(feature = "wml-fields")]
8406 #[serde(rename = "default")]
8407 #[serde(default, skip_serializing_if = "Option::is_none")]
8408 pub default: Option<Box<OnOffElement>>,
8409 #[cfg(feature = "wml-fields")]
8410 #[serde(rename = "checked")]
8411 #[serde(default, skip_serializing_if = "Option::is_none")]
8412 pub checked: Option<Box<OnOffElement>>,
8413 #[cfg(feature = "extra-children")]
8415 #[serde(skip)]
8416 #[cfg(feature = "extra-children")]
8417 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8418}
8419
8420#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8421pub struct CTFFDDList {
8422 #[cfg(feature = "wml-fields")]
8423 #[serde(rename = "result")]
8424 #[serde(default, skip_serializing_if = "Option::is_none")]
8425 pub result: Option<Box<CTDecimalNumber>>,
8426 #[cfg(feature = "wml-fields")]
8427 #[serde(rename = "default")]
8428 #[serde(default, skip_serializing_if = "Option::is_none")]
8429 pub default: Option<Box<CTDecimalNumber>>,
8430 #[cfg(feature = "wml-fields")]
8431 #[serde(rename = "listEntry")]
8432 #[serde(default, skip_serializing_if = "Vec::is_empty")]
8433 pub list_entry: Vec<CTString>,
8434 #[cfg(feature = "extra-children")]
8436 #[serde(skip)]
8437 #[cfg(feature = "extra-children")]
8438 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8439}
8440
8441#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8442pub struct CTFFTextInput {
8443 #[cfg(feature = "wml-fields")]
8444 #[serde(rename = "type")]
8445 #[serde(default, skip_serializing_if = "Option::is_none")]
8446 pub r#type: Option<Box<CTFFTextType>>,
8447 #[cfg(feature = "wml-fields")]
8448 #[serde(rename = "default")]
8449 #[serde(default, skip_serializing_if = "Option::is_none")]
8450 pub default: Option<Box<CTString>>,
8451 #[cfg(feature = "wml-fields")]
8452 #[serde(rename = "maxLength")]
8453 #[serde(default, skip_serializing_if = "Option::is_none")]
8454 pub max_length: Option<Box<CTDecimalNumber>>,
8455 #[cfg(feature = "wml-fields")]
8456 #[serde(rename = "format")]
8457 #[serde(default, skip_serializing_if = "Option::is_none")]
8458 pub format: Option<Box<CTString>>,
8459 #[cfg(feature = "extra-children")]
8461 #[serde(skip)]
8462 #[cfg(feature = "extra-children")]
8463 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8464}
8465
8466#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8467pub struct CTSectType {
8468 #[serde(rename = "@w:val")]
8469 #[serde(default, skip_serializing_if = "Option::is_none")]
8470 pub value: Option<STSectionMark>,
8471 #[cfg(feature = "extra-attrs")]
8473 #[serde(skip)]
8474 #[cfg(feature = "extra-attrs")]
8475 #[serde(default)]
8476 #[cfg(feature = "extra-attrs")]
8477 pub extra_attrs: std::collections::HashMap<String, String>,
8478}
8479
8480#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8481pub struct CTPaperSource {
8482 #[cfg(feature = "wml-layout")]
8483 #[serde(rename = "@w:first")]
8484 #[serde(default, skip_serializing_if = "Option::is_none")]
8485 pub first: Option<STDecimalNumber>,
8486 #[cfg(feature = "wml-layout")]
8487 #[serde(rename = "@w:other")]
8488 #[serde(default, skip_serializing_if = "Option::is_none")]
8489 pub other: Option<STDecimalNumber>,
8490 #[cfg(feature = "extra-attrs")]
8492 #[serde(skip)]
8493 #[cfg(feature = "extra-attrs")]
8494 #[serde(default)]
8495 #[cfg(feature = "extra-attrs")]
8496 pub extra_attrs: std::collections::HashMap<String, String>,
8497}
8498
8499#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8500pub struct PageSize {
8501 #[cfg(feature = "wml-layout")]
8502 #[serde(rename = "@w:w")]
8503 #[serde(default, skip_serializing_if = "Option::is_none")]
8504 pub width: Option<STTwipsMeasure>,
8505 #[cfg(feature = "wml-layout")]
8506 #[serde(rename = "@w:h")]
8507 #[serde(default, skip_serializing_if = "Option::is_none")]
8508 pub height: Option<STTwipsMeasure>,
8509 #[cfg(feature = "wml-layout")]
8510 #[serde(rename = "@w:orient")]
8511 #[serde(default, skip_serializing_if = "Option::is_none")]
8512 pub orient: Option<STPageOrientation>,
8513 #[cfg(feature = "wml-layout")]
8514 #[serde(rename = "@w:code")]
8515 #[serde(default, skip_serializing_if = "Option::is_none")]
8516 pub code: Option<STDecimalNumber>,
8517 #[cfg(feature = "extra-attrs")]
8519 #[serde(skip)]
8520 #[cfg(feature = "extra-attrs")]
8521 #[serde(default)]
8522 #[cfg(feature = "extra-attrs")]
8523 pub extra_attrs: std::collections::HashMap<String, String>,
8524}
8525
8526#[derive(Debug, Clone, Serialize, Deserialize)]
8527pub struct PageMargins {
8528 #[cfg(feature = "wml-layout")]
8529 #[serde(rename = "@w:top")]
8530 pub top: STSignedTwipsMeasure,
8531 #[cfg(feature = "wml-layout")]
8532 #[serde(rename = "@w:right")]
8533 pub right: STTwipsMeasure,
8534 #[cfg(feature = "wml-layout")]
8535 #[serde(rename = "@w:bottom")]
8536 pub bottom: STSignedTwipsMeasure,
8537 #[cfg(feature = "wml-layout")]
8538 #[serde(rename = "@w:left")]
8539 pub left: STTwipsMeasure,
8540 #[cfg(feature = "wml-layout")]
8541 #[serde(rename = "@w:header")]
8542 pub header: STTwipsMeasure,
8543 #[cfg(feature = "wml-layout")]
8544 #[serde(rename = "@w:footer")]
8545 pub footer: STTwipsMeasure,
8546 #[cfg(feature = "wml-layout")]
8547 #[serde(rename = "@w:gutter")]
8548 pub gutter: STTwipsMeasure,
8549 #[cfg(feature = "extra-attrs")]
8551 #[serde(skip)]
8552 #[cfg(feature = "extra-attrs")]
8553 #[serde(default)]
8554 #[cfg(feature = "extra-attrs")]
8555 pub extra_attrs: std::collections::HashMap<String, String>,
8556}
8557
8558#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8559pub struct CTPageBorders {
8560 #[cfg(feature = "wml-layout")]
8561 #[serde(rename = "@w:zOrder")]
8562 #[serde(default, skip_serializing_if = "Option::is_none")]
8563 pub z_order: Option<STPageBorderZOrder>,
8564 #[cfg(feature = "wml-layout")]
8565 #[serde(rename = "@w:display")]
8566 #[serde(default, skip_serializing_if = "Option::is_none")]
8567 pub display: Option<STPageBorderDisplay>,
8568 #[cfg(feature = "wml-layout")]
8569 #[serde(rename = "@w:offsetFrom")]
8570 #[serde(default, skip_serializing_if = "Option::is_none")]
8571 pub offset_from: Option<STPageBorderOffset>,
8572 #[cfg(feature = "wml-layout")]
8573 #[serde(rename = "top")]
8574 #[serde(default, skip_serializing_if = "Option::is_none")]
8575 pub top: Option<Box<CTTopPageBorder>>,
8576 #[cfg(feature = "wml-layout")]
8577 #[serde(rename = "left")]
8578 #[serde(default, skip_serializing_if = "Option::is_none")]
8579 pub left: Option<Box<CTPageBorder>>,
8580 #[cfg(feature = "wml-layout")]
8581 #[serde(rename = "bottom")]
8582 #[serde(default, skip_serializing_if = "Option::is_none")]
8583 pub bottom: Option<Box<CTBottomPageBorder>>,
8584 #[cfg(feature = "wml-layout")]
8585 #[serde(rename = "right")]
8586 #[serde(default, skip_serializing_if = "Option::is_none")]
8587 pub right: Option<Box<CTPageBorder>>,
8588 #[cfg(feature = "extra-attrs")]
8590 #[serde(skip)]
8591 #[cfg(feature = "extra-attrs")]
8592 #[serde(default)]
8593 #[cfg(feature = "extra-attrs")]
8594 pub extra_attrs: std::collections::HashMap<String, String>,
8595 #[cfg(feature = "extra-children")]
8597 #[serde(skip)]
8598 #[cfg(feature = "extra-children")]
8599 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8600}
8601
8602#[derive(Debug, Clone, Serialize, Deserialize)]
8603pub struct CTPageBorder {
8604 #[serde(rename = "@w:val")]
8605 pub value: STBorder,
8606 #[serde(rename = "@w:color")]
8607 #[serde(default, skip_serializing_if = "Option::is_none")]
8608 pub color: Option<STHexColor>,
8609 #[serde(rename = "@w:themeColor")]
8610 #[serde(default, skip_serializing_if = "Option::is_none")]
8611 pub theme_color: Option<STThemeColor>,
8612 #[serde(rename = "@w:themeTint")]
8613 #[serde(default, skip_serializing_if = "Option::is_none")]
8614 pub theme_tint: Option<STUcharHexNumber>,
8615 #[serde(rename = "@w:themeShade")]
8616 #[serde(default, skip_serializing_if = "Option::is_none")]
8617 pub theme_shade: Option<STUcharHexNumber>,
8618 #[serde(rename = "@w:sz")]
8619 #[serde(default, skip_serializing_if = "Option::is_none")]
8620 pub size: Option<STEighthPointMeasure>,
8621 #[serde(rename = "@w:space")]
8622 #[serde(default, skip_serializing_if = "Option::is_none")]
8623 pub space: Option<STPointMeasure>,
8624 #[serde(rename = "@w:shadow")]
8625 #[serde(default, skip_serializing_if = "Option::is_none")]
8626 pub shadow: Option<OnOff>,
8627 #[serde(rename = "@w:frame")]
8628 #[serde(default, skip_serializing_if = "Option::is_none")]
8629 pub frame: Option<OnOff>,
8630 #[cfg(feature = "wml-layout")]
8631 #[serde(rename = "@r:id")]
8632 #[serde(default, skip_serializing_if = "Option::is_none")]
8633 pub id: Option<STRelationshipId>,
8634 #[cfg(feature = "extra-attrs")]
8636 #[serde(skip)]
8637 #[cfg(feature = "extra-attrs")]
8638 #[serde(default)]
8639 #[cfg(feature = "extra-attrs")]
8640 pub extra_attrs: std::collections::HashMap<String, String>,
8641}
8642
8643#[derive(Debug, Clone, Serialize, Deserialize)]
8644pub struct CTBottomPageBorder {
8645 #[serde(rename = "@w:val")]
8646 pub value: STBorder,
8647 #[serde(rename = "@w:color")]
8648 #[serde(default, skip_serializing_if = "Option::is_none")]
8649 pub color: Option<STHexColor>,
8650 #[serde(rename = "@w:themeColor")]
8651 #[serde(default, skip_serializing_if = "Option::is_none")]
8652 pub theme_color: Option<STThemeColor>,
8653 #[serde(rename = "@w:themeTint")]
8654 #[serde(default, skip_serializing_if = "Option::is_none")]
8655 pub theme_tint: Option<STUcharHexNumber>,
8656 #[serde(rename = "@w:themeShade")]
8657 #[serde(default, skip_serializing_if = "Option::is_none")]
8658 pub theme_shade: Option<STUcharHexNumber>,
8659 #[serde(rename = "@w:sz")]
8660 #[serde(default, skip_serializing_if = "Option::is_none")]
8661 pub size: Option<STEighthPointMeasure>,
8662 #[serde(rename = "@w:space")]
8663 #[serde(default, skip_serializing_if = "Option::is_none")]
8664 pub space: Option<STPointMeasure>,
8665 #[serde(rename = "@w:shadow")]
8666 #[serde(default, skip_serializing_if = "Option::is_none")]
8667 pub shadow: Option<OnOff>,
8668 #[serde(rename = "@w:frame")]
8669 #[serde(default, skip_serializing_if = "Option::is_none")]
8670 pub frame: Option<OnOff>,
8671 #[serde(rename = "@r:id")]
8672 #[serde(default, skip_serializing_if = "Option::is_none")]
8673 pub id: Option<STRelationshipId>,
8674 #[cfg(feature = "wml-layout")]
8675 #[serde(rename = "@r:bottomLeft")]
8676 #[serde(default, skip_serializing_if = "Option::is_none")]
8677 pub bottom_left: Option<STRelationshipId>,
8678 #[cfg(feature = "wml-layout")]
8679 #[serde(rename = "@r:bottomRight")]
8680 #[serde(default, skip_serializing_if = "Option::is_none")]
8681 pub bottom_right: Option<STRelationshipId>,
8682 #[cfg(feature = "extra-attrs")]
8684 #[serde(skip)]
8685 #[cfg(feature = "extra-attrs")]
8686 #[serde(default)]
8687 #[cfg(feature = "extra-attrs")]
8688 pub extra_attrs: std::collections::HashMap<String, String>,
8689}
8690
8691#[derive(Debug, Clone, Serialize, Deserialize)]
8692pub struct CTTopPageBorder {
8693 #[serde(rename = "@w:val")]
8694 pub value: STBorder,
8695 #[serde(rename = "@w:color")]
8696 #[serde(default, skip_serializing_if = "Option::is_none")]
8697 pub color: Option<STHexColor>,
8698 #[serde(rename = "@w:themeColor")]
8699 #[serde(default, skip_serializing_if = "Option::is_none")]
8700 pub theme_color: Option<STThemeColor>,
8701 #[serde(rename = "@w:themeTint")]
8702 #[serde(default, skip_serializing_if = "Option::is_none")]
8703 pub theme_tint: Option<STUcharHexNumber>,
8704 #[serde(rename = "@w:themeShade")]
8705 #[serde(default, skip_serializing_if = "Option::is_none")]
8706 pub theme_shade: Option<STUcharHexNumber>,
8707 #[serde(rename = "@w:sz")]
8708 #[serde(default, skip_serializing_if = "Option::is_none")]
8709 pub size: Option<STEighthPointMeasure>,
8710 #[serde(rename = "@w:space")]
8711 #[serde(default, skip_serializing_if = "Option::is_none")]
8712 pub space: Option<STPointMeasure>,
8713 #[serde(rename = "@w:shadow")]
8714 #[serde(default, skip_serializing_if = "Option::is_none")]
8715 pub shadow: Option<OnOff>,
8716 #[serde(rename = "@w:frame")]
8717 #[serde(default, skip_serializing_if = "Option::is_none")]
8718 pub frame: Option<OnOff>,
8719 #[serde(rename = "@r:id")]
8720 #[serde(default, skip_serializing_if = "Option::is_none")]
8721 pub id: Option<STRelationshipId>,
8722 #[cfg(feature = "wml-layout")]
8723 #[serde(rename = "@r:topLeft")]
8724 #[serde(default, skip_serializing_if = "Option::is_none")]
8725 pub top_left: Option<STRelationshipId>,
8726 #[cfg(feature = "wml-layout")]
8727 #[serde(rename = "@r:topRight")]
8728 #[serde(default, skip_serializing_if = "Option::is_none")]
8729 pub top_right: Option<STRelationshipId>,
8730 #[cfg(feature = "extra-attrs")]
8732 #[serde(skip)]
8733 #[cfg(feature = "extra-attrs")]
8734 #[serde(default)]
8735 #[cfg(feature = "extra-attrs")]
8736 pub extra_attrs: std::collections::HashMap<String, String>,
8737}
8738
8739#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8740pub struct CTLineNumber {
8741 #[cfg(feature = "wml-layout")]
8742 #[serde(rename = "@w:countBy")]
8743 #[serde(default, skip_serializing_if = "Option::is_none")]
8744 pub count_by: Option<STDecimalNumber>,
8745 #[cfg(feature = "wml-layout")]
8746 #[serde(rename = "@w:start")]
8747 #[serde(default, skip_serializing_if = "Option::is_none")]
8748 pub start: Option<STDecimalNumber>,
8749 #[cfg(feature = "wml-layout")]
8750 #[serde(rename = "@w:distance")]
8751 #[serde(default, skip_serializing_if = "Option::is_none")]
8752 pub distance: Option<STTwipsMeasure>,
8753 #[cfg(feature = "wml-layout")]
8754 #[serde(rename = "@w:restart")]
8755 #[serde(default, skip_serializing_if = "Option::is_none")]
8756 pub restart: Option<STLineNumberRestart>,
8757 #[cfg(feature = "extra-attrs")]
8759 #[serde(skip)]
8760 #[cfg(feature = "extra-attrs")]
8761 #[serde(default)]
8762 #[cfg(feature = "extra-attrs")]
8763 pub extra_attrs: std::collections::HashMap<String, String>,
8764}
8765
8766#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8767pub struct CTPageNumber {
8768 #[cfg(feature = "wml-layout")]
8769 #[serde(rename = "@w:fmt")]
8770 #[serde(default, skip_serializing_if = "Option::is_none")]
8771 pub fmt: Option<STNumberFormat>,
8772 #[cfg(feature = "wml-layout")]
8773 #[serde(rename = "@w:start")]
8774 #[serde(default, skip_serializing_if = "Option::is_none")]
8775 pub start: Option<STDecimalNumber>,
8776 #[cfg(feature = "wml-layout")]
8777 #[serde(rename = "@w:chapStyle")]
8778 #[serde(default, skip_serializing_if = "Option::is_none")]
8779 pub chap_style: Option<STDecimalNumber>,
8780 #[cfg(feature = "wml-layout")]
8781 #[serde(rename = "@w:chapSep")]
8782 #[serde(default, skip_serializing_if = "Option::is_none")]
8783 pub chap_sep: Option<STChapterSep>,
8784 #[cfg(feature = "extra-attrs")]
8786 #[serde(skip)]
8787 #[cfg(feature = "extra-attrs")]
8788 #[serde(default)]
8789 #[cfg(feature = "extra-attrs")]
8790 pub extra_attrs: std::collections::HashMap<String, String>,
8791}
8792
8793#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8794pub struct CTColumn {
8795 #[cfg(feature = "wml-layout")]
8796 #[serde(rename = "@w:w")]
8797 #[serde(default, skip_serializing_if = "Option::is_none")]
8798 pub width: Option<STTwipsMeasure>,
8799 #[cfg(feature = "wml-layout")]
8800 #[serde(rename = "@w:space")]
8801 #[serde(default, skip_serializing_if = "Option::is_none")]
8802 pub space: Option<STTwipsMeasure>,
8803 #[cfg(feature = "extra-attrs")]
8805 #[serde(skip)]
8806 #[cfg(feature = "extra-attrs")]
8807 #[serde(default)]
8808 #[cfg(feature = "extra-attrs")]
8809 pub extra_attrs: std::collections::HashMap<String, String>,
8810}
8811
8812#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8813pub struct Columns {
8814 #[cfg(feature = "wml-layout")]
8815 #[serde(rename = "@w:equalWidth")]
8816 #[serde(default, skip_serializing_if = "Option::is_none")]
8817 pub equal_width: Option<OnOff>,
8818 #[cfg(feature = "wml-layout")]
8819 #[serde(rename = "@w:space")]
8820 #[serde(default, skip_serializing_if = "Option::is_none")]
8821 pub space: Option<STTwipsMeasure>,
8822 #[cfg(feature = "wml-layout")]
8823 #[serde(rename = "@w:num")]
8824 #[serde(default, skip_serializing_if = "Option::is_none")]
8825 pub num: Option<STDecimalNumber>,
8826 #[cfg(feature = "wml-layout")]
8827 #[serde(rename = "@w:sep")]
8828 #[serde(default, skip_serializing_if = "Option::is_none")]
8829 pub sep: Option<OnOff>,
8830 #[cfg(feature = "wml-layout")]
8831 #[serde(rename = "col")]
8832 #[serde(default, skip_serializing_if = "Vec::is_empty")]
8833 pub col: Vec<CTColumn>,
8834 #[cfg(feature = "extra-attrs")]
8836 #[serde(skip)]
8837 #[cfg(feature = "extra-attrs")]
8838 #[serde(default)]
8839 #[cfg(feature = "extra-attrs")]
8840 pub extra_attrs: std::collections::HashMap<String, String>,
8841 #[cfg(feature = "extra-children")]
8843 #[serde(skip)]
8844 #[cfg(feature = "extra-children")]
8845 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8846}
8847
8848#[derive(Debug, Clone, Serialize, Deserialize)]
8849pub struct CTVerticalJc {
8850 #[serde(rename = "@w:val")]
8851 pub value: STVerticalJc,
8852 #[cfg(feature = "extra-attrs")]
8854 #[serde(skip)]
8855 #[cfg(feature = "extra-attrs")]
8856 #[serde(default)]
8857 #[cfg(feature = "extra-attrs")]
8858 pub extra_attrs: std::collections::HashMap<String, String>,
8859}
8860
8861#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8862pub struct DocumentGrid {
8863 #[cfg(feature = "wml-layout")]
8864 #[serde(rename = "@w:type")]
8865 #[serde(default, skip_serializing_if = "Option::is_none")]
8866 pub r#type: Option<STDocGrid>,
8867 #[cfg(feature = "wml-layout")]
8868 #[serde(rename = "@w:linePitch")]
8869 #[serde(default, skip_serializing_if = "Option::is_none")]
8870 pub line_pitch: Option<STDecimalNumber>,
8871 #[cfg(feature = "wml-layout")]
8872 #[serde(rename = "@w:charSpace")]
8873 #[serde(default, skip_serializing_if = "Option::is_none")]
8874 pub char_space: Option<STDecimalNumber>,
8875 #[cfg(feature = "extra-attrs")]
8877 #[serde(skip)]
8878 #[cfg(feature = "extra-attrs")]
8879 #[serde(default)]
8880 #[cfg(feature = "extra-attrs")]
8881 pub extra_attrs: std::collections::HashMap<String, String>,
8882}
8883
8884#[derive(Debug, Clone, Serialize, Deserialize)]
8885pub struct HeaderFooterReference {
8886 #[serde(rename = "@r:id")]
8887 pub id: STRelationshipId,
8888 #[serde(rename = "@w:type")]
8889 pub r#type: STHdrFtr,
8890 #[cfg(feature = "extra-attrs")]
8892 #[serde(skip)]
8893 #[cfg(feature = "extra-attrs")]
8894 #[serde(default)]
8895 #[cfg(feature = "extra-attrs")]
8896 pub extra_attrs: std::collections::HashMap<String, String>,
8897}
8898
8899#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8900pub struct HeaderFooter {
8901 #[serde(skip)]
8902 #[serde(default)]
8903 pub block_content: Vec<BlockContent>,
8904 #[cfg(feature = "extra-children")]
8906 #[serde(skip)]
8907 #[cfg(feature = "extra-children")]
8908 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8909}
8910
8911#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8912pub struct EGSectPrContents {
8913 #[serde(rename = "footnotePr")]
8914 #[serde(default, skip_serializing_if = "Option::is_none")]
8915 pub footnote_pr: Option<Box<CTFtnProps>>,
8916 #[serde(rename = "endnotePr")]
8917 #[serde(default, skip_serializing_if = "Option::is_none")]
8918 pub endnote_pr: Option<Box<CTEdnProps>>,
8919 #[serde(rename = "type")]
8920 #[serde(default, skip_serializing_if = "Option::is_none")]
8921 pub r#type: Option<Box<CTSectType>>,
8922 #[serde(rename = "pgSz")]
8923 #[serde(default, skip_serializing_if = "Option::is_none")]
8924 pub pg_sz: Option<Box<PageSize>>,
8925 #[serde(rename = "pgMar")]
8926 #[serde(default, skip_serializing_if = "Option::is_none")]
8927 pub pg_mar: Option<Box<PageMargins>>,
8928 #[serde(rename = "paperSrc")]
8929 #[serde(default, skip_serializing_if = "Option::is_none")]
8930 pub paper_src: Option<Box<CTPaperSource>>,
8931 #[serde(rename = "pgBorders")]
8932 #[serde(default, skip_serializing_if = "Option::is_none")]
8933 pub pg_borders: Option<Box<CTPageBorders>>,
8934 #[serde(rename = "lnNumType")]
8935 #[serde(default, skip_serializing_if = "Option::is_none")]
8936 pub ln_num_type: Option<Box<CTLineNumber>>,
8937 #[serde(rename = "pgNumType")]
8938 #[serde(default, skip_serializing_if = "Option::is_none")]
8939 pub pg_num_type: Option<Box<CTPageNumber>>,
8940 #[serde(rename = "cols")]
8941 #[serde(default, skip_serializing_if = "Option::is_none")]
8942 pub cols: Option<Box<Columns>>,
8943 #[serde(rename = "formProt")]
8944 #[serde(default, skip_serializing_if = "Option::is_none")]
8945 pub form_prot: Option<Box<OnOffElement>>,
8946 #[serde(rename = "vAlign")]
8947 #[serde(default, skip_serializing_if = "Option::is_none")]
8948 pub v_align: Option<Box<CTVerticalJc>>,
8949 #[serde(rename = "noEndnote")]
8950 #[serde(default, skip_serializing_if = "Option::is_none")]
8951 pub no_endnote: Option<Box<OnOffElement>>,
8952 #[serde(rename = "titlePg")]
8953 #[serde(default, skip_serializing_if = "Option::is_none")]
8954 pub title_pg: Option<Box<OnOffElement>>,
8955 #[serde(rename = "textDirection")]
8956 #[serde(default, skip_serializing_if = "Option::is_none")]
8957 pub text_direction: Option<Box<CTTextDirection>>,
8958 #[serde(rename = "bidi")]
8959 #[serde(default, skip_serializing_if = "Option::is_none")]
8960 pub bidi: Option<Box<OnOffElement>>,
8961 #[serde(rename = "rtlGutter")]
8962 #[serde(default, skip_serializing_if = "Option::is_none")]
8963 pub rtl_gutter: Option<Box<OnOffElement>>,
8964 #[serde(rename = "docGrid")]
8965 #[serde(default, skip_serializing_if = "Option::is_none")]
8966 pub doc_grid: Option<Box<DocumentGrid>>,
8967 #[serde(rename = "printerSettings")]
8968 #[serde(default, skip_serializing_if = "Option::is_none")]
8969 pub printer_settings: Option<Box<CTRel>>,
8970 #[cfg(feature = "extra-children")]
8972 #[serde(skip)]
8973 #[cfg(feature = "extra-children")]
8974 pub extra_children: Vec<ooxml_xml::PositionedNode>,
8975}
8976
8977#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8978pub struct WAGSectPrAttributes {
8979 #[serde(rename = "@w:rsidRPr")]
8980 #[serde(default, skip_serializing_if = "Option::is_none")]
8981 pub rsid_r_pr: Option<STLongHexNumber>,
8982 #[serde(rename = "@w:rsidDel")]
8983 #[serde(default, skip_serializing_if = "Option::is_none")]
8984 pub rsid_del: Option<STLongHexNumber>,
8985 #[serde(rename = "@w:rsidR")]
8986 #[serde(default, skip_serializing_if = "Option::is_none")]
8987 pub rsid_r: Option<STLongHexNumber>,
8988 #[serde(rename = "@w:rsidSect")]
8989 #[serde(default, skip_serializing_if = "Option::is_none")]
8990 pub rsid_sect: Option<STLongHexNumber>,
8991 #[cfg(feature = "extra-attrs")]
8993 #[serde(skip)]
8994 #[cfg(feature = "extra-attrs")]
8995 #[serde(default)]
8996 #[cfg(feature = "extra-attrs")]
8997 pub extra_attrs: std::collections::HashMap<String, String>,
8998}
8999
9000#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9001pub struct CTSectPrBase {
9002 #[cfg(feature = "wml-track-changes")]
9003 #[serde(rename = "@w:rsidRPr")]
9004 #[serde(default, skip_serializing_if = "Option::is_none")]
9005 pub rsid_r_pr: Option<STLongHexNumber>,
9006 #[cfg(feature = "wml-track-changes")]
9007 #[serde(rename = "@w:rsidDel")]
9008 #[serde(default, skip_serializing_if = "Option::is_none")]
9009 pub rsid_del: Option<STLongHexNumber>,
9010 #[cfg(feature = "wml-track-changes")]
9011 #[serde(rename = "@w:rsidR")]
9012 #[serde(default, skip_serializing_if = "Option::is_none")]
9013 pub rsid_r: Option<STLongHexNumber>,
9014 #[cfg(feature = "wml-track-changes")]
9015 #[serde(rename = "@w:rsidSect")]
9016 #[serde(default, skip_serializing_if = "Option::is_none")]
9017 pub rsid_sect: Option<STLongHexNumber>,
9018 #[serde(rename = "footnotePr")]
9019 #[serde(default, skip_serializing_if = "Option::is_none")]
9020 pub footnote_pr: Option<Box<CTFtnProps>>,
9021 #[serde(rename = "endnotePr")]
9022 #[serde(default, skip_serializing_if = "Option::is_none")]
9023 pub endnote_pr: Option<Box<CTEdnProps>>,
9024 #[serde(rename = "type")]
9025 #[serde(default, skip_serializing_if = "Option::is_none")]
9026 pub r#type: Option<Box<CTSectType>>,
9027 #[serde(rename = "pgSz")]
9028 #[serde(default, skip_serializing_if = "Option::is_none")]
9029 pub pg_sz: Option<Box<PageSize>>,
9030 #[serde(rename = "pgMar")]
9031 #[serde(default, skip_serializing_if = "Option::is_none")]
9032 pub pg_mar: Option<Box<PageMargins>>,
9033 #[serde(rename = "paperSrc")]
9034 #[serde(default, skip_serializing_if = "Option::is_none")]
9035 pub paper_src: Option<Box<CTPaperSource>>,
9036 #[serde(rename = "pgBorders")]
9037 #[serde(default, skip_serializing_if = "Option::is_none")]
9038 pub pg_borders: Option<Box<CTPageBorders>>,
9039 #[serde(rename = "lnNumType")]
9040 #[serde(default, skip_serializing_if = "Option::is_none")]
9041 pub ln_num_type: Option<Box<CTLineNumber>>,
9042 #[serde(rename = "pgNumType")]
9043 #[serde(default, skip_serializing_if = "Option::is_none")]
9044 pub pg_num_type: Option<Box<CTPageNumber>>,
9045 #[serde(rename = "cols")]
9046 #[serde(default, skip_serializing_if = "Option::is_none")]
9047 pub cols: Option<Box<Columns>>,
9048 #[serde(rename = "formProt")]
9049 #[serde(default, skip_serializing_if = "Option::is_none")]
9050 pub form_prot: Option<Box<OnOffElement>>,
9051 #[serde(rename = "vAlign")]
9052 #[serde(default, skip_serializing_if = "Option::is_none")]
9053 pub v_align: Option<Box<CTVerticalJc>>,
9054 #[serde(rename = "noEndnote")]
9055 #[serde(default, skip_serializing_if = "Option::is_none")]
9056 pub no_endnote: Option<Box<OnOffElement>>,
9057 #[serde(rename = "titlePg")]
9058 #[serde(default, skip_serializing_if = "Option::is_none")]
9059 pub title_pg: Option<Box<OnOffElement>>,
9060 #[serde(rename = "textDirection")]
9061 #[serde(default, skip_serializing_if = "Option::is_none")]
9062 pub text_direction: Option<Box<CTTextDirection>>,
9063 #[serde(rename = "bidi")]
9064 #[serde(default, skip_serializing_if = "Option::is_none")]
9065 pub bidi: Option<Box<OnOffElement>>,
9066 #[serde(rename = "rtlGutter")]
9067 #[serde(default, skip_serializing_if = "Option::is_none")]
9068 pub rtl_gutter: Option<Box<OnOffElement>>,
9069 #[serde(rename = "docGrid")]
9070 #[serde(default, skip_serializing_if = "Option::is_none")]
9071 pub doc_grid: Option<Box<DocumentGrid>>,
9072 #[serde(rename = "printerSettings")]
9073 #[serde(default, skip_serializing_if = "Option::is_none")]
9074 pub printer_settings: Option<Box<CTRel>>,
9075 #[cfg(feature = "extra-attrs")]
9077 #[serde(skip)]
9078 #[cfg(feature = "extra-attrs")]
9079 #[serde(default)]
9080 #[cfg(feature = "extra-attrs")]
9081 pub extra_attrs: std::collections::HashMap<String, String>,
9082 #[cfg(feature = "extra-children")]
9084 #[serde(skip)]
9085 #[cfg(feature = "extra-children")]
9086 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9087}
9088
9089#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9090pub struct SectionProperties {
9091 #[cfg(feature = "wml-track-changes")]
9092 #[serde(rename = "@w:rsidRPr")]
9093 #[serde(default, skip_serializing_if = "Option::is_none")]
9094 pub rsid_r_pr: Option<STLongHexNumber>,
9095 #[cfg(feature = "wml-track-changes")]
9096 #[serde(rename = "@w:rsidDel")]
9097 #[serde(default, skip_serializing_if = "Option::is_none")]
9098 pub rsid_del: Option<STLongHexNumber>,
9099 #[cfg(feature = "wml-track-changes")]
9100 #[serde(rename = "@w:rsidR")]
9101 #[serde(default, skip_serializing_if = "Option::is_none")]
9102 pub rsid_r: Option<STLongHexNumber>,
9103 #[cfg(feature = "wml-track-changes")]
9104 #[serde(rename = "@w:rsidSect")]
9105 #[serde(default, skip_serializing_if = "Option::is_none")]
9106 pub rsid_sect: Option<STLongHexNumber>,
9107 #[serde(skip)]
9108 #[serde(default)]
9109 pub header_footer_refs: Vec<HeaderFooterRef>,
9110 #[cfg(feature = "wml-comments")]
9111 #[serde(rename = "footnotePr")]
9112 #[serde(default, skip_serializing_if = "Option::is_none")]
9113 pub footnote_pr: Option<Box<CTFtnProps>>,
9114 #[cfg(feature = "wml-comments")]
9115 #[serde(rename = "endnotePr")]
9116 #[serde(default, skip_serializing_if = "Option::is_none")]
9117 pub endnote_pr: Option<Box<CTEdnProps>>,
9118 #[cfg(feature = "wml-layout")]
9119 #[serde(rename = "type")]
9120 #[serde(default, skip_serializing_if = "Option::is_none")]
9121 pub r#type: Option<Box<CTSectType>>,
9122 #[cfg(feature = "wml-layout")]
9123 #[serde(rename = "pgSz")]
9124 #[serde(default, skip_serializing_if = "Option::is_none")]
9125 pub pg_sz: Option<Box<PageSize>>,
9126 #[cfg(feature = "wml-layout")]
9127 #[serde(rename = "pgMar")]
9128 #[serde(default, skip_serializing_if = "Option::is_none")]
9129 pub pg_mar: Option<Box<PageMargins>>,
9130 #[cfg(feature = "wml-layout")]
9131 #[serde(rename = "paperSrc")]
9132 #[serde(default, skip_serializing_if = "Option::is_none")]
9133 pub paper_src: Option<Box<CTPaperSource>>,
9134 #[cfg(feature = "wml-layout")]
9135 #[serde(rename = "pgBorders")]
9136 #[serde(default, skip_serializing_if = "Option::is_none")]
9137 pub pg_borders: Option<Box<CTPageBorders>>,
9138 #[cfg(feature = "wml-layout")]
9139 #[serde(rename = "lnNumType")]
9140 #[serde(default, skip_serializing_if = "Option::is_none")]
9141 pub ln_num_type: Option<Box<CTLineNumber>>,
9142 #[cfg(feature = "wml-layout")]
9143 #[serde(rename = "pgNumType")]
9144 #[serde(default, skip_serializing_if = "Option::is_none")]
9145 pub pg_num_type: Option<Box<CTPageNumber>>,
9146 #[cfg(feature = "wml-layout")]
9147 #[serde(rename = "cols")]
9148 #[serde(default, skip_serializing_if = "Option::is_none")]
9149 pub cols: Option<Box<Columns>>,
9150 #[cfg(feature = "wml-layout")]
9151 #[serde(rename = "formProt")]
9152 #[serde(default, skip_serializing_if = "Option::is_none")]
9153 pub form_prot: Option<Box<OnOffElement>>,
9154 #[cfg(feature = "wml-layout")]
9155 #[serde(rename = "vAlign")]
9156 #[serde(default, skip_serializing_if = "Option::is_none")]
9157 pub v_align: Option<Box<CTVerticalJc>>,
9158 #[cfg(feature = "wml-comments")]
9159 #[serde(rename = "noEndnote")]
9160 #[serde(default, skip_serializing_if = "Option::is_none")]
9161 pub no_endnote: Option<Box<OnOffElement>>,
9162 #[cfg(feature = "wml-layout")]
9163 #[serde(rename = "titlePg")]
9164 #[serde(default, skip_serializing_if = "Option::is_none")]
9165 pub title_pg: Option<Box<OnOffElement>>,
9166 #[cfg(feature = "wml-layout")]
9167 #[serde(rename = "textDirection")]
9168 #[serde(default, skip_serializing_if = "Option::is_none")]
9169 pub text_direction: Option<Box<CTTextDirection>>,
9170 #[cfg(feature = "wml-layout")]
9171 #[serde(rename = "bidi")]
9172 #[serde(default, skip_serializing_if = "Option::is_none")]
9173 pub bidi: Option<Box<OnOffElement>>,
9174 #[cfg(feature = "wml-layout")]
9175 #[serde(rename = "rtlGutter")]
9176 #[serde(default, skip_serializing_if = "Option::is_none")]
9177 pub rtl_gutter: Option<Box<OnOffElement>>,
9178 #[cfg(feature = "wml-layout")]
9179 #[serde(rename = "docGrid")]
9180 #[serde(default, skip_serializing_if = "Option::is_none")]
9181 pub doc_grid: Option<Box<DocumentGrid>>,
9182 #[cfg(feature = "wml-layout")]
9183 #[serde(rename = "printerSettings")]
9184 #[serde(default, skip_serializing_if = "Option::is_none")]
9185 pub printer_settings: Option<Box<CTRel>>,
9186 #[cfg(feature = "wml-track-changes")]
9187 #[serde(rename = "sectPrChange")]
9188 #[serde(default, skip_serializing_if = "Option::is_none")]
9189 pub sect_pr_change: Option<Box<CTSectPrChange>>,
9190 #[cfg(feature = "extra-attrs")]
9192 #[serde(skip)]
9193 #[cfg(feature = "extra-attrs")]
9194 #[serde(default)]
9195 #[cfg(feature = "extra-attrs")]
9196 pub extra_attrs: std::collections::HashMap<String, String>,
9197 #[cfg(feature = "extra-children")]
9199 #[serde(skip)]
9200 #[cfg(feature = "extra-children")]
9201 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9202}
9203
9204#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9205pub struct CTBr {
9206 #[serde(rename = "@w:type")]
9207 #[serde(default, skip_serializing_if = "Option::is_none")]
9208 pub r#type: Option<STBrType>,
9209 #[serde(rename = "@w:clear")]
9210 #[serde(default, skip_serializing_if = "Option::is_none")]
9211 pub clear: Option<STBrClear>,
9212 #[cfg(feature = "extra-attrs")]
9214 #[serde(skip)]
9215 #[cfg(feature = "extra-attrs")]
9216 #[serde(default)]
9217 #[cfg(feature = "extra-attrs")]
9218 pub extra_attrs: std::collections::HashMap<String, String>,
9219}
9220
9221#[derive(Debug, Clone, Serialize, Deserialize)]
9222pub struct CTPTab {
9223 #[serde(rename = "@w:alignment")]
9224 pub alignment: STPTabAlignment,
9225 #[serde(rename = "@w:relativeTo")]
9226 pub relative_to: STPTabRelativeTo,
9227 #[cfg(feature = "wml-styling")]
9228 #[serde(rename = "@w:leader")]
9229 pub leader: STPTabLeader,
9230 #[cfg(feature = "extra-attrs")]
9232 #[serde(skip)]
9233 #[cfg(feature = "extra-attrs")]
9234 #[serde(default)]
9235 #[cfg(feature = "extra-attrs")]
9236 pub extra_attrs: std::collections::HashMap<String, String>,
9237}
9238
9239#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9240pub struct CTSym {
9241 #[cfg(feature = "wml-styling")]
9242 #[serde(rename = "@w:font")]
9243 #[serde(default, skip_serializing_if = "Option::is_none")]
9244 pub font: Option<STString>,
9245 #[serde(rename = "@w:char")]
9246 #[serde(default, skip_serializing_if = "Option::is_none")]
9247 pub char: Option<STShortHexNumber>,
9248 #[cfg(feature = "extra-attrs")]
9250 #[serde(skip)]
9251 #[cfg(feature = "extra-attrs")]
9252 #[serde(default)]
9253 #[cfg(feature = "extra-attrs")]
9254 pub extra_attrs: std::collections::HashMap<String, String>,
9255}
9256
9257#[derive(Debug, Clone, Serialize, Deserialize)]
9258pub struct CTProofErr {
9259 #[serde(rename = "@w:type")]
9260 pub r#type: STProofErr,
9261 #[cfg(feature = "extra-attrs")]
9263 #[serde(skip)]
9264 #[cfg(feature = "extra-attrs")]
9265 #[serde(default)]
9266 #[cfg(feature = "extra-attrs")]
9267 pub extra_attrs: std::collections::HashMap<String, String>,
9268}
9269
9270#[derive(Debug, Clone, Serialize, Deserialize)]
9271pub struct CTPerm {
9272 #[serde(rename = "@w:id")]
9273 pub id: STString,
9274 #[cfg(feature = "wml-settings")]
9275 #[serde(rename = "@w:displacedByCustomXml")]
9276 #[serde(default, skip_serializing_if = "Option::is_none")]
9277 pub displaced_by_custom_xml: Option<STDisplacedByCustomXml>,
9278 #[cfg(feature = "extra-attrs")]
9280 #[serde(skip)]
9281 #[cfg(feature = "extra-attrs")]
9282 #[serde(default)]
9283 #[cfg(feature = "extra-attrs")]
9284 pub extra_attrs: std::collections::HashMap<String, String>,
9285}
9286
9287#[derive(Debug, Clone, Serialize, Deserialize)]
9288pub struct CTPermStart {
9289 #[serde(rename = "@w:id")]
9290 pub id: STString,
9291 #[serde(rename = "@w:displacedByCustomXml")]
9292 #[serde(default, skip_serializing_if = "Option::is_none")]
9293 pub displaced_by_custom_xml: Option<STDisplacedByCustomXml>,
9294 #[cfg(feature = "wml-settings")]
9295 #[serde(rename = "@w:edGrp")]
9296 #[serde(default, skip_serializing_if = "Option::is_none")]
9297 pub ed_grp: Option<STEdGrp>,
9298 #[cfg(feature = "wml-settings")]
9299 #[serde(rename = "@w:ed")]
9300 #[serde(default, skip_serializing_if = "Option::is_none")]
9301 pub ed: Option<STString>,
9302 #[cfg(feature = "wml-tables")]
9303 #[serde(rename = "@w:colFirst")]
9304 #[serde(default, skip_serializing_if = "Option::is_none")]
9305 pub col_first: Option<STDecimalNumber>,
9306 #[cfg(feature = "wml-tables")]
9307 #[serde(rename = "@w:colLast")]
9308 #[serde(default, skip_serializing_if = "Option::is_none")]
9309 pub col_last: Option<STDecimalNumber>,
9310 #[cfg(feature = "extra-attrs")]
9312 #[serde(skip)]
9313 #[cfg(feature = "extra-attrs")]
9314 #[serde(default)]
9315 #[cfg(feature = "extra-attrs")]
9316 pub extra_attrs: std::collections::HashMap<String, String>,
9317}
9318
9319#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9320pub struct Text {
9321 #[serde(rename = "$text")]
9322 #[serde(default, skip_serializing_if = "Option::is_none")]
9323 pub text: Option<String>,
9324 #[cfg(feature = "extra-children")]
9326 #[serde(skip)]
9327 #[cfg(feature = "extra-children")]
9328 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9329}
9330
9331#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9332pub struct Run {
9333 #[cfg(feature = "wml-track-changes")]
9334 #[serde(rename = "@w:rsidRPr")]
9335 #[serde(default, skip_serializing_if = "Option::is_none")]
9336 pub rsid_r_pr: Option<STLongHexNumber>,
9337 #[cfg(feature = "wml-track-changes")]
9338 #[serde(rename = "@w:rsidDel")]
9339 #[serde(default, skip_serializing_if = "Option::is_none")]
9340 pub rsid_del: Option<STLongHexNumber>,
9341 #[cfg(feature = "wml-track-changes")]
9342 #[serde(rename = "@w:rsidR")]
9343 #[serde(default, skip_serializing_if = "Option::is_none")]
9344 pub rsid_r: Option<STLongHexNumber>,
9345 #[cfg(feature = "wml-styling")]
9346 #[serde(rename = "rPr")]
9347 #[serde(default, skip_serializing_if = "Option::is_none")]
9348 pub r_pr: Option<Box<RunProperties>>,
9349 #[serde(skip)]
9350 #[serde(default)]
9351 pub run_content: Vec<RunContent>,
9352 #[cfg(feature = "extra-attrs")]
9354 #[serde(skip)]
9355 #[cfg(feature = "extra-attrs")]
9356 #[serde(default)]
9357 #[cfg(feature = "extra-attrs")]
9358 pub extra_attrs: std::collections::HashMap<String, String>,
9359 #[cfg(feature = "extra-children")]
9361 #[serde(skip)]
9362 #[cfg(feature = "extra-children")]
9363 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9364}
9365
9366#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9367pub struct Fonts {
9368 #[cfg(feature = "wml-styling")]
9369 #[serde(rename = "@w:hint")]
9370 #[serde(default, skip_serializing_if = "Option::is_none")]
9371 pub hint: Option<STHint>,
9372 #[cfg(feature = "wml-styling")]
9373 #[serde(rename = "@w:ascii")]
9374 #[serde(default, skip_serializing_if = "Option::is_none")]
9375 pub ascii: Option<STString>,
9376 #[cfg(feature = "wml-styling")]
9377 #[serde(rename = "@w:hAnsi")]
9378 #[serde(default, skip_serializing_if = "Option::is_none")]
9379 pub h_ansi: Option<STString>,
9380 #[cfg(feature = "wml-styling")]
9381 #[serde(rename = "@w:eastAsia")]
9382 #[serde(default, skip_serializing_if = "Option::is_none")]
9383 pub east_asia: Option<STString>,
9384 #[cfg(feature = "wml-styling")]
9385 #[serde(rename = "@w:cs")]
9386 #[serde(default, skip_serializing_if = "Option::is_none")]
9387 pub cs: Option<STString>,
9388 #[cfg(feature = "wml-styling")]
9389 #[serde(rename = "@w:asciiTheme")]
9390 #[serde(default, skip_serializing_if = "Option::is_none")]
9391 pub ascii_theme: Option<STTheme>,
9392 #[cfg(feature = "wml-styling")]
9393 #[serde(rename = "@w:hAnsiTheme")]
9394 #[serde(default, skip_serializing_if = "Option::is_none")]
9395 pub h_ansi_theme: Option<STTheme>,
9396 #[cfg(feature = "wml-styling")]
9397 #[serde(rename = "@w:eastAsiaTheme")]
9398 #[serde(default, skip_serializing_if = "Option::is_none")]
9399 pub east_asia_theme: Option<STTheme>,
9400 #[cfg(feature = "wml-styling")]
9401 #[serde(rename = "@w:cstheme")]
9402 #[serde(default, skip_serializing_if = "Option::is_none")]
9403 pub cstheme: Option<STTheme>,
9404 #[cfg(feature = "extra-attrs")]
9406 #[serde(skip)]
9407 #[cfg(feature = "extra-attrs")]
9408 #[serde(default)]
9409 #[cfg(feature = "extra-attrs")]
9410 pub extra_attrs: std::collections::HashMap<String, String>,
9411}
9412
9413#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9414pub struct EGRPrBase {
9415 #[serde(rename = "rStyle")]
9416 #[serde(default, skip_serializing_if = "Option::is_none")]
9417 pub run_style: Option<Box<CTString>>,
9418 #[serde(rename = "rFonts")]
9419 #[serde(default, skip_serializing_if = "Option::is_none")]
9420 pub fonts: Option<Box<Fonts>>,
9421 #[serde(rename = "b")]
9422 #[serde(default, skip_serializing_if = "Option::is_none")]
9423 pub bold: Option<Box<OnOffElement>>,
9424 #[serde(rename = "bCs")]
9425 #[serde(default, skip_serializing_if = "Option::is_none")]
9426 pub b_cs: Option<Box<OnOffElement>>,
9427 #[serde(rename = "i")]
9428 #[serde(default, skip_serializing_if = "Option::is_none")]
9429 pub italic: Option<Box<OnOffElement>>,
9430 #[serde(rename = "iCs")]
9431 #[serde(default, skip_serializing_if = "Option::is_none")]
9432 pub i_cs: Option<Box<OnOffElement>>,
9433 #[serde(rename = "caps")]
9434 #[serde(default, skip_serializing_if = "Option::is_none")]
9435 pub caps: Option<Box<OnOffElement>>,
9436 #[serde(rename = "smallCaps")]
9437 #[serde(default, skip_serializing_if = "Option::is_none")]
9438 pub small_caps: Option<Box<OnOffElement>>,
9439 #[serde(rename = "strike")]
9440 #[serde(default, skip_serializing_if = "Option::is_none")]
9441 pub strikethrough: Option<Box<OnOffElement>>,
9442 #[serde(rename = "dstrike")]
9443 #[serde(default, skip_serializing_if = "Option::is_none")]
9444 pub dstrike: Option<Box<OnOffElement>>,
9445 #[serde(rename = "outline")]
9446 #[serde(default, skip_serializing_if = "Option::is_none")]
9447 pub outline: Option<Box<OnOffElement>>,
9448 #[serde(rename = "shadow")]
9449 #[serde(default, skip_serializing_if = "Option::is_none")]
9450 pub shadow: Option<Box<OnOffElement>>,
9451 #[serde(rename = "emboss")]
9452 #[serde(default, skip_serializing_if = "Option::is_none")]
9453 pub emboss: Option<Box<OnOffElement>>,
9454 #[serde(rename = "imprint")]
9455 #[serde(default, skip_serializing_if = "Option::is_none")]
9456 pub imprint: Option<Box<OnOffElement>>,
9457 #[serde(rename = "noProof")]
9458 #[serde(default, skip_serializing_if = "Option::is_none")]
9459 pub no_proof: Option<Box<OnOffElement>>,
9460 #[serde(rename = "snapToGrid")]
9461 #[serde(default, skip_serializing_if = "Option::is_none")]
9462 pub snap_to_grid: Option<Box<OnOffElement>>,
9463 #[serde(rename = "vanish")]
9464 #[serde(default, skip_serializing_if = "Option::is_none")]
9465 pub vanish: Option<Box<OnOffElement>>,
9466 #[serde(rename = "webHidden")]
9467 #[serde(default, skip_serializing_if = "Option::is_none")]
9468 pub web_hidden: Option<Box<OnOffElement>>,
9469 #[serde(rename = "color")]
9470 #[serde(default, skip_serializing_if = "Option::is_none")]
9471 pub color: Option<Box<CTColor>>,
9472 #[serde(rename = "spacing")]
9473 #[serde(default, skip_serializing_if = "Option::is_none")]
9474 pub spacing: Option<Box<SignedTwipsMeasureElement>>,
9475 #[serde(rename = "w")]
9476 #[serde(default, skip_serializing_if = "Option::is_none")]
9477 pub width: Option<Box<TextScaleElement>>,
9478 #[serde(rename = "kern")]
9479 #[serde(default, skip_serializing_if = "Option::is_none")]
9480 pub kern: Option<Box<HpsMeasureElement>>,
9481 #[serde(rename = "position")]
9482 #[serde(default, skip_serializing_if = "Option::is_none")]
9483 pub position: Option<Box<SignedHpsMeasureElement>>,
9484 #[serde(rename = "sz")]
9485 #[serde(default, skip_serializing_if = "Option::is_none")]
9486 pub size: Option<Box<HpsMeasureElement>>,
9487 #[serde(rename = "szCs")]
9488 #[serde(default, skip_serializing_if = "Option::is_none")]
9489 pub size_complex_script: Option<Box<HpsMeasureElement>>,
9490 #[serde(rename = "highlight")]
9491 #[serde(default, skip_serializing_if = "Option::is_none")]
9492 pub highlight: Option<Box<CTHighlight>>,
9493 #[serde(rename = "u")]
9494 #[serde(default, skip_serializing_if = "Option::is_none")]
9495 pub underline: Option<Box<CTUnderline>>,
9496 #[serde(rename = "effect")]
9497 #[serde(default, skip_serializing_if = "Option::is_none")]
9498 pub effect: Option<Box<CTTextEffect>>,
9499 #[serde(rename = "bdr")]
9500 #[serde(default, skip_serializing_if = "Option::is_none")]
9501 pub bdr: Option<Box<CTBorder>>,
9502 #[serde(rename = "shd")]
9503 #[serde(default, skip_serializing_if = "Option::is_none")]
9504 pub shading: Option<Box<CTShd>>,
9505 #[serde(rename = "fitText")]
9506 #[serde(default, skip_serializing_if = "Option::is_none")]
9507 pub fit_text: Option<Box<CTFitText>>,
9508 #[serde(rename = "vertAlign")]
9509 #[serde(default, skip_serializing_if = "Option::is_none")]
9510 pub vert_align: Option<Box<CTVerticalAlignRun>>,
9511 #[serde(rename = "rtl")]
9512 #[serde(default, skip_serializing_if = "Option::is_none")]
9513 pub rtl: Option<Box<OnOffElement>>,
9514 #[serde(rename = "cs")]
9515 #[serde(default, skip_serializing_if = "Option::is_none")]
9516 pub cs: Option<Box<OnOffElement>>,
9517 #[serde(rename = "em")]
9518 #[serde(default, skip_serializing_if = "Option::is_none")]
9519 pub em: Option<Box<CTEm>>,
9520 #[serde(rename = "lang")]
9521 #[serde(default, skip_serializing_if = "Option::is_none")]
9522 pub lang: Option<Box<LanguageElement>>,
9523 #[serde(rename = "eastAsianLayout")]
9524 #[serde(default, skip_serializing_if = "Option::is_none")]
9525 pub east_asian_layout: Option<Box<CTEastAsianLayout>>,
9526 #[serde(rename = "specVanish")]
9527 #[serde(default, skip_serializing_if = "Option::is_none")]
9528 pub spec_vanish: Option<Box<OnOffElement>>,
9529 #[serde(rename = "oMath")]
9530 #[serde(default, skip_serializing_if = "Option::is_none")]
9531 pub o_math: Option<Box<OnOffElement>>,
9532 #[cfg(feature = "extra-children")]
9534 #[serde(skip)]
9535 #[cfg(feature = "extra-children")]
9536 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9537}
9538
9539#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9540pub struct EGRPrContent {
9541 #[serde(rename = "rStyle")]
9542 #[serde(default, skip_serializing_if = "Option::is_none")]
9543 pub run_style: Option<Box<CTString>>,
9544 #[serde(rename = "rFonts")]
9545 #[serde(default, skip_serializing_if = "Option::is_none")]
9546 pub fonts: Option<Box<Fonts>>,
9547 #[serde(rename = "b")]
9548 #[serde(default, skip_serializing_if = "Option::is_none")]
9549 pub bold: Option<Box<OnOffElement>>,
9550 #[serde(rename = "bCs")]
9551 #[serde(default, skip_serializing_if = "Option::is_none")]
9552 pub b_cs: Option<Box<OnOffElement>>,
9553 #[serde(rename = "i")]
9554 #[serde(default, skip_serializing_if = "Option::is_none")]
9555 pub italic: Option<Box<OnOffElement>>,
9556 #[serde(rename = "iCs")]
9557 #[serde(default, skip_serializing_if = "Option::is_none")]
9558 pub i_cs: Option<Box<OnOffElement>>,
9559 #[serde(rename = "caps")]
9560 #[serde(default, skip_serializing_if = "Option::is_none")]
9561 pub caps: Option<Box<OnOffElement>>,
9562 #[serde(rename = "smallCaps")]
9563 #[serde(default, skip_serializing_if = "Option::is_none")]
9564 pub small_caps: Option<Box<OnOffElement>>,
9565 #[serde(rename = "strike")]
9566 #[serde(default, skip_serializing_if = "Option::is_none")]
9567 pub strikethrough: Option<Box<OnOffElement>>,
9568 #[serde(rename = "dstrike")]
9569 #[serde(default, skip_serializing_if = "Option::is_none")]
9570 pub dstrike: Option<Box<OnOffElement>>,
9571 #[serde(rename = "outline")]
9572 #[serde(default, skip_serializing_if = "Option::is_none")]
9573 pub outline: Option<Box<OnOffElement>>,
9574 #[serde(rename = "shadow")]
9575 #[serde(default, skip_serializing_if = "Option::is_none")]
9576 pub shadow: Option<Box<OnOffElement>>,
9577 #[serde(rename = "emboss")]
9578 #[serde(default, skip_serializing_if = "Option::is_none")]
9579 pub emboss: Option<Box<OnOffElement>>,
9580 #[serde(rename = "imprint")]
9581 #[serde(default, skip_serializing_if = "Option::is_none")]
9582 pub imprint: Option<Box<OnOffElement>>,
9583 #[serde(rename = "noProof")]
9584 #[serde(default, skip_serializing_if = "Option::is_none")]
9585 pub no_proof: Option<Box<OnOffElement>>,
9586 #[serde(rename = "snapToGrid")]
9587 #[serde(default, skip_serializing_if = "Option::is_none")]
9588 pub snap_to_grid: Option<Box<OnOffElement>>,
9589 #[serde(rename = "vanish")]
9590 #[serde(default, skip_serializing_if = "Option::is_none")]
9591 pub vanish: Option<Box<OnOffElement>>,
9592 #[serde(rename = "webHidden")]
9593 #[serde(default, skip_serializing_if = "Option::is_none")]
9594 pub web_hidden: Option<Box<OnOffElement>>,
9595 #[serde(rename = "color")]
9596 #[serde(default, skip_serializing_if = "Option::is_none")]
9597 pub color: Option<Box<CTColor>>,
9598 #[serde(rename = "spacing")]
9599 #[serde(default, skip_serializing_if = "Option::is_none")]
9600 pub spacing: Option<Box<SignedTwipsMeasureElement>>,
9601 #[serde(rename = "w")]
9602 #[serde(default, skip_serializing_if = "Option::is_none")]
9603 pub width: Option<Box<TextScaleElement>>,
9604 #[serde(rename = "kern")]
9605 #[serde(default, skip_serializing_if = "Option::is_none")]
9606 pub kern: Option<Box<HpsMeasureElement>>,
9607 #[serde(rename = "position")]
9608 #[serde(default, skip_serializing_if = "Option::is_none")]
9609 pub position: Option<Box<SignedHpsMeasureElement>>,
9610 #[serde(rename = "sz")]
9611 #[serde(default, skip_serializing_if = "Option::is_none")]
9612 pub size: Option<Box<HpsMeasureElement>>,
9613 #[serde(rename = "szCs")]
9614 #[serde(default, skip_serializing_if = "Option::is_none")]
9615 pub size_complex_script: Option<Box<HpsMeasureElement>>,
9616 #[serde(rename = "highlight")]
9617 #[serde(default, skip_serializing_if = "Option::is_none")]
9618 pub highlight: Option<Box<CTHighlight>>,
9619 #[serde(rename = "u")]
9620 #[serde(default, skip_serializing_if = "Option::is_none")]
9621 pub underline: Option<Box<CTUnderline>>,
9622 #[serde(rename = "effect")]
9623 #[serde(default, skip_serializing_if = "Option::is_none")]
9624 pub effect: Option<Box<CTTextEffect>>,
9625 #[serde(rename = "bdr")]
9626 #[serde(default, skip_serializing_if = "Option::is_none")]
9627 pub bdr: Option<Box<CTBorder>>,
9628 #[serde(rename = "shd")]
9629 #[serde(default, skip_serializing_if = "Option::is_none")]
9630 pub shading: Option<Box<CTShd>>,
9631 #[serde(rename = "fitText")]
9632 #[serde(default, skip_serializing_if = "Option::is_none")]
9633 pub fit_text: Option<Box<CTFitText>>,
9634 #[serde(rename = "vertAlign")]
9635 #[serde(default, skip_serializing_if = "Option::is_none")]
9636 pub vert_align: Option<Box<CTVerticalAlignRun>>,
9637 #[serde(rename = "rtl")]
9638 #[serde(default, skip_serializing_if = "Option::is_none")]
9639 pub rtl: Option<Box<OnOffElement>>,
9640 #[serde(rename = "cs")]
9641 #[serde(default, skip_serializing_if = "Option::is_none")]
9642 pub cs: Option<Box<OnOffElement>>,
9643 #[serde(rename = "em")]
9644 #[serde(default, skip_serializing_if = "Option::is_none")]
9645 pub em: Option<Box<CTEm>>,
9646 #[serde(rename = "lang")]
9647 #[serde(default, skip_serializing_if = "Option::is_none")]
9648 pub lang: Option<Box<LanguageElement>>,
9649 #[serde(rename = "eastAsianLayout")]
9650 #[serde(default, skip_serializing_if = "Option::is_none")]
9651 pub east_asian_layout: Option<Box<CTEastAsianLayout>>,
9652 #[serde(rename = "specVanish")]
9653 #[serde(default, skip_serializing_if = "Option::is_none")]
9654 pub spec_vanish: Option<Box<OnOffElement>>,
9655 #[serde(rename = "oMath")]
9656 #[serde(default, skip_serializing_if = "Option::is_none")]
9657 pub o_math: Option<Box<OnOffElement>>,
9658 #[serde(rename = "rPrChange")]
9659 #[serde(default, skip_serializing_if = "Option::is_none")]
9660 pub r_pr_change: Option<Box<CTRPrChange>>,
9661 #[cfg(feature = "extra-children")]
9663 #[serde(skip)]
9664 #[cfg(feature = "extra-children")]
9665 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9666}
9667
9668#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9669pub struct RunProperties {
9670 #[serde(rename = "rStyle")]
9671 #[serde(default, skip_serializing_if = "Option::is_none")]
9672 pub run_style: Option<Box<CTString>>,
9673 #[cfg(feature = "wml-styling")]
9674 #[serde(rename = "rFonts")]
9675 #[serde(default, skip_serializing_if = "Option::is_none")]
9676 pub fonts: Option<Box<Fonts>>,
9677 #[cfg(feature = "wml-styling")]
9678 #[serde(rename = "b")]
9679 #[serde(default, skip_serializing_if = "Option::is_none")]
9680 pub bold: Option<Box<OnOffElement>>,
9681 #[cfg(feature = "wml-styling")]
9682 #[serde(rename = "bCs")]
9683 #[serde(default, skip_serializing_if = "Option::is_none")]
9684 pub b_cs: Option<Box<OnOffElement>>,
9685 #[cfg(feature = "wml-styling")]
9686 #[serde(rename = "i")]
9687 #[serde(default, skip_serializing_if = "Option::is_none")]
9688 pub italic: Option<Box<OnOffElement>>,
9689 #[cfg(feature = "wml-styling")]
9690 #[serde(rename = "iCs")]
9691 #[serde(default, skip_serializing_if = "Option::is_none")]
9692 pub i_cs: Option<Box<OnOffElement>>,
9693 #[cfg(feature = "wml-styling")]
9694 #[serde(rename = "caps")]
9695 #[serde(default, skip_serializing_if = "Option::is_none")]
9696 pub caps: Option<Box<OnOffElement>>,
9697 #[cfg(feature = "wml-styling")]
9698 #[serde(rename = "smallCaps")]
9699 #[serde(default, skip_serializing_if = "Option::is_none")]
9700 pub small_caps: Option<Box<OnOffElement>>,
9701 #[cfg(feature = "wml-styling")]
9702 #[serde(rename = "strike")]
9703 #[serde(default, skip_serializing_if = "Option::is_none")]
9704 pub strikethrough: Option<Box<OnOffElement>>,
9705 #[cfg(feature = "wml-styling")]
9706 #[serde(rename = "dstrike")]
9707 #[serde(default, skip_serializing_if = "Option::is_none")]
9708 pub dstrike: Option<Box<OnOffElement>>,
9709 #[cfg(feature = "wml-styling")]
9710 #[serde(rename = "outline")]
9711 #[serde(default, skip_serializing_if = "Option::is_none")]
9712 pub outline: Option<Box<OnOffElement>>,
9713 #[cfg(feature = "wml-styling")]
9714 #[serde(rename = "shadow")]
9715 #[serde(default, skip_serializing_if = "Option::is_none")]
9716 pub shadow: Option<Box<OnOffElement>>,
9717 #[cfg(feature = "wml-styling")]
9718 #[serde(rename = "emboss")]
9719 #[serde(default, skip_serializing_if = "Option::is_none")]
9720 pub emboss: Option<Box<OnOffElement>>,
9721 #[cfg(feature = "wml-styling")]
9722 #[serde(rename = "imprint")]
9723 #[serde(default, skip_serializing_if = "Option::is_none")]
9724 pub imprint: Option<Box<OnOffElement>>,
9725 #[cfg(feature = "wml-styling")]
9726 #[serde(rename = "noProof")]
9727 #[serde(default, skip_serializing_if = "Option::is_none")]
9728 pub no_proof: Option<Box<OnOffElement>>,
9729 #[cfg(feature = "wml-styling")]
9730 #[serde(rename = "snapToGrid")]
9731 #[serde(default, skip_serializing_if = "Option::is_none")]
9732 pub snap_to_grid: Option<Box<OnOffElement>>,
9733 #[cfg(feature = "wml-styling")]
9734 #[serde(rename = "vanish")]
9735 #[serde(default, skip_serializing_if = "Option::is_none")]
9736 pub vanish: Option<Box<OnOffElement>>,
9737 #[cfg(feature = "wml-styling")]
9738 #[serde(rename = "webHidden")]
9739 #[serde(default, skip_serializing_if = "Option::is_none")]
9740 pub web_hidden: Option<Box<OnOffElement>>,
9741 #[cfg(feature = "wml-styling")]
9742 #[serde(rename = "color")]
9743 #[serde(default, skip_serializing_if = "Option::is_none")]
9744 pub color: Option<Box<CTColor>>,
9745 #[cfg(feature = "wml-styling")]
9746 #[serde(rename = "spacing")]
9747 #[serde(default, skip_serializing_if = "Option::is_none")]
9748 pub spacing: Option<Box<SignedTwipsMeasureElement>>,
9749 #[cfg(feature = "wml-styling")]
9750 #[serde(rename = "w")]
9751 #[serde(default, skip_serializing_if = "Option::is_none")]
9752 pub width: Option<Box<TextScaleElement>>,
9753 #[cfg(feature = "wml-styling")]
9754 #[serde(rename = "kern")]
9755 #[serde(default, skip_serializing_if = "Option::is_none")]
9756 pub kern: Option<Box<HpsMeasureElement>>,
9757 #[cfg(feature = "wml-styling")]
9758 #[serde(rename = "position")]
9759 #[serde(default, skip_serializing_if = "Option::is_none")]
9760 pub position: Option<Box<SignedHpsMeasureElement>>,
9761 #[cfg(feature = "wml-styling")]
9762 #[serde(rename = "sz")]
9763 #[serde(default, skip_serializing_if = "Option::is_none")]
9764 pub size: Option<Box<HpsMeasureElement>>,
9765 #[cfg(feature = "wml-styling")]
9766 #[serde(rename = "szCs")]
9767 #[serde(default, skip_serializing_if = "Option::is_none")]
9768 pub size_complex_script: Option<Box<HpsMeasureElement>>,
9769 #[cfg(feature = "wml-styling")]
9770 #[serde(rename = "highlight")]
9771 #[serde(default, skip_serializing_if = "Option::is_none")]
9772 pub highlight: Option<Box<CTHighlight>>,
9773 #[cfg(feature = "wml-styling")]
9774 #[serde(rename = "u")]
9775 #[serde(default, skip_serializing_if = "Option::is_none")]
9776 pub underline: Option<Box<CTUnderline>>,
9777 #[cfg(feature = "wml-styling")]
9778 #[serde(rename = "effect")]
9779 #[serde(default, skip_serializing_if = "Option::is_none")]
9780 pub effect: Option<Box<CTTextEffect>>,
9781 #[cfg(feature = "wml-styling")]
9782 #[serde(rename = "bdr")]
9783 #[serde(default, skip_serializing_if = "Option::is_none")]
9784 pub bdr: Option<Box<CTBorder>>,
9785 #[cfg(feature = "wml-styling")]
9786 #[serde(rename = "shd")]
9787 #[serde(default, skip_serializing_if = "Option::is_none")]
9788 pub shading: Option<Box<CTShd>>,
9789 #[cfg(feature = "wml-styling")]
9790 #[serde(rename = "fitText")]
9791 #[serde(default, skip_serializing_if = "Option::is_none")]
9792 pub fit_text: Option<Box<CTFitText>>,
9793 #[cfg(feature = "wml-styling")]
9794 #[serde(rename = "vertAlign")]
9795 #[serde(default, skip_serializing_if = "Option::is_none")]
9796 pub vert_align: Option<Box<CTVerticalAlignRun>>,
9797 #[cfg(feature = "wml-styling")]
9798 #[serde(rename = "rtl")]
9799 #[serde(default, skip_serializing_if = "Option::is_none")]
9800 pub rtl: Option<Box<OnOffElement>>,
9801 #[cfg(feature = "wml-styling")]
9802 #[serde(rename = "cs")]
9803 #[serde(default, skip_serializing_if = "Option::is_none")]
9804 pub cs: Option<Box<OnOffElement>>,
9805 #[cfg(feature = "wml-styling")]
9806 #[serde(rename = "em")]
9807 #[serde(default, skip_serializing_if = "Option::is_none")]
9808 pub em: Option<Box<CTEm>>,
9809 #[cfg(feature = "wml-styling")]
9810 #[serde(rename = "lang")]
9811 #[serde(default, skip_serializing_if = "Option::is_none")]
9812 pub lang: Option<Box<LanguageElement>>,
9813 #[cfg(feature = "wml-styling")]
9814 #[serde(rename = "eastAsianLayout")]
9815 #[serde(default, skip_serializing_if = "Option::is_none")]
9816 pub east_asian_layout: Option<Box<CTEastAsianLayout>>,
9817 #[cfg(feature = "wml-styling")]
9818 #[serde(rename = "specVanish")]
9819 #[serde(default, skip_serializing_if = "Option::is_none")]
9820 pub spec_vanish: Option<Box<OnOffElement>>,
9821 #[cfg(feature = "wml-styling")]
9822 #[serde(rename = "oMath")]
9823 #[serde(default, skip_serializing_if = "Option::is_none")]
9824 pub o_math: Option<Box<OnOffElement>>,
9825 #[cfg(feature = "wml-track-changes")]
9826 #[serde(rename = "rPrChange")]
9827 #[serde(default, skip_serializing_if = "Option::is_none")]
9828 pub r_pr_change: Option<Box<CTRPrChange>>,
9829 #[cfg(feature = "extra-children")]
9831 #[serde(skip)]
9832 #[cfg(feature = "extra-children")]
9833 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9834}
9835
9836#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9837pub struct EGRPr {
9838 #[serde(rename = "rPr")]
9839 #[serde(default, skip_serializing_if = "Option::is_none")]
9840 pub r_pr: Option<Box<RunProperties>>,
9841 #[cfg(feature = "extra-children")]
9843 #[serde(skip)]
9844 #[cfg(feature = "extra-children")]
9845 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9846}
9847
9848#[derive(Debug, Clone, Serialize, Deserialize)]
9849pub struct CTMathCtrlIns {
9850 #[serde(rename = "@w:id")]
9851 pub id: STDecimalNumber,
9852 #[serde(rename = "@w:author")]
9853 pub author: STString,
9854 #[serde(rename = "@w:date")]
9855 #[serde(default, skip_serializing_if = "Option::is_none")]
9856 pub date: Option<STDateTime>,
9857 #[cfg(feature = "wml-track-changes")]
9858 #[serde(rename = "del")]
9859 #[serde(default, skip_serializing_if = "Option::is_none")]
9860 pub del: Option<Box<CTRPrChange>>,
9861 #[cfg(feature = "wml-styling")]
9862 #[serde(rename = "rPr")]
9863 #[serde(default, skip_serializing_if = "Option::is_none")]
9864 pub r_pr: Option<Box<RunProperties>>,
9865 #[cfg(feature = "extra-attrs")]
9867 #[serde(skip)]
9868 #[cfg(feature = "extra-attrs")]
9869 #[serde(default)]
9870 #[cfg(feature = "extra-attrs")]
9871 pub extra_attrs: std::collections::HashMap<String, String>,
9872 #[cfg(feature = "extra-children")]
9874 #[serde(skip)]
9875 #[cfg(feature = "extra-children")]
9876 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9877}
9878
9879#[derive(Debug, Clone, Serialize, Deserialize)]
9880pub struct CTMathCtrlDel {
9881 #[serde(rename = "@w:id")]
9882 pub id: STDecimalNumber,
9883 #[serde(rename = "@w:author")]
9884 pub author: STString,
9885 #[serde(rename = "@w:date")]
9886 #[serde(default, skip_serializing_if = "Option::is_none")]
9887 pub date: Option<STDateTime>,
9888 #[cfg(feature = "wml-styling")]
9889 #[serde(rename = "rPr")]
9890 #[serde(default, skip_serializing_if = "Option::is_none")]
9891 pub r_pr: Option<Box<RunProperties>>,
9892 #[cfg(feature = "extra-attrs")]
9894 #[serde(skip)]
9895 #[cfg(feature = "extra-attrs")]
9896 #[serde(default)]
9897 #[cfg(feature = "extra-attrs")]
9898 pub extra_attrs: std::collections::HashMap<String, String>,
9899 #[cfg(feature = "extra-children")]
9901 #[serde(skip)]
9902 #[cfg(feature = "extra-children")]
9903 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9904}
9905
9906#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9907pub struct CTRPrOriginal {
9908 #[serde(rename = "rStyle")]
9909 #[serde(default, skip_serializing_if = "Option::is_none")]
9910 pub run_style: Option<Box<CTString>>,
9911 #[serde(rename = "rFonts")]
9912 #[serde(default, skip_serializing_if = "Option::is_none")]
9913 pub fonts: Option<Box<Fonts>>,
9914 #[serde(rename = "b")]
9915 #[serde(default, skip_serializing_if = "Option::is_none")]
9916 pub bold: Option<Box<OnOffElement>>,
9917 #[serde(rename = "bCs")]
9918 #[serde(default, skip_serializing_if = "Option::is_none")]
9919 pub b_cs: Option<Box<OnOffElement>>,
9920 #[serde(rename = "i")]
9921 #[serde(default, skip_serializing_if = "Option::is_none")]
9922 pub italic: Option<Box<OnOffElement>>,
9923 #[serde(rename = "iCs")]
9924 #[serde(default, skip_serializing_if = "Option::is_none")]
9925 pub i_cs: Option<Box<OnOffElement>>,
9926 #[serde(rename = "caps")]
9927 #[serde(default, skip_serializing_if = "Option::is_none")]
9928 pub caps: Option<Box<OnOffElement>>,
9929 #[serde(rename = "smallCaps")]
9930 #[serde(default, skip_serializing_if = "Option::is_none")]
9931 pub small_caps: Option<Box<OnOffElement>>,
9932 #[serde(rename = "strike")]
9933 #[serde(default, skip_serializing_if = "Option::is_none")]
9934 pub strikethrough: Option<Box<OnOffElement>>,
9935 #[serde(rename = "dstrike")]
9936 #[serde(default, skip_serializing_if = "Option::is_none")]
9937 pub dstrike: Option<Box<OnOffElement>>,
9938 #[serde(rename = "outline")]
9939 #[serde(default, skip_serializing_if = "Option::is_none")]
9940 pub outline: Option<Box<OnOffElement>>,
9941 #[serde(rename = "shadow")]
9942 #[serde(default, skip_serializing_if = "Option::is_none")]
9943 pub shadow: Option<Box<OnOffElement>>,
9944 #[serde(rename = "emboss")]
9945 #[serde(default, skip_serializing_if = "Option::is_none")]
9946 pub emboss: Option<Box<OnOffElement>>,
9947 #[serde(rename = "imprint")]
9948 #[serde(default, skip_serializing_if = "Option::is_none")]
9949 pub imprint: Option<Box<OnOffElement>>,
9950 #[serde(rename = "noProof")]
9951 #[serde(default, skip_serializing_if = "Option::is_none")]
9952 pub no_proof: Option<Box<OnOffElement>>,
9953 #[serde(rename = "snapToGrid")]
9954 #[serde(default, skip_serializing_if = "Option::is_none")]
9955 pub snap_to_grid: Option<Box<OnOffElement>>,
9956 #[serde(rename = "vanish")]
9957 #[serde(default, skip_serializing_if = "Option::is_none")]
9958 pub vanish: Option<Box<OnOffElement>>,
9959 #[serde(rename = "webHidden")]
9960 #[serde(default, skip_serializing_if = "Option::is_none")]
9961 pub web_hidden: Option<Box<OnOffElement>>,
9962 #[serde(rename = "color")]
9963 #[serde(default, skip_serializing_if = "Option::is_none")]
9964 pub color: Option<Box<CTColor>>,
9965 #[serde(rename = "spacing")]
9966 #[serde(default, skip_serializing_if = "Option::is_none")]
9967 pub spacing: Option<Box<SignedTwipsMeasureElement>>,
9968 #[serde(rename = "w")]
9969 #[serde(default, skip_serializing_if = "Option::is_none")]
9970 pub width: Option<Box<TextScaleElement>>,
9971 #[serde(rename = "kern")]
9972 #[serde(default, skip_serializing_if = "Option::is_none")]
9973 pub kern: Option<Box<HpsMeasureElement>>,
9974 #[serde(rename = "position")]
9975 #[serde(default, skip_serializing_if = "Option::is_none")]
9976 pub position: Option<Box<SignedHpsMeasureElement>>,
9977 #[serde(rename = "sz")]
9978 #[serde(default, skip_serializing_if = "Option::is_none")]
9979 pub size: Option<Box<HpsMeasureElement>>,
9980 #[serde(rename = "szCs")]
9981 #[serde(default, skip_serializing_if = "Option::is_none")]
9982 pub size_complex_script: Option<Box<HpsMeasureElement>>,
9983 #[serde(rename = "highlight")]
9984 #[serde(default, skip_serializing_if = "Option::is_none")]
9985 pub highlight: Option<Box<CTHighlight>>,
9986 #[serde(rename = "u")]
9987 #[serde(default, skip_serializing_if = "Option::is_none")]
9988 pub underline: Option<Box<CTUnderline>>,
9989 #[serde(rename = "effect")]
9990 #[serde(default, skip_serializing_if = "Option::is_none")]
9991 pub effect: Option<Box<CTTextEffect>>,
9992 #[serde(rename = "bdr")]
9993 #[serde(default, skip_serializing_if = "Option::is_none")]
9994 pub bdr: Option<Box<CTBorder>>,
9995 #[serde(rename = "shd")]
9996 #[serde(default, skip_serializing_if = "Option::is_none")]
9997 pub shading: Option<Box<CTShd>>,
9998 #[serde(rename = "fitText")]
9999 #[serde(default, skip_serializing_if = "Option::is_none")]
10000 pub fit_text: Option<Box<CTFitText>>,
10001 #[serde(rename = "vertAlign")]
10002 #[serde(default, skip_serializing_if = "Option::is_none")]
10003 pub vert_align: Option<Box<CTVerticalAlignRun>>,
10004 #[serde(rename = "rtl")]
10005 #[serde(default, skip_serializing_if = "Option::is_none")]
10006 pub rtl: Option<Box<OnOffElement>>,
10007 #[serde(rename = "cs")]
10008 #[serde(default, skip_serializing_if = "Option::is_none")]
10009 pub cs: Option<Box<OnOffElement>>,
10010 #[serde(rename = "em")]
10011 #[serde(default, skip_serializing_if = "Option::is_none")]
10012 pub em: Option<Box<CTEm>>,
10013 #[serde(rename = "lang")]
10014 #[serde(default, skip_serializing_if = "Option::is_none")]
10015 pub lang: Option<Box<LanguageElement>>,
10016 #[serde(rename = "eastAsianLayout")]
10017 #[serde(default, skip_serializing_if = "Option::is_none")]
10018 pub east_asian_layout: Option<Box<CTEastAsianLayout>>,
10019 #[serde(rename = "specVanish")]
10020 #[serde(default, skip_serializing_if = "Option::is_none")]
10021 pub spec_vanish: Option<Box<OnOffElement>>,
10022 #[serde(rename = "oMath")]
10023 #[serde(default, skip_serializing_if = "Option::is_none")]
10024 pub o_math: Option<Box<OnOffElement>>,
10025 #[cfg(feature = "extra-children")]
10027 #[serde(skip)]
10028 #[cfg(feature = "extra-children")]
10029 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10030}
10031
10032#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10033pub struct CTParaRPrOriginal {
10034 #[serde(rename = "ins")]
10035 #[serde(default, skip_serializing_if = "Option::is_none")]
10036 pub ins: Option<Box<CTTrackChange>>,
10037 #[serde(rename = "del")]
10038 #[serde(default, skip_serializing_if = "Option::is_none")]
10039 pub del: Option<Box<CTTrackChange>>,
10040 #[serde(rename = "moveFrom")]
10041 #[serde(default, skip_serializing_if = "Option::is_none")]
10042 pub move_from: Option<Box<CTTrackChange>>,
10043 #[serde(rename = "moveTo")]
10044 #[serde(default, skip_serializing_if = "Option::is_none")]
10045 pub move_to: Option<Box<CTTrackChange>>,
10046 #[serde(rename = "rStyle")]
10047 #[serde(default, skip_serializing_if = "Option::is_none")]
10048 pub run_style: Option<Box<CTString>>,
10049 #[serde(rename = "rFonts")]
10050 #[serde(default, skip_serializing_if = "Option::is_none")]
10051 pub fonts: Option<Box<Fonts>>,
10052 #[serde(rename = "b")]
10053 #[serde(default, skip_serializing_if = "Option::is_none")]
10054 pub bold: Option<Box<OnOffElement>>,
10055 #[serde(rename = "bCs")]
10056 #[serde(default, skip_serializing_if = "Option::is_none")]
10057 pub b_cs: Option<Box<OnOffElement>>,
10058 #[serde(rename = "i")]
10059 #[serde(default, skip_serializing_if = "Option::is_none")]
10060 pub italic: Option<Box<OnOffElement>>,
10061 #[serde(rename = "iCs")]
10062 #[serde(default, skip_serializing_if = "Option::is_none")]
10063 pub i_cs: Option<Box<OnOffElement>>,
10064 #[serde(rename = "caps")]
10065 #[serde(default, skip_serializing_if = "Option::is_none")]
10066 pub caps: Option<Box<OnOffElement>>,
10067 #[serde(rename = "smallCaps")]
10068 #[serde(default, skip_serializing_if = "Option::is_none")]
10069 pub small_caps: Option<Box<OnOffElement>>,
10070 #[serde(rename = "strike")]
10071 #[serde(default, skip_serializing_if = "Option::is_none")]
10072 pub strikethrough: Option<Box<OnOffElement>>,
10073 #[serde(rename = "dstrike")]
10074 #[serde(default, skip_serializing_if = "Option::is_none")]
10075 pub dstrike: Option<Box<OnOffElement>>,
10076 #[serde(rename = "outline")]
10077 #[serde(default, skip_serializing_if = "Option::is_none")]
10078 pub outline: Option<Box<OnOffElement>>,
10079 #[serde(rename = "shadow")]
10080 #[serde(default, skip_serializing_if = "Option::is_none")]
10081 pub shadow: Option<Box<OnOffElement>>,
10082 #[serde(rename = "emboss")]
10083 #[serde(default, skip_serializing_if = "Option::is_none")]
10084 pub emboss: Option<Box<OnOffElement>>,
10085 #[serde(rename = "imprint")]
10086 #[serde(default, skip_serializing_if = "Option::is_none")]
10087 pub imprint: Option<Box<OnOffElement>>,
10088 #[serde(rename = "noProof")]
10089 #[serde(default, skip_serializing_if = "Option::is_none")]
10090 pub no_proof: Option<Box<OnOffElement>>,
10091 #[serde(rename = "snapToGrid")]
10092 #[serde(default, skip_serializing_if = "Option::is_none")]
10093 pub snap_to_grid: Option<Box<OnOffElement>>,
10094 #[serde(rename = "vanish")]
10095 #[serde(default, skip_serializing_if = "Option::is_none")]
10096 pub vanish: Option<Box<OnOffElement>>,
10097 #[serde(rename = "webHidden")]
10098 #[serde(default, skip_serializing_if = "Option::is_none")]
10099 pub web_hidden: Option<Box<OnOffElement>>,
10100 #[serde(rename = "color")]
10101 #[serde(default, skip_serializing_if = "Option::is_none")]
10102 pub color: Option<Box<CTColor>>,
10103 #[serde(rename = "spacing")]
10104 #[serde(default, skip_serializing_if = "Option::is_none")]
10105 pub spacing: Option<Box<SignedTwipsMeasureElement>>,
10106 #[serde(rename = "w")]
10107 #[serde(default, skip_serializing_if = "Option::is_none")]
10108 pub width: Option<Box<TextScaleElement>>,
10109 #[serde(rename = "kern")]
10110 #[serde(default, skip_serializing_if = "Option::is_none")]
10111 pub kern: Option<Box<HpsMeasureElement>>,
10112 #[serde(rename = "position")]
10113 #[serde(default, skip_serializing_if = "Option::is_none")]
10114 pub position: Option<Box<SignedHpsMeasureElement>>,
10115 #[serde(rename = "sz")]
10116 #[serde(default, skip_serializing_if = "Option::is_none")]
10117 pub size: Option<Box<HpsMeasureElement>>,
10118 #[serde(rename = "szCs")]
10119 #[serde(default, skip_serializing_if = "Option::is_none")]
10120 pub size_complex_script: Option<Box<HpsMeasureElement>>,
10121 #[serde(rename = "highlight")]
10122 #[serde(default, skip_serializing_if = "Option::is_none")]
10123 pub highlight: Option<Box<CTHighlight>>,
10124 #[serde(rename = "u")]
10125 #[serde(default, skip_serializing_if = "Option::is_none")]
10126 pub underline: Option<Box<CTUnderline>>,
10127 #[serde(rename = "effect")]
10128 #[serde(default, skip_serializing_if = "Option::is_none")]
10129 pub effect: Option<Box<CTTextEffect>>,
10130 #[serde(rename = "bdr")]
10131 #[serde(default, skip_serializing_if = "Option::is_none")]
10132 pub bdr: Option<Box<CTBorder>>,
10133 #[serde(rename = "shd")]
10134 #[serde(default, skip_serializing_if = "Option::is_none")]
10135 pub shading: Option<Box<CTShd>>,
10136 #[serde(rename = "fitText")]
10137 #[serde(default, skip_serializing_if = "Option::is_none")]
10138 pub fit_text: Option<Box<CTFitText>>,
10139 #[serde(rename = "vertAlign")]
10140 #[serde(default, skip_serializing_if = "Option::is_none")]
10141 pub vert_align: Option<Box<CTVerticalAlignRun>>,
10142 #[serde(rename = "rtl")]
10143 #[serde(default, skip_serializing_if = "Option::is_none")]
10144 pub rtl: Option<Box<OnOffElement>>,
10145 #[serde(rename = "cs")]
10146 #[serde(default, skip_serializing_if = "Option::is_none")]
10147 pub cs: Option<Box<OnOffElement>>,
10148 #[serde(rename = "em")]
10149 #[serde(default, skip_serializing_if = "Option::is_none")]
10150 pub em: Option<Box<CTEm>>,
10151 #[serde(rename = "lang")]
10152 #[serde(default, skip_serializing_if = "Option::is_none")]
10153 pub lang: Option<Box<LanguageElement>>,
10154 #[serde(rename = "eastAsianLayout")]
10155 #[serde(default, skip_serializing_if = "Option::is_none")]
10156 pub east_asian_layout: Option<Box<CTEastAsianLayout>>,
10157 #[serde(rename = "specVanish")]
10158 #[serde(default, skip_serializing_if = "Option::is_none")]
10159 pub spec_vanish: Option<Box<OnOffElement>>,
10160 #[serde(rename = "oMath")]
10161 #[serde(default, skip_serializing_if = "Option::is_none")]
10162 pub o_math: Option<Box<OnOffElement>>,
10163 #[cfg(feature = "extra-children")]
10165 #[serde(skip)]
10166 #[cfg(feature = "extra-children")]
10167 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10168}
10169
10170#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10171pub struct CTParaRPr {
10172 #[serde(rename = "ins")]
10173 #[serde(default, skip_serializing_if = "Option::is_none")]
10174 pub ins: Option<Box<CTTrackChange>>,
10175 #[serde(rename = "del")]
10176 #[serde(default, skip_serializing_if = "Option::is_none")]
10177 pub del: Option<Box<CTTrackChange>>,
10178 #[serde(rename = "moveFrom")]
10179 #[serde(default, skip_serializing_if = "Option::is_none")]
10180 pub move_from: Option<Box<CTTrackChange>>,
10181 #[serde(rename = "moveTo")]
10182 #[serde(default, skip_serializing_if = "Option::is_none")]
10183 pub move_to: Option<Box<CTTrackChange>>,
10184 #[serde(rename = "rStyle")]
10185 #[serde(default, skip_serializing_if = "Option::is_none")]
10186 pub run_style: Option<Box<CTString>>,
10187 #[serde(rename = "rFonts")]
10188 #[serde(default, skip_serializing_if = "Option::is_none")]
10189 pub fonts: Option<Box<Fonts>>,
10190 #[serde(rename = "b")]
10191 #[serde(default, skip_serializing_if = "Option::is_none")]
10192 pub bold: Option<Box<OnOffElement>>,
10193 #[serde(rename = "bCs")]
10194 #[serde(default, skip_serializing_if = "Option::is_none")]
10195 pub b_cs: Option<Box<OnOffElement>>,
10196 #[serde(rename = "i")]
10197 #[serde(default, skip_serializing_if = "Option::is_none")]
10198 pub italic: Option<Box<OnOffElement>>,
10199 #[serde(rename = "iCs")]
10200 #[serde(default, skip_serializing_if = "Option::is_none")]
10201 pub i_cs: Option<Box<OnOffElement>>,
10202 #[serde(rename = "caps")]
10203 #[serde(default, skip_serializing_if = "Option::is_none")]
10204 pub caps: Option<Box<OnOffElement>>,
10205 #[serde(rename = "smallCaps")]
10206 #[serde(default, skip_serializing_if = "Option::is_none")]
10207 pub small_caps: Option<Box<OnOffElement>>,
10208 #[serde(rename = "strike")]
10209 #[serde(default, skip_serializing_if = "Option::is_none")]
10210 pub strikethrough: Option<Box<OnOffElement>>,
10211 #[serde(rename = "dstrike")]
10212 #[serde(default, skip_serializing_if = "Option::is_none")]
10213 pub dstrike: Option<Box<OnOffElement>>,
10214 #[serde(rename = "outline")]
10215 #[serde(default, skip_serializing_if = "Option::is_none")]
10216 pub outline: Option<Box<OnOffElement>>,
10217 #[serde(rename = "shadow")]
10218 #[serde(default, skip_serializing_if = "Option::is_none")]
10219 pub shadow: Option<Box<OnOffElement>>,
10220 #[serde(rename = "emboss")]
10221 #[serde(default, skip_serializing_if = "Option::is_none")]
10222 pub emboss: Option<Box<OnOffElement>>,
10223 #[serde(rename = "imprint")]
10224 #[serde(default, skip_serializing_if = "Option::is_none")]
10225 pub imprint: Option<Box<OnOffElement>>,
10226 #[serde(rename = "noProof")]
10227 #[serde(default, skip_serializing_if = "Option::is_none")]
10228 pub no_proof: Option<Box<OnOffElement>>,
10229 #[serde(rename = "snapToGrid")]
10230 #[serde(default, skip_serializing_if = "Option::is_none")]
10231 pub snap_to_grid: Option<Box<OnOffElement>>,
10232 #[serde(rename = "vanish")]
10233 #[serde(default, skip_serializing_if = "Option::is_none")]
10234 pub vanish: Option<Box<OnOffElement>>,
10235 #[serde(rename = "webHidden")]
10236 #[serde(default, skip_serializing_if = "Option::is_none")]
10237 pub web_hidden: Option<Box<OnOffElement>>,
10238 #[serde(rename = "color")]
10239 #[serde(default, skip_serializing_if = "Option::is_none")]
10240 pub color: Option<Box<CTColor>>,
10241 #[serde(rename = "spacing")]
10242 #[serde(default, skip_serializing_if = "Option::is_none")]
10243 pub spacing: Option<Box<SignedTwipsMeasureElement>>,
10244 #[serde(rename = "w")]
10245 #[serde(default, skip_serializing_if = "Option::is_none")]
10246 pub width: Option<Box<TextScaleElement>>,
10247 #[serde(rename = "kern")]
10248 #[serde(default, skip_serializing_if = "Option::is_none")]
10249 pub kern: Option<Box<HpsMeasureElement>>,
10250 #[serde(rename = "position")]
10251 #[serde(default, skip_serializing_if = "Option::is_none")]
10252 pub position: Option<Box<SignedHpsMeasureElement>>,
10253 #[serde(rename = "sz")]
10254 #[serde(default, skip_serializing_if = "Option::is_none")]
10255 pub size: Option<Box<HpsMeasureElement>>,
10256 #[serde(rename = "szCs")]
10257 #[serde(default, skip_serializing_if = "Option::is_none")]
10258 pub size_complex_script: Option<Box<HpsMeasureElement>>,
10259 #[serde(rename = "highlight")]
10260 #[serde(default, skip_serializing_if = "Option::is_none")]
10261 pub highlight: Option<Box<CTHighlight>>,
10262 #[serde(rename = "u")]
10263 #[serde(default, skip_serializing_if = "Option::is_none")]
10264 pub underline: Option<Box<CTUnderline>>,
10265 #[serde(rename = "effect")]
10266 #[serde(default, skip_serializing_if = "Option::is_none")]
10267 pub effect: Option<Box<CTTextEffect>>,
10268 #[serde(rename = "bdr")]
10269 #[serde(default, skip_serializing_if = "Option::is_none")]
10270 pub bdr: Option<Box<CTBorder>>,
10271 #[serde(rename = "shd")]
10272 #[serde(default, skip_serializing_if = "Option::is_none")]
10273 pub shading: Option<Box<CTShd>>,
10274 #[serde(rename = "fitText")]
10275 #[serde(default, skip_serializing_if = "Option::is_none")]
10276 pub fit_text: Option<Box<CTFitText>>,
10277 #[serde(rename = "vertAlign")]
10278 #[serde(default, skip_serializing_if = "Option::is_none")]
10279 pub vert_align: Option<Box<CTVerticalAlignRun>>,
10280 #[serde(rename = "rtl")]
10281 #[serde(default, skip_serializing_if = "Option::is_none")]
10282 pub rtl: Option<Box<OnOffElement>>,
10283 #[serde(rename = "cs")]
10284 #[serde(default, skip_serializing_if = "Option::is_none")]
10285 pub cs: Option<Box<OnOffElement>>,
10286 #[serde(rename = "em")]
10287 #[serde(default, skip_serializing_if = "Option::is_none")]
10288 pub em: Option<Box<CTEm>>,
10289 #[serde(rename = "lang")]
10290 #[serde(default, skip_serializing_if = "Option::is_none")]
10291 pub lang: Option<Box<LanguageElement>>,
10292 #[serde(rename = "eastAsianLayout")]
10293 #[serde(default, skip_serializing_if = "Option::is_none")]
10294 pub east_asian_layout: Option<Box<CTEastAsianLayout>>,
10295 #[serde(rename = "specVanish")]
10296 #[serde(default, skip_serializing_if = "Option::is_none")]
10297 pub spec_vanish: Option<Box<OnOffElement>>,
10298 #[serde(rename = "oMath")]
10299 #[serde(default, skip_serializing_if = "Option::is_none")]
10300 pub o_math: Option<Box<OnOffElement>>,
10301 #[cfg(feature = "wml-track-changes")]
10302 #[serde(rename = "rPrChange")]
10303 #[serde(default, skip_serializing_if = "Option::is_none")]
10304 pub r_pr_change: Option<Box<CTParaRPrChange>>,
10305 #[cfg(feature = "extra-children")]
10307 #[serde(skip)]
10308 #[cfg(feature = "extra-children")]
10309 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10310}
10311
10312#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10313pub struct EGParaRPrTrackChanges {
10314 #[serde(rename = "ins")]
10315 #[serde(default, skip_serializing_if = "Option::is_none")]
10316 pub ins: Option<Box<CTTrackChange>>,
10317 #[serde(rename = "del")]
10318 #[serde(default, skip_serializing_if = "Option::is_none")]
10319 pub del: Option<Box<CTTrackChange>>,
10320 #[serde(rename = "moveFrom")]
10321 #[serde(default, skip_serializing_if = "Option::is_none")]
10322 pub move_from: Option<Box<CTTrackChange>>,
10323 #[serde(rename = "moveTo")]
10324 #[serde(default, skip_serializing_if = "Option::is_none")]
10325 pub move_to: Option<Box<CTTrackChange>>,
10326 #[cfg(feature = "extra-children")]
10328 #[serde(skip)]
10329 #[cfg(feature = "extra-children")]
10330 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10331}
10332
10333#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10334pub struct CTAltChunk {
10335 #[serde(rename = "@r:id")]
10336 #[serde(default, skip_serializing_if = "Option::is_none")]
10337 pub id: Option<STRelationshipId>,
10338 #[cfg(feature = "wml-settings")]
10339 #[serde(rename = "altChunkPr")]
10340 #[serde(default, skip_serializing_if = "Option::is_none")]
10341 pub alt_chunk_pr: Option<Box<CTAltChunkPr>>,
10342 #[cfg(feature = "extra-attrs")]
10344 #[serde(skip)]
10345 #[cfg(feature = "extra-attrs")]
10346 #[serde(default)]
10347 #[cfg(feature = "extra-attrs")]
10348 pub extra_attrs: std::collections::HashMap<String, String>,
10349 #[cfg(feature = "extra-children")]
10351 #[serde(skip)]
10352 #[cfg(feature = "extra-children")]
10353 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10354}
10355
10356#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10357pub struct CTAltChunkPr {
10358 #[cfg(feature = "wml-settings")]
10359 #[serde(rename = "matchSrc")]
10360 #[serde(default, skip_serializing_if = "Option::is_none")]
10361 pub match_src: Option<Box<OnOffElement>>,
10362 #[cfg(feature = "extra-children")]
10364 #[serde(skip)]
10365 #[cfg(feature = "extra-children")]
10366 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10367}
10368
10369#[derive(Debug, Clone, Serialize, Deserialize)]
10370pub struct CTRubyAlign {
10371 #[serde(rename = "@w:val")]
10372 pub value: STRubyAlign,
10373 #[cfg(feature = "extra-attrs")]
10375 #[serde(skip)]
10376 #[cfg(feature = "extra-attrs")]
10377 #[serde(default)]
10378 #[cfg(feature = "extra-attrs")]
10379 pub extra_attrs: std::collections::HashMap<String, String>,
10380}
10381
10382#[derive(Debug, Clone, Serialize, Deserialize)]
10383pub struct CTRubyPr {
10384 #[cfg(feature = "wml-styling")]
10385 #[serde(rename = "rubyAlign")]
10386 pub ruby_align: Box<CTRubyAlign>,
10387 #[cfg(feature = "wml-styling")]
10388 #[serde(rename = "hps")]
10389 pub hps: Box<HpsMeasureElement>,
10390 #[cfg(feature = "wml-styling")]
10391 #[serde(rename = "hpsRaise")]
10392 pub hps_raise: Box<HpsMeasureElement>,
10393 #[cfg(feature = "wml-styling")]
10394 #[serde(rename = "hpsBaseText")]
10395 pub hps_base_text: Box<HpsMeasureElement>,
10396 #[cfg(feature = "wml-styling")]
10397 #[serde(rename = "lid")]
10398 pub lid: Box<CTLang>,
10399 #[cfg(feature = "wml-styling")]
10400 #[serde(rename = "dirty")]
10401 #[serde(default, skip_serializing_if = "Option::is_none")]
10402 pub dirty: Option<Box<OnOffElement>>,
10403 #[cfg(feature = "extra-children")]
10405 #[serde(skip)]
10406 #[cfg(feature = "extra-children")]
10407 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10408}
10409
10410#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10411pub struct CTRubyContent {
10412 #[serde(skip)]
10413 #[serde(default)]
10414 pub ruby_content: Vec<RubyContent>,
10415 #[cfg(feature = "extra-children")]
10417 #[serde(skip)]
10418 #[cfg(feature = "extra-children")]
10419 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10420}
10421
10422#[derive(Debug, Clone, Serialize, Deserialize)]
10423pub struct CTRuby {
10424 #[cfg(feature = "wml-styling")]
10425 #[serde(rename = "rubyPr")]
10426 pub ruby_pr: Box<CTRubyPr>,
10427 #[serde(rename = "rt")]
10428 pub rt: Box<CTRubyContent>,
10429 #[serde(rename = "rubyBase")]
10430 pub ruby_base: Box<CTRubyContent>,
10431 #[cfg(feature = "extra-children")]
10433 #[serde(skip)]
10434 #[cfg(feature = "extra-children")]
10435 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10436}
10437
10438#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10439pub struct CTLock {
10440 #[serde(rename = "@w:val")]
10441 #[serde(default, skip_serializing_if = "Option::is_none")]
10442 pub value: Option<STLock>,
10443 #[cfg(feature = "extra-attrs")]
10445 #[serde(skip)]
10446 #[cfg(feature = "extra-attrs")]
10447 #[serde(default)]
10448 #[cfg(feature = "extra-attrs")]
10449 pub extra_attrs: std::collections::HashMap<String, String>,
10450}
10451
10452#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10453pub struct CTSdtListItem {
10454 #[serde(rename = "@w:displayText")]
10455 #[serde(default, skip_serializing_if = "Option::is_none")]
10456 pub display_text: Option<STString>,
10457 #[serde(rename = "@w:value")]
10458 #[serde(default, skip_serializing_if = "Option::is_none")]
10459 pub value: Option<STString>,
10460 #[cfg(feature = "extra-attrs")]
10462 #[serde(skip)]
10463 #[cfg(feature = "extra-attrs")]
10464 #[serde(default)]
10465 #[cfg(feature = "extra-attrs")]
10466 pub extra_attrs: std::collections::HashMap<String, String>,
10467}
10468
10469#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10470pub struct CTSdtDateMappingType {
10471 #[serde(rename = "@w:val")]
10472 #[serde(default, skip_serializing_if = "Option::is_none")]
10473 pub value: Option<STSdtDateMappingType>,
10474 #[cfg(feature = "extra-attrs")]
10476 #[serde(skip)]
10477 #[cfg(feature = "extra-attrs")]
10478 #[serde(default)]
10479 #[cfg(feature = "extra-attrs")]
10480 pub extra_attrs: std::collections::HashMap<String, String>,
10481}
10482
10483#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10484pub struct CTCalendarType {
10485 #[serde(rename = "@w:val")]
10486 #[serde(default, skip_serializing_if = "Option::is_none")]
10487 pub value: Option<CalendarType>,
10488 #[cfg(feature = "extra-attrs")]
10490 #[serde(skip)]
10491 #[cfg(feature = "extra-attrs")]
10492 #[serde(default)]
10493 #[cfg(feature = "extra-attrs")]
10494 pub extra_attrs: std::collections::HashMap<String, String>,
10495}
10496
10497#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10498pub struct CTSdtDate {
10499 #[cfg(feature = "wml-settings")]
10500 #[serde(rename = "@w:fullDate")]
10501 #[serde(default, skip_serializing_if = "Option::is_none")]
10502 pub full_date: Option<STDateTime>,
10503 #[cfg(feature = "wml-settings")]
10504 #[serde(rename = "dateFormat")]
10505 #[serde(default, skip_serializing_if = "Option::is_none")]
10506 pub date_format: Option<Box<CTString>>,
10507 #[cfg(feature = "wml-settings")]
10508 #[serde(rename = "lid")]
10509 #[serde(default, skip_serializing_if = "Option::is_none")]
10510 pub lid: Option<Box<CTLang>>,
10511 #[cfg(feature = "wml-settings")]
10512 #[serde(rename = "storeMappedDataAs")]
10513 #[serde(default, skip_serializing_if = "Option::is_none")]
10514 pub store_mapped_data_as: Option<Box<CTSdtDateMappingType>>,
10515 #[cfg(feature = "wml-settings")]
10516 #[serde(rename = "calendar")]
10517 #[serde(default, skip_serializing_if = "Option::is_none")]
10518 pub calendar: Option<Box<CTCalendarType>>,
10519 #[cfg(feature = "extra-attrs")]
10521 #[serde(skip)]
10522 #[cfg(feature = "extra-attrs")]
10523 #[serde(default)]
10524 #[cfg(feature = "extra-attrs")]
10525 pub extra_attrs: std::collections::HashMap<String, String>,
10526 #[cfg(feature = "extra-children")]
10528 #[serde(skip)]
10529 #[cfg(feature = "extra-children")]
10530 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10531}
10532
10533#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10534pub struct CTSdtComboBox {
10535 #[cfg(feature = "wml-settings")]
10536 #[serde(rename = "@w:lastValue")]
10537 #[serde(default, skip_serializing_if = "Option::is_none")]
10538 pub last_value: Option<STString>,
10539 #[cfg(feature = "wml-settings")]
10540 #[serde(rename = "listItem")]
10541 #[serde(default, skip_serializing_if = "Vec::is_empty")]
10542 pub list_item: Vec<CTSdtListItem>,
10543 #[cfg(feature = "extra-attrs")]
10545 #[serde(skip)]
10546 #[cfg(feature = "extra-attrs")]
10547 #[serde(default)]
10548 #[cfg(feature = "extra-attrs")]
10549 pub extra_attrs: std::collections::HashMap<String, String>,
10550 #[cfg(feature = "extra-children")]
10552 #[serde(skip)]
10553 #[cfg(feature = "extra-children")]
10554 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10555}
10556
10557#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10558pub struct CTSdtDocPart {
10559 #[cfg(feature = "wml-settings")]
10560 #[serde(rename = "docPartGallery")]
10561 #[serde(default, skip_serializing_if = "Option::is_none")]
10562 pub doc_part_gallery: Option<Box<CTString>>,
10563 #[cfg(feature = "wml-settings")]
10564 #[serde(rename = "docPartCategory")]
10565 #[serde(default, skip_serializing_if = "Option::is_none")]
10566 pub doc_part_category: Option<Box<CTString>>,
10567 #[cfg(feature = "wml-settings")]
10568 #[serde(rename = "docPartUnique")]
10569 #[serde(default, skip_serializing_if = "Option::is_none")]
10570 pub doc_part_unique: Option<Box<OnOffElement>>,
10571 #[cfg(feature = "extra-children")]
10573 #[serde(skip)]
10574 #[cfg(feature = "extra-children")]
10575 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10576}
10577
10578#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10579pub struct CTSdtDropDownList {
10580 #[cfg(feature = "wml-settings")]
10581 #[serde(rename = "@w:lastValue")]
10582 #[serde(default, skip_serializing_if = "Option::is_none")]
10583 pub last_value: Option<STString>,
10584 #[cfg(feature = "wml-settings")]
10585 #[serde(rename = "listItem")]
10586 #[serde(default, skip_serializing_if = "Vec::is_empty")]
10587 pub list_item: Vec<CTSdtListItem>,
10588 #[cfg(feature = "extra-attrs")]
10590 #[serde(skip)]
10591 #[cfg(feature = "extra-attrs")]
10592 #[serde(default)]
10593 #[cfg(feature = "extra-attrs")]
10594 pub extra_attrs: std::collections::HashMap<String, String>,
10595 #[cfg(feature = "extra-children")]
10597 #[serde(skip)]
10598 #[cfg(feature = "extra-children")]
10599 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10600}
10601
10602pub type PlaceholderElement = Box<CTString>;
10603
10604#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10605pub struct CTSdtText {
10606 #[cfg(feature = "wml-settings")]
10607 #[serde(rename = "@w:multiLine")]
10608 #[serde(default, skip_serializing_if = "Option::is_none")]
10609 pub multi_line: Option<OnOff>,
10610 #[cfg(feature = "extra-attrs")]
10612 #[serde(skip)]
10613 #[cfg(feature = "extra-attrs")]
10614 #[serde(default)]
10615 #[cfg(feature = "extra-attrs")]
10616 pub extra_attrs: std::collections::HashMap<String, String>,
10617}
10618
10619#[derive(Debug, Clone, Serialize, Deserialize)]
10620pub struct CTDataBinding {
10621 #[cfg(feature = "wml-settings")]
10622 #[serde(rename = "@w:prefixMappings")]
10623 #[serde(default, skip_serializing_if = "Option::is_none")]
10624 pub prefix_mappings: Option<STString>,
10625 #[cfg(feature = "wml-settings")]
10626 #[serde(rename = "@w:xpath")]
10627 pub xpath: STString,
10628 #[cfg(feature = "wml-settings")]
10629 #[serde(rename = "@w:storeItemID")]
10630 pub store_item_i_d: STString,
10631 #[cfg(feature = "extra-attrs")]
10633 #[serde(skip)]
10634 #[cfg(feature = "extra-attrs")]
10635 #[serde(default)]
10636 #[cfg(feature = "extra-attrs")]
10637 pub extra_attrs: std::collections::HashMap<String, String>,
10638}
10639
10640#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10641pub struct CTSdtPr {
10642 #[cfg(feature = "wml-settings")]
10643 #[serde(rename = "rPr")]
10644 #[serde(default, skip_serializing_if = "Option::is_none")]
10645 pub r_pr: Option<Box<RunProperties>>,
10646 #[cfg(feature = "wml-settings")]
10647 #[serde(rename = "alias")]
10648 #[serde(default, skip_serializing_if = "Option::is_none")]
10649 pub alias: Option<Box<CTString>>,
10650 #[cfg(feature = "wml-settings")]
10651 #[serde(rename = "tag")]
10652 #[serde(default, skip_serializing_if = "Option::is_none")]
10653 pub tag: Option<Box<CTString>>,
10654 #[cfg(feature = "wml-settings")]
10655 #[serde(rename = "id")]
10656 #[serde(default, skip_serializing_if = "Option::is_none")]
10657 pub id: Option<Box<CTDecimalNumber>>,
10658 #[cfg(feature = "wml-settings")]
10659 #[serde(rename = "lock")]
10660 #[serde(default, skip_serializing_if = "Option::is_none")]
10661 pub lock: Option<Box<CTLock>>,
10662 #[cfg(feature = "wml-settings")]
10663 #[serde(rename = "placeholder")]
10664 #[serde(default, skip_serializing_if = "Option::is_none")]
10665 pub placeholder: Option<PlaceholderElement>,
10666 #[cfg(feature = "wml-settings")]
10667 #[serde(rename = "temporary")]
10668 #[serde(default, skip_serializing_if = "Option::is_none")]
10669 pub temporary: Option<Box<OnOffElement>>,
10670 #[cfg(feature = "wml-settings")]
10671 #[serde(rename = "showingPlcHdr")]
10672 #[serde(default, skip_serializing_if = "Option::is_none")]
10673 pub showing_plc_hdr: Option<Box<OnOffElement>>,
10674 #[cfg(feature = "wml-settings")]
10675 #[serde(rename = "dataBinding")]
10676 #[serde(default, skip_serializing_if = "Option::is_none")]
10677 pub data_binding: Option<Box<CTDataBinding>>,
10678 #[cfg(feature = "wml-settings")]
10679 #[serde(rename = "label")]
10680 #[serde(default, skip_serializing_if = "Option::is_none")]
10681 pub label: Option<Box<CTDecimalNumber>>,
10682 #[cfg(feature = "wml-settings")]
10683 #[serde(rename = "tabIndex")]
10684 #[serde(default, skip_serializing_if = "Option::is_none")]
10685 pub tab_index: Option<Box<UnsignedDecimalNumberElement>>,
10686 #[cfg(feature = "wml-settings")]
10687 #[serde(rename = "equation")]
10688 #[serde(default, skip_serializing_if = "Option::is_none")]
10689 pub equation: Option<Box<CTEmpty>>,
10690 #[cfg(feature = "wml-settings")]
10691 #[serde(rename = "comboBox")]
10692 #[serde(default, skip_serializing_if = "Option::is_none")]
10693 pub combo_box: Option<Box<CTSdtComboBox>>,
10694 #[cfg(feature = "wml-settings")]
10695 #[serde(rename = "date")]
10696 #[serde(default, skip_serializing_if = "Option::is_none")]
10697 pub date: Option<Box<CTSdtDate>>,
10698 #[cfg(feature = "wml-settings")]
10699 #[serde(rename = "docPartObj")]
10700 #[serde(default, skip_serializing_if = "Option::is_none")]
10701 pub doc_part_obj: Option<Box<CTSdtDocPart>>,
10702 #[cfg(feature = "wml-settings")]
10703 #[serde(rename = "docPartList")]
10704 #[serde(default, skip_serializing_if = "Option::is_none")]
10705 pub doc_part_list: Option<Box<CTSdtDocPart>>,
10706 #[cfg(feature = "wml-settings")]
10707 #[serde(rename = "dropDownList")]
10708 #[serde(default, skip_serializing_if = "Option::is_none")]
10709 pub drop_down_list: Option<Box<CTSdtDropDownList>>,
10710 #[cfg(feature = "wml-settings")]
10711 #[serde(rename = "picture")]
10712 #[serde(default, skip_serializing_if = "Option::is_none")]
10713 pub picture: Option<Box<CTEmpty>>,
10714 #[cfg(feature = "wml-settings")]
10715 #[serde(rename = "richText")]
10716 #[serde(default, skip_serializing_if = "Option::is_none")]
10717 pub rich_text: Option<Box<CTEmpty>>,
10718 #[cfg(feature = "wml-settings")]
10719 #[serde(rename = "text")]
10720 #[serde(default, skip_serializing_if = "Option::is_none")]
10721 pub text: Option<Box<CTSdtText>>,
10722 #[cfg(feature = "wml-settings")]
10723 #[serde(rename = "citation")]
10724 #[serde(default, skip_serializing_if = "Option::is_none")]
10725 pub citation: Option<Box<CTEmpty>>,
10726 #[cfg(feature = "wml-settings")]
10727 #[serde(rename = "group")]
10728 #[serde(default, skip_serializing_if = "Option::is_none")]
10729 pub group: Option<Box<CTEmpty>>,
10730 #[cfg(feature = "wml-settings")]
10731 #[serde(rename = "bibliography")]
10732 #[serde(default, skip_serializing_if = "Option::is_none")]
10733 pub bibliography: Option<Box<CTEmpty>>,
10734 #[cfg(feature = "extra-children")]
10736 #[serde(skip)]
10737 #[cfg(feature = "extra-children")]
10738 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10739}
10740
10741#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10742pub struct CTSdtEndPr {
10743 #[cfg(feature = "wml-styling")]
10744 #[serde(rename = "rPr")]
10745 #[serde(default, skip_serializing_if = "Option::is_none")]
10746 pub r_pr: Option<Box<RunProperties>>,
10747 #[cfg(feature = "extra-children")]
10749 #[serde(skip)]
10750 #[cfg(feature = "extra-children")]
10751 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10752}
10753
10754#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10755pub struct CTDirContentRun {
10756 #[serde(rename = "@w:val")]
10757 #[serde(default, skip_serializing_if = "Option::is_none")]
10758 pub value: Option<STDirection>,
10759 #[serde(skip)]
10760 #[serde(default)]
10761 pub paragraph_content: Vec<ParagraphContent>,
10762 #[cfg(feature = "extra-attrs")]
10764 #[serde(skip)]
10765 #[cfg(feature = "extra-attrs")]
10766 #[serde(default)]
10767 #[cfg(feature = "extra-attrs")]
10768 pub extra_attrs: std::collections::HashMap<String, String>,
10769 #[cfg(feature = "extra-children")]
10771 #[serde(skip)]
10772 #[cfg(feature = "extra-children")]
10773 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10774}
10775
10776#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10777pub struct CTBdoContentRun {
10778 #[serde(rename = "@w:val")]
10779 #[serde(default, skip_serializing_if = "Option::is_none")]
10780 pub value: Option<STDirection>,
10781 #[serde(skip)]
10782 #[serde(default)]
10783 pub paragraph_content: Vec<ParagraphContent>,
10784 #[cfg(feature = "extra-attrs")]
10786 #[serde(skip)]
10787 #[cfg(feature = "extra-attrs")]
10788 #[serde(default)]
10789 #[cfg(feature = "extra-attrs")]
10790 pub extra_attrs: std::collections::HashMap<String, String>,
10791 #[cfg(feature = "extra-children")]
10793 #[serde(skip)]
10794 #[cfg(feature = "extra-children")]
10795 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10796}
10797
10798#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10799pub struct CTSdtContentRun {
10800 #[serde(skip)]
10801 #[serde(default)]
10802 pub paragraph_content: Vec<ParagraphContent>,
10803 #[cfg(feature = "extra-children")]
10805 #[serde(skip)]
10806 #[cfg(feature = "extra-children")]
10807 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10808}
10809
10810#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10811pub struct CTSdtContentBlock {
10812 #[serde(skip)]
10813 #[serde(default)]
10814 pub block_content: Vec<BlockContentChoice>,
10815 #[cfg(feature = "extra-children")]
10817 #[serde(skip)]
10818 #[cfg(feature = "extra-children")]
10819 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10820}
10821
10822#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10823pub struct CTSdtContentRow {
10824 #[serde(skip)]
10825 #[serde(default)]
10826 pub rows: Vec<RowContent>,
10827 #[cfg(feature = "extra-children")]
10829 #[serde(skip)]
10830 #[cfg(feature = "extra-children")]
10831 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10832}
10833
10834#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10835pub struct CTSdtContentCell {
10836 #[serde(skip)]
10837 #[serde(default)]
10838 pub cells: Vec<CellContent>,
10839 #[cfg(feature = "extra-children")]
10841 #[serde(skip)]
10842 #[cfg(feature = "extra-children")]
10843 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10844}
10845
10846#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10847pub struct CTSdtBlock {
10848 #[cfg(feature = "wml-settings")]
10849 #[serde(rename = "sdtPr")]
10850 #[serde(default, skip_serializing_if = "Option::is_none")]
10851 pub sdt_pr: Option<Box<CTSdtPr>>,
10852 #[cfg(feature = "wml-settings")]
10853 #[serde(rename = "sdtEndPr")]
10854 #[serde(default, skip_serializing_if = "Option::is_none")]
10855 pub sdt_end_pr: Option<Box<CTSdtEndPr>>,
10856 #[serde(rename = "sdtContent")]
10857 #[serde(default, skip_serializing_if = "Option::is_none")]
10858 pub sdt_content: Option<Box<CTSdtContentBlock>>,
10859 #[cfg(feature = "extra-children")]
10861 #[serde(skip)]
10862 #[cfg(feature = "extra-children")]
10863 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10864}
10865
10866#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10867pub struct CTSdtRun {
10868 #[cfg(feature = "wml-settings")]
10869 #[serde(rename = "sdtPr")]
10870 #[serde(default, skip_serializing_if = "Option::is_none")]
10871 pub sdt_pr: Option<Box<CTSdtPr>>,
10872 #[cfg(feature = "wml-settings")]
10873 #[serde(rename = "sdtEndPr")]
10874 #[serde(default, skip_serializing_if = "Option::is_none")]
10875 pub sdt_end_pr: Option<Box<CTSdtEndPr>>,
10876 #[serde(rename = "sdtContent")]
10877 #[serde(default, skip_serializing_if = "Option::is_none")]
10878 pub sdt_content: Option<Box<CTSdtContentRun>>,
10879 #[cfg(feature = "extra-children")]
10881 #[serde(skip)]
10882 #[cfg(feature = "extra-children")]
10883 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10884}
10885
10886#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10887pub struct CTSdtCell {
10888 #[cfg(feature = "wml-settings")]
10889 #[serde(rename = "sdtPr")]
10890 #[serde(default, skip_serializing_if = "Option::is_none")]
10891 pub sdt_pr: Option<Box<CTSdtPr>>,
10892 #[cfg(feature = "wml-settings")]
10893 #[serde(rename = "sdtEndPr")]
10894 #[serde(default, skip_serializing_if = "Option::is_none")]
10895 pub sdt_end_pr: Option<Box<CTSdtEndPr>>,
10896 #[serde(rename = "sdtContent")]
10897 #[serde(default, skip_serializing_if = "Option::is_none")]
10898 pub sdt_content: Option<Box<CTSdtContentCell>>,
10899 #[cfg(feature = "extra-children")]
10901 #[serde(skip)]
10902 #[cfg(feature = "extra-children")]
10903 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10904}
10905
10906#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10907pub struct CTSdtRow {
10908 #[cfg(feature = "wml-settings")]
10909 #[serde(rename = "sdtPr")]
10910 #[serde(default, skip_serializing_if = "Option::is_none")]
10911 pub sdt_pr: Option<Box<CTSdtPr>>,
10912 #[cfg(feature = "wml-settings")]
10913 #[serde(rename = "sdtEndPr")]
10914 #[serde(default, skip_serializing_if = "Option::is_none")]
10915 pub sdt_end_pr: Option<Box<CTSdtEndPr>>,
10916 #[serde(rename = "sdtContent")]
10917 #[serde(default, skip_serializing_if = "Option::is_none")]
10918 pub sdt_content: Option<Box<CTSdtContentRow>>,
10919 #[cfg(feature = "extra-children")]
10921 #[serde(skip)]
10922 #[cfg(feature = "extra-children")]
10923 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10924}
10925
10926#[derive(Debug, Clone, Serialize, Deserialize)]
10927pub struct CTAttr {
10928 #[serde(rename = "@w:uri")]
10929 #[serde(default, skip_serializing_if = "Option::is_none")]
10930 pub uri: Option<STString>,
10931 #[serde(rename = "@w:name")]
10932 pub name: STString,
10933 #[serde(rename = "@w:val")]
10934 pub value: STString,
10935 #[cfg(feature = "extra-attrs")]
10937 #[serde(skip)]
10938 #[cfg(feature = "extra-attrs")]
10939 #[serde(default)]
10940 #[cfg(feature = "extra-attrs")]
10941 pub extra_attrs: std::collections::HashMap<String, String>,
10942}
10943
10944#[derive(Debug, Clone, Serialize, Deserialize)]
10945pub struct CTCustomXmlRun {
10946 #[cfg(feature = "wml-settings")]
10947 #[serde(rename = "@w:uri")]
10948 #[serde(default, skip_serializing_if = "Option::is_none")]
10949 pub uri: Option<STString>,
10950 #[cfg(feature = "wml-settings")]
10951 #[serde(rename = "@w:element")]
10952 pub element: STXmlName,
10953 #[cfg(feature = "wml-settings")]
10954 #[serde(rename = "customXmlPr")]
10955 #[serde(default, skip_serializing_if = "Option::is_none")]
10956 pub custom_xml_pr: Option<Box<CTCustomXmlPr>>,
10957 #[serde(skip)]
10958 #[serde(default)]
10959 pub paragraph_content: Vec<ParagraphContent>,
10960 #[cfg(feature = "extra-attrs")]
10962 #[serde(skip)]
10963 #[cfg(feature = "extra-attrs")]
10964 #[serde(default)]
10965 #[cfg(feature = "extra-attrs")]
10966 pub extra_attrs: std::collections::HashMap<String, String>,
10967 #[cfg(feature = "extra-children")]
10969 #[serde(skip)]
10970 #[cfg(feature = "extra-children")]
10971 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10972}
10973
10974#[derive(Debug, Clone, Serialize, Deserialize)]
10975pub struct CTSmartTagRun {
10976 #[cfg(feature = "wml-settings")]
10977 #[serde(rename = "@w:uri")]
10978 #[serde(default, skip_serializing_if = "Option::is_none")]
10979 pub uri: Option<STString>,
10980 #[cfg(feature = "wml-settings")]
10981 #[serde(rename = "@w:element")]
10982 pub element: STXmlName,
10983 #[cfg(feature = "wml-settings")]
10984 #[serde(rename = "smartTagPr")]
10985 #[serde(default, skip_serializing_if = "Option::is_none")]
10986 pub smart_tag_pr: Option<Box<CTSmartTagPr>>,
10987 #[serde(skip)]
10988 #[serde(default)]
10989 pub paragraph_content: Vec<ParagraphContent>,
10990 #[cfg(feature = "extra-attrs")]
10992 #[serde(skip)]
10993 #[cfg(feature = "extra-attrs")]
10994 #[serde(default)]
10995 #[cfg(feature = "extra-attrs")]
10996 pub extra_attrs: std::collections::HashMap<String, String>,
10997 #[cfg(feature = "extra-children")]
10999 #[serde(skip)]
11000 #[cfg(feature = "extra-children")]
11001 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11002}
11003
11004#[derive(Debug, Clone, Serialize, Deserialize)]
11005pub struct CTCustomXmlBlock {
11006 #[cfg(feature = "wml-settings")]
11007 #[serde(rename = "@w:uri")]
11008 #[serde(default, skip_serializing_if = "Option::is_none")]
11009 pub uri: Option<STString>,
11010 #[cfg(feature = "wml-settings")]
11011 #[serde(rename = "@w:element")]
11012 pub element: STXmlName,
11013 #[cfg(feature = "wml-settings")]
11014 #[serde(rename = "customXmlPr")]
11015 #[serde(default, skip_serializing_if = "Option::is_none")]
11016 pub custom_xml_pr: Option<Box<CTCustomXmlPr>>,
11017 #[serde(skip)]
11018 #[serde(default)]
11019 pub block_content: Vec<BlockContentChoice>,
11020 #[cfg(feature = "extra-attrs")]
11022 #[serde(skip)]
11023 #[cfg(feature = "extra-attrs")]
11024 #[serde(default)]
11025 #[cfg(feature = "extra-attrs")]
11026 pub extra_attrs: std::collections::HashMap<String, String>,
11027 #[cfg(feature = "extra-children")]
11029 #[serde(skip)]
11030 #[cfg(feature = "extra-children")]
11031 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11032}
11033
11034#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11035pub struct CTCustomXmlPr {
11036 #[cfg(feature = "wml-settings")]
11037 #[serde(rename = "placeholder")]
11038 #[serde(default, skip_serializing_if = "Option::is_none")]
11039 pub placeholder: Option<Box<CTString>>,
11040 #[cfg(feature = "wml-settings")]
11041 #[serde(rename = "attr")]
11042 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11043 pub attr: Vec<CTAttr>,
11044 #[cfg(feature = "extra-children")]
11046 #[serde(skip)]
11047 #[cfg(feature = "extra-children")]
11048 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11049}
11050
11051#[derive(Debug, Clone, Serialize, Deserialize)]
11052pub struct CTCustomXmlRow {
11053 #[cfg(feature = "wml-settings")]
11054 #[serde(rename = "@w:uri")]
11055 #[serde(default, skip_serializing_if = "Option::is_none")]
11056 pub uri: Option<STString>,
11057 #[cfg(feature = "wml-settings")]
11058 #[serde(rename = "@w:element")]
11059 pub element: STXmlName,
11060 #[cfg(feature = "wml-settings")]
11061 #[serde(rename = "customXmlPr")]
11062 #[serde(default, skip_serializing_if = "Option::is_none")]
11063 pub custom_xml_pr: Option<Box<CTCustomXmlPr>>,
11064 #[serde(skip)]
11065 #[serde(default)]
11066 pub rows: Vec<RowContent>,
11067 #[cfg(feature = "extra-attrs")]
11069 #[serde(skip)]
11070 #[cfg(feature = "extra-attrs")]
11071 #[serde(default)]
11072 #[cfg(feature = "extra-attrs")]
11073 pub extra_attrs: std::collections::HashMap<String, String>,
11074 #[cfg(feature = "extra-children")]
11076 #[serde(skip)]
11077 #[cfg(feature = "extra-children")]
11078 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11079}
11080
11081#[derive(Debug, Clone, Serialize, Deserialize)]
11082pub struct CTCustomXmlCell {
11083 #[cfg(feature = "wml-settings")]
11084 #[serde(rename = "@w:uri")]
11085 #[serde(default, skip_serializing_if = "Option::is_none")]
11086 pub uri: Option<STString>,
11087 #[cfg(feature = "wml-settings")]
11088 #[serde(rename = "@w:element")]
11089 pub element: STXmlName,
11090 #[cfg(feature = "wml-settings")]
11091 #[serde(rename = "customXmlPr")]
11092 #[serde(default, skip_serializing_if = "Option::is_none")]
11093 pub custom_xml_pr: Option<Box<CTCustomXmlPr>>,
11094 #[serde(skip)]
11095 #[serde(default)]
11096 pub cells: Vec<CellContent>,
11097 #[cfg(feature = "extra-attrs")]
11099 #[serde(skip)]
11100 #[cfg(feature = "extra-attrs")]
11101 #[serde(default)]
11102 #[cfg(feature = "extra-attrs")]
11103 pub extra_attrs: std::collections::HashMap<String, String>,
11104 #[cfg(feature = "extra-children")]
11106 #[serde(skip)]
11107 #[cfg(feature = "extra-children")]
11108 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11109}
11110
11111#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11112pub struct CTSmartTagPr {
11113 #[cfg(feature = "wml-settings")]
11114 #[serde(rename = "attr")]
11115 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11116 pub attr: Vec<CTAttr>,
11117 #[cfg(feature = "extra-children")]
11119 #[serde(skip)]
11120 #[cfg(feature = "extra-children")]
11121 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11122}
11123
11124#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11125pub struct Paragraph {
11126 #[cfg(feature = "wml-track-changes")]
11127 #[serde(rename = "@w:rsidRPr")]
11128 #[serde(default, skip_serializing_if = "Option::is_none")]
11129 pub rsid_r_pr: Option<STLongHexNumber>,
11130 #[cfg(feature = "wml-track-changes")]
11131 #[serde(rename = "@w:rsidR")]
11132 #[serde(default, skip_serializing_if = "Option::is_none")]
11133 pub rsid_r: Option<STLongHexNumber>,
11134 #[cfg(feature = "wml-track-changes")]
11135 #[serde(rename = "@w:rsidDel")]
11136 #[serde(default, skip_serializing_if = "Option::is_none")]
11137 pub rsid_del: Option<STLongHexNumber>,
11138 #[cfg(feature = "wml-track-changes")]
11139 #[serde(rename = "@w:rsidP")]
11140 #[serde(default, skip_serializing_if = "Option::is_none")]
11141 pub rsid_p: Option<STLongHexNumber>,
11142 #[cfg(feature = "wml-track-changes")]
11143 #[serde(rename = "@w:rsidRDefault")]
11144 #[serde(default, skip_serializing_if = "Option::is_none")]
11145 pub rsid_r_default: Option<STLongHexNumber>,
11146 #[cfg(feature = "wml-styling")]
11147 #[serde(rename = "pPr")]
11148 #[serde(default, skip_serializing_if = "Option::is_none")]
11149 pub p_pr: Option<Box<ParagraphProperties>>,
11150 #[serde(skip)]
11151 #[serde(default)]
11152 pub paragraph_content: Vec<ParagraphContent>,
11153 #[cfg(feature = "extra-attrs")]
11155 #[serde(skip)]
11156 #[cfg(feature = "extra-attrs")]
11157 #[serde(default)]
11158 #[cfg(feature = "extra-attrs")]
11159 pub extra_attrs: std::collections::HashMap<String, String>,
11160 #[cfg(feature = "extra-children")]
11162 #[serde(skip)]
11163 #[cfg(feature = "extra-children")]
11164 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11165}
11166
11167#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11168pub struct CTHeight {
11169 #[serde(rename = "@w:val")]
11170 #[serde(default, skip_serializing_if = "Option::is_none")]
11171 pub value: Option<STTwipsMeasure>,
11172 #[cfg(feature = "wml-tables")]
11173 #[serde(rename = "@w:hRule")]
11174 #[serde(default, skip_serializing_if = "Option::is_none")]
11175 pub h_rule: Option<STHeightRule>,
11176 #[cfg(feature = "extra-attrs")]
11178 #[serde(skip)]
11179 #[cfg(feature = "extra-attrs")]
11180 #[serde(default)]
11181 #[cfg(feature = "extra-attrs")]
11182 pub extra_attrs: std::collections::HashMap<String, String>,
11183}
11184
11185#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11186pub struct CTTblWidth {
11187 #[serde(rename = "@w:w")]
11188 #[serde(default, skip_serializing_if = "Option::is_none")]
11189 pub width: Option<STMeasurementOrPercent>,
11190 #[serde(rename = "@w:type")]
11191 #[serde(default, skip_serializing_if = "Option::is_none")]
11192 pub r#type: Option<STTblWidth>,
11193 #[cfg(feature = "extra-attrs")]
11195 #[serde(skip)]
11196 #[cfg(feature = "extra-attrs")]
11197 #[serde(default)]
11198 #[cfg(feature = "extra-attrs")]
11199 pub extra_attrs: std::collections::HashMap<String, String>,
11200}
11201
11202#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11203pub struct TableGridColumn {
11204 #[serde(rename = "@w:w")]
11205 #[serde(default, skip_serializing_if = "Option::is_none")]
11206 pub width: Option<STTwipsMeasure>,
11207 #[cfg(feature = "extra-attrs")]
11209 #[serde(skip)]
11210 #[cfg(feature = "extra-attrs")]
11211 #[serde(default)]
11212 #[cfg(feature = "extra-attrs")]
11213 pub extra_attrs: std::collections::HashMap<String, String>,
11214}
11215
11216#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11217pub struct CTTblGridBase {
11218 #[serde(rename = "gridCol")]
11219 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11220 pub grid_col: Vec<TableGridColumn>,
11221 #[cfg(feature = "extra-children")]
11223 #[serde(skip)]
11224 #[cfg(feature = "extra-children")]
11225 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11226}
11227
11228#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11229pub struct TableGrid {
11230 #[serde(rename = "gridCol")]
11231 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11232 pub grid_col: Vec<TableGridColumn>,
11233 #[cfg(feature = "wml-track-changes")]
11234 #[serde(rename = "tblGridChange")]
11235 #[serde(default, skip_serializing_if = "Option::is_none")]
11236 pub tbl_grid_change: Option<Box<CTTblGridChange>>,
11237 #[cfg(feature = "extra-children")]
11239 #[serde(skip)]
11240 #[cfg(feature = "extra-children")]
11241 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11242}
11243
11244#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11245pub struct CTTcBorders {
11246 #[cfg(feature = "wml-tables")]
11247 #[serde(rename = "top")]
11248 #[serde(default, skip_serializing_if = "Option::is_none")]
11249 pub top: Option<Box<CTBorder>>,
11250 #[cfg(feature = "wml-tables")]
11251 #[serde(rename = "start")]
11252 #[serde(default, skip_serializing_if = "Option::is_none")]
11253 pub start: Option<Box<CTBorder>>,
11254 #[cfg(feature = "wml-tables")]
11255 #[serde(rename = "left")]
11256 #[serde(default, skip_serializing_if = "Option::is_none")]
11257 pub left: Option<Box<CTBorder>>,
11258 #[cfg(feature = "wml-tables")]
11259 #[serde(rename = "bottom")]
11260 #[serde(default, skip_serializing_if = "Option::is_none")]
11261 pub bottom: Option<Box<CTBorder>>,
11262 #[cfg(feature = "wml-tables")]
11263 #[serde(rename = "end")]
11264 #[serde(default, skip_serializing_if = "Option::is_none")]
11265 pub end: Option<Box<CTBorder>>,
11266 #[cfg(feature = "wml-tables")]
11267 #[serde(rename = "right")]
11268 #[serde(default, skip_serializing_if = "Option::is_none")]
11269 pub right: Option<Box<CTBorder>>,
11270 #[cfg(feature = "wml-tables")]
11271 #[serde(rename = "insideH")]
11272 #[serde(default, skip_serializing_if = "Option::is_none")]
11273 pub inside_h: Option<Box<CTBorder>>,
11274 #[cfg(feature = "wml-tables")]
11275 #[serde(rename = "insideV")]
11276 #[serde(default, skip_serializing_if = "Option::is_none")]
11277 pub inside_v: Option<Box<CTBorder>>,
11278 #[cfg(feature = "wml-tables")]
11279 #[serde(rename = "tl2br")]
11280 #[serde(default, skip_serializing_if = "Option::is_none")]
11281 pub tl2br: Option<Box<CTBorder>>,
11282 #[cfg(feature = "wml-tables")]
11283 #[serde(rename = "tr2bl")]
11284 #[serde(default, skip_serializing_if = "Option::is_none")]
11285 pub tr2bl: Option<Box<CTBorder>>,
11286 #[cfg(feature = "extra-children")]
11288 #[serde(skip)]
11289 #[cfg(feature = "extra-children")]
11290 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11291}
11292
11293#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11294pub struct CTTcMar {
11295 #[cfg(feature = "wml-tables")]
11296 #[serde(rename = "top")]
11297 #[serde(default, skip_serializing_if = "Option::is_none")]
11298 pub top: Option<Box<CTTblWidth>>,
11299 #[cfg(feature = "wml-tables")]
11300 #[serde(rename = "start")]
11301 #[serde(default, skip_serializing_if = "Option::is_none")]
11302 pub start: Option<Box<CTTblWidth>>,
11303 #[cfg(feature = "wml-tables")]
11304 #[serde(rename = "left")]
11305 #[serde(default, skip_serializing_if = "Option::is_none")]
11306 pub left: Option<Box<CTTblWidth>>,
11307 #[cfg(feature = "wml-tables")]
11308 #[serde(rename = "bottom")]
11309 #[serde(default, skip_serializing_if = "Option::is_none")]
11310 pub bottom: Option<Box<CTTblWidth>>,
11311 #[cfg(feature = "wml-tables")]
11312 #[serde(rename = "end")]
11313 #[serde(default, skip_serializing_if = "Option::is_none")]
11314 pub end: Option<Box<CTTblWidth>>,
11315 #[cfg(feature = "wml-tables")]
11316 #[serde(rename = "right")]
11317 #[serde(default, skip_serializing_if = "Option::is_none")]
11318 pub right: Option<Box<CTTblWidth>>,
11319 #[cfg(feature = "extra-children")]
11321 #[serde(skip)]
11322 #[cfg(feature = "extra-children")]
11323 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11324}
11325
11326#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11327pub struct CTVMerge {
11328 #[serde(rename = "@w:val")]
11329 #[serde(default, skip_serializing_if = "Option::is_none")]
11330 pub value: Option<STMerge>,
11331 #[cfg(feature = "extra-attrs")]
11333 #[serde(skip)]
11334 #[cfg(feature = "extra-attrs")]
11335 #[serde(default)]
11336 #[cfg(feature = "extra-attrs")]
11337 pub extra_attrs: std::collections::HashMap<String, String>,
11338}
11339
11340#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11341pub struct CTHMerge {
11342 #[serde(rename = "@w:val")]
11343 #[serde(default, skip_serializing_if = "Option::is_none")]
11344 pub value: Option<STMerge>,
11345 #[cfg(feature = "extra-attrs")]
11347 #[serde(skip)]
11348 #[cfg(feature = "extra-attrs")]
11349 #[serde(default)]
11350 #[cfg(feature = "extra-attrs")]
11351 pub extra_attrs: std::collections::HashMap<String, String>,
11352}
11353
11354#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11355pub struct CTTcPrBase {
11356 #[cfg(feature = "wml-styling")]
11357 #[serde(rename = "cnfStyle")]
11358 #[serde(default, skip_serializing_if = "Option::is_none")]
11359 pub cnf_style: Option<Box<CTCnf>>,
11360 #[cfg(feature = "wml-tables")]
11361 #[serde(rename = "tcW")]
11362 #[serde(default, skip_serializing_if = "Option::is_none")]
11363 pub tc_w: Option<Box<CTTblWidth>>,
11364 #[cfg(feature = "wml-tables")]
11365 #[serde(rename = "gridSpan")]
11366 #[serde(default, skip_serializing_if = "Option::is_none")]
11367 pub grid_span: Option<Box<CTDecimalNumber>>,
11368 #[cfg(feature = "wml-tables")]
11369 #[serde(rename = "hMerge")]
11370 #[serde(default, skip_serializing_if = "Option::is_none")]
11371 pub horizontal_merge: Option<Box<CTHMerge>>,
11372 #[cfg(feature = "wml-tables")]
11373 #[serde(rename = "vMerge")]
11374 #[serde(default, skip_serializing_if = "Option::is_none")]
11375 pub vertical_merge: Option<Box<CTVMerge>>,
11376 #[cfg(feature = "wml-tables")]
11377 #[serde(rename = "tcBorders")]
11378 #[serde(default, skip_serializing_if = "Option::is_none")]
11379 pub tc_borders: Option<Box<CTTcBorders>>,
11380 #[cfg(feature = "wml-tables")]
11381 #[serde(rename = "shd")]
11382 #[serde(default, skip_serializing_if = "Option::is_none")]
11383 pub shading: Option<Box<CTShd>>,
11384 #[cfg(feature = "wml-tables")]
11385 #[serde(rename = "noWrap")]
11386 #[serde(default, skip_serializing_if = "Option::is_none")]
11387 pub no_wrap: Option<Box<OnOffElement>>,
11388 #[cfg(feature = "wml-tables")]
11389 #[serde(rename = "tcMar")]
11390 #[serde(default, skip_serializing_if = "Option::is_none")]
11391 pub tc_mar: Option<Box<CTTcMar>>,
11392 #[cfg(feature = "wml-tables")]
11393 #[serde(rename = "textDirection")]
11394 #[serde(default, skip_serializing_if = "Option::is_none")]
11395 pub text_direction: Option<Box<CTTextDirection>>,
11396 #[cfg(feature = "wml-tables")]
11397 #[serde(rename = "tcFitText")]
11398 #[serde(default, skip_serializing_if = "Option::is_none")]
11399 pub tc_fit_text: Option<Box<OnOffElement>>,
11400 #[cfg(feature = "wml-tables")]
11401 #[serde(rename = "vAlign")]
11402 #[serde(default, skip_serializing_if = "Option::is_none")]
11403 pub v_align: Option<Box<CTVerticalJc>>,
11404 #[cfg(feature = "wml-tables")]
11405 #[serde(rename = "hideMark")]
11406 #[serde(default, skip_serializing_if = "Option::is_none")]
11407 pub hide_mark: Option<Box<OnOffElement>>,
11408 #[cfg(feature = "wml-tables")]
11409 #[serde(rename = "headers")]
11410 #[serde(default, skip_serializing_if = "Option::is_none")]
11411 pub headers: Option<Box<CTHeaders>>,
11412 #[cfg(feature = "extra-children")]
11414 #[serde(skip)]
11415 #[cfg(feature = "extra-children")]
11416 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11417}
11418
11419#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11420pub struct TableCellProperties {
11421 #[cfg(feature = "wml-styling")]
11422 #[serde(rename = "cnfStyle")]
11423 #[serde(default, skip_serializing_if = "Option::is_none")]
11424 pub cnf_style: Option<Box<CTCnf>>,
11425 #[cfg(feature = "wml-tables")]
11426 #[serde(rename = "tcW")]
11427 #[serde(default, skip_serializing_if = "Option::is_none")]
11428 pub tc_w: Option<Box<CTTblWidth>>,
11429 #[cfg(feature = "wml-tables")]
11430 #[serde(rename = "gridSpan")]
11431 #[serde(default, skip_serializing_if = "Option::is_none")]
11432 pub grid_span: Option<Box<CTDecimalNumber>>,
11433 #[cfg(feature = "wml-tables")]
11434 #[serde(rename = "hMerge")]
11435 #[serde(default, skip_serializing_if = "Option::is_none")]
11436 pub horizontal_merge: Option<Box<CTHMerge>>,
11437 #[cfg(feature = "wml-tables")]
11438 #[serde(rename = "vMerge")]
11439 #[serde(default, skip_serializing_if = "Option::is_none")]
11440 pub vertical_merge: Option<Box<CTVMerge>>,
11441 #[cfg(feature = "wml-tables")]
11442 #[serde(rename = "tcBorders")]
11443 #[serde(default, skip_serializing_if = "Option::is_none")]
11444 pub tc_borders: Option<Box<CTTcBorders>>,
11445 #[cfg(feature = "wml-tables")]
11446 #[serde(rename = "shd")]
11447 #[serde(default, skip_serializing_if = "Option::is_none")]
11448 pub shading: Option<Box<CTShd>>,
11449 #[cfg(feature = "wml-tables")]
11450 #[serde(rename = "noWrap")]
11451 #[serde(default, skip_serializing_if = "Option::is_none")]
11452 pub no_wrap: Option<Box<OnOffElement>>,
11453 #[cfg(feature = "wml-tables")]
11454 #[serde(rename = "tcMar")]
11455 #[serde(default, skip_serializing_if = "Option::is_none")]
11456 pub tc_mar: Option<Box<CTTcMar>>,
11457 #[cfg(feature = "wml-tables")]
11458 #[serde(rename = "textDirection")]
11459 #[serde(default, skip_serializing_if = "Option::is_none")]
11460 pub text_direction: Option<Box<CTTextDirection>>,
11461 #[cfg(feature = "wml-tables")]
11462 #[serde(rename = "tcFitText")]
11463 #[serde(default, skip_serializing_if = "Option::is_none")]
11464 pub tc_fit_text: Option<Box<OnOffElement>>,
11465 #[cfg(feature = "wml-tables")]
11466 #[serde(rename = "vAlign")]
11467 #[serde(default, skip_serializing_if = "Option::is_none")]
11468 pub v_align: Option<Box<CTVerticalJc>>,
11469 #[cfg(feature = "wml-tables")]
11470 #[serde(rename = "hideMark")]
11471 #[serde(default, skip_serializing_if = "Option::is_none")]
11472 pub hide_mark: Option<Box<OnOffElement>>,
11473 #[cfg(feature = "wml-tables")]
11474 #[serde(rename = "headers")]
11475 #[serde(default, skip_serializing_if = "Option::is_none")]
11476 pub headers: Option<Box<CTHeaders>>,
11477 #[serde(skip)]
11478 #[serde(default)]
11479 pub cell_markup: Option<Box<CellMarkup>>,
11480 #[cfg(feature = "wml-track-changes")]
11481 #[serde(rename = "tcPrChange")]
11482 #[serde(default, skip_serializing_if = "Option::is_none")]
11483 pub tc_pr_change: Option<Box<CTTcPrChange>>,
11484 #[cfg(feature = "extra-children")]
11486 #[serde(skip)]
11487 #[cfg(feature = "extra-children")]
11488 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11489}
11490
11491#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11492pub struct CTTcPrInner {
11493 #[serde(rename = "cnfStyle")]
11494 #[serde(default, skip_serializing_if = "Option::is_none")]
11495 pub cnf_style: Option<Box<CTCnf>>,
11496 #[serde(rename = "tcW")]
11497 #[serde(default, skip_serializing_if = "Option::is_none")]
11498 pub tc_w: Option<Box<CTTblWidth>>,
11499 #[serde(rename = "gridSpan")]
11500 #[serde(default, skip_serializing_if = "Option::is_none")]
11501 pub grid_span: Option<Box<CTDecimalNumber>>,
11502 #[serde(rename = "hMerge")]
11503 #[serde(default, skip_serializing_if = "Option::is_none")]
11504 pub horizontal_merge: Option<Box<CTHMerge>>,
11505 #[serde(rename = "vMerge")]
11506 #[serde(default, skip_serializing_if = "Option::is_none")]
11507 pub vertical_merge: Option<Box<CTVMerge>>,
11508 #[serde(rename = "tcBorders")]
11509 #[serde(default, skip_serializing_if = "Option::is_none")]
11510 pub tc_borders: Option<Box<CTTcBorders>>,
11511 #[serde(rename = "shd")]
11512 #[serde(default, skip_serializing_if = "Option::is_none")]
11513 pub shading: Option<Box<CTShd>>,
11514 #[serde(rename = "noWrap")]
11515 #[serde(default, skip_serializing_if = "Option::is_none")]
11516 pub no_wrap: Option<Box<OnOffElement>>,
11517 #[serde(rename = "tcMar")]
11518 #[serde(default, skip_serializing_if = "Option::is_none")]
11519 pub tc_mar: Option<Box<CTTcMar>>,
11520 #[serde(rename = "textDirection")]
11521 #[serde(default, skip_serializing_if = "Option::is_none")]
11522 pub text_direction: Option<Box<CTTextDirection>>,
11523 #[serde(rename = "tcFitText")]
11524 #[serde(default, skip_serializing_if = "Option::is_none")]
11525 pub tc_fit_text: Option<Box<OnOffElement>>,
11526 #[serde(rename = "vAlign")]
11527 #[serde(default, skip_serializing_if = "Option::is_none")]
11528 pub v_align: Option<Box<CTVerticalJc>>,
11529 #[serde(rename = "hideMark")]
11530 #[serde(default, skip_serializing_if = "Option::is_none")]
11531 pub hide_mark: Option<Box<OnOffElement>>,
11532 #[serde(rename = "headers")]
11533 #[serde(default, skip_serializing_if = "Option::is_none")]
11534 pub headers: Option<Box<CTHeaders>>,
11535 #[serde(skip)]
11536 #[serde(default)]
11537 pub cell_markup: Option<Box<CellMarkup>>,
11538 #[cfg(feature = "extra-children")]
11540 #[serde(skip)]
11541 #[cfg(feature = "extra-children")]
11542 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11543}
11544
11545#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11546pub struct TableCell {
11547 #[cfg(feature = "wml-tables")]
11548 #[serde(rename = "@w:id")]
11549 #[serde(default, skip_serializing_if = "Option::is_none")]
11550 pub id: Option<STString>,
11551 #[cfg(feature = "wml-tables")]
11552 #[serde(rename = "tcPr")]
11553 #[serde(default, skip_serializing_if = "Option::is_none")]
11554 pub cell_properties: Option<Box<TableCellProperties>>,
11555 #[serde(skip)]
11556 #[serde(default)]
11557 pub block_content: Vec<BlockContent>,
11558 #[cfg(feature = "extra-attrs")]
11560 #[serde(skip)]
11561 #[cfg(feature = "extra-attrs")]
11562 #[serde(default)]
11563 #[cfg(feature = "extra-attrs")]
11564 pub extra_attrs: std::collections::HashMap<String, String>,
11565 #[cfg(feature = "extra-children")]
11567 #[serde(skip)]
11568 #[cfg(feature = "extra-children")]
11569 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11570}
11571
11572#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11573pub struct CTCnf {
11574 #[cfg(feature = "wml-styling")]
11575 #[serde(rename = "@w:val")]
11576 #[serde(default, skip_serializing_if = "Option::is_none")]
11577 pub value: Option<STCnf>,
11578 #[cfg(feature = "wml-styling")]
11579 #[serde(rename = "@w:firstRow")]
11580 #[serde(default, skip_serializing_if = "Option::is_none")]
11581 pub first_row: Option<OnOff>,
11582 #[cfg(feature = "wml-styling")]
11583 #[serde(rename = "@w:lastRow")]
11584 #[serde(default, skip_serializing_if = "Option::is_none")]
11585 pub last_row: Option<OnOff>,
11586 #[cfg(feature = "wml-styling")]
11587 #[serde(rename = "@w:firstColumn")]
11588 #[serde(default, skip_serializing_if = "Option::is_none")]
11589 pub first_column: Option<OnOff>,
11590 #[cfg(feature = "wml-styling")]
11591 #[serde(rename = "@w:lastColumn")]
11592 #[serde(default, skip_serializing_if = "Option::is_none")]
11593 pub last_column: Option<OnOff>,
11594 #[cfg(feature = "wml-styling")]
11595 #[serde(rename = "@w:oddVBand")]
11596 #[serde(default, skip_serializing_if = "Option::is_none")]
11597 pub odd_v_band: Option<OnOff>,
11598 #[cfg(feature = "wml-styling")]
11599 #[serde(rename = "@w:evenVBand")]
11600 #[serde(default, skip_serializing_if = "Option::is_none")]
11601 pub even_v_band: Option<OnOff>,
11602 #[cfg(feature = "wml-styling")]
11603 #[serde(rename = "@w:oddHBand")]
11604 #[serde(default, skip_serializing_if = "Option::is_none")]
11605 pub odd_h_band: Option<OnOff>,
11606 #[cfg(feature = "wml-styling")]
11607 #[serde(rename = "@w:evenHBand")]
11608 #[serde(default, skip_serializing_if = "Option::is_none")]
11609 pub even_h_band: Option<OnOff>,
11610 #[cfg(feature = "wml-styling")]
11611 #[serde(rename = "@w:firstRowFirstColumn")]
11612 #[serde(default, skip_serializing_if = "Option::is_none")]
11613 pub first_row_first_column: Option<OnOff>,
11614 #[cfg(feature = "wml-styling")]
11615 #[serde(rename = "@w:firstRowLastColumn")]
11616 #[serde(default, skip_serializing_if = "Option::is_none")]
11617 pub first_row_last_column: Option<OnOff>,
11618 #[cfg(feature = "wml-styling")]
11619 #[serde(rename = "@w:lastRowFirstColumn")]
11620 #[serde(default, skip_serializing_if = "Option::is_none")]
11621 pub last_row_first_column: Option<OnOff>,
11622 #[cfg(feature = "wml-styling")]
11623 #[serde(rename = "@w:lastRowLastColumn")]
11624 #[serde(default, skip_serializing_if = "Option::is_none")]
11625 pub last_row_last_column: Option<OnOff>,
11626 #[cfg(feature = "extra-attrs")]
11628 #[serde(skip)]
11629 #[cfg(feature = "extra-attrs")]
11630 #[serde(default)]
11631 #[cfg(feature = "extra-attrs")]
11632 pub extra_attrs: std::collections::HashMap<String, String>,
11633}
11634
11635#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11636pub struct CTHeaders {
11637 #[serde(rename = "header")]
11638 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11639 pub header: Vec<CTString>,
11640 #[cfg(feature = "extra-children")]
11642 #[serde(skip)]
11643 #[cfg(feature = "extra-children")]
11644 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11645}
11646
11647#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11648pub struct CTTrPrBase {
11649 #[cfg(feature = "wml-styling")]
11650 #[serde(rename = "cnfStyle")]
11651 #[serde(default, skip_serializing_if = "Option::is_none")]
11652 pub cnf_style: Option<Box<CTCnf>>,
11653 #[cfg(feature = "wml-settings")]
11654 #[serde(rename = "divId")]
11655 #[serde(default, skip_serializing_if = "Option::is_none")]
11656 pub div_id: Option<Box<CTDecimalNumber>>,
11657 #[cfg(feature = "wml-tables")]
11658 #[serde(rename = "gridBefore")]
11659 #[serde(default, skip_serializing_if = "Option::is_none")]
11660 pub grid_before: Option<Box<CTDecimalNumber>>,
11661 #[cfg(feature = "wml-tables")]
11662 #[serde(rename = "gridAfter")]
11663 #[serde(default, skip_serializing_if = "Option::is_none")]
11664 pub grid_after: Option<Box<CTDecimalNumber>>,
11665 #[cfg(feature = "wml-tables")]
11666 #[serde(rename = "wBefore")]
11667 #[serde(default, skip_serializing_if = "Option::is_none")]
11668 pub w_before: Option<Box<CTTblWidth>>,
11669 #[cfg(feature = "wml-tables")]
11670 #[serde(rename = "wAfter")]
11671 #[serde(default, skip_serializing_if = "Option::is_none")]
11672 pub w_after: Option<Box<CTTblWidth>>,
11673 #[cfg(feature = "wml-tables")]
11674 #[serde(rename = "cantSplit")]
11675 #[serde(default, skip_serializing_if = "Option::is_none")]
11676 pub cant_split: Option<Box<OnOffElement>>,
11677 #[cfg(feature = "wml-tables")]
11678 #[serde(rename = "trHeight")]
11679 #[serde(default, skip_serializing_if = "Option::is_none")]
11680 pub tr_height: Option<Box<CTHeight>>,
11681 #[cfg(feature = "wml-tables")]
11682 #[serde(rename = "tblHeader")]
11683 #[serde(default, skip_serializing_if = "Option::is_none")]
11684 pub tbl_header: Option<Box<OnOffElement>>,
11685 #[cfg(feature = "wml-tables")]
11686 #[serde(rename = "tblCellSpacing")]
11687 #[serde(default, skip_serializing_if = "Option::is_none")]
11688 pub tbl_cell_spacing: Option<Box<CTTblWidth>>,
11689 #[cfg(feature = "wml-tables")]
11690 #[serde(rename = "jc")]
11691 #[serde(default, skip_serializing_if = "Option::is_none")]
11692 pub justification: Option<Box<CTJcTable>>,
11693 #[cfg(feature = "wml-tables")]
11694 #[serde(rename = "hidden")]
11695 #[serde(default, skip_serializing_if = "Option::is_none")]
11696 pub hidden: Option<Box<OnOffElement>>,
11697 #[cfg(feature = "extra-children")]
11699 #[serde(skip)]
11700 #[cfg(feature = "extra-children")]
11701 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11702}
11703
11704#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11705pub struct TableRowProperties {
11706 #[cfg(feature = "wml-styling")]
11707 #[serde(rename = "cnfStyle")]
11708 #[serde(default, skip_serializing_if = "Option::is_none")]
11709 pub cnf_style: Option<Box<CTCnf>>,
11710 #[cfg(feature = "wml-settings")]
11711 #[serde(rename = "divId")]
11712 #[serde(default, skip_serializing_if = "Option::is_none")]
11713 pub div_id: Option<Box<CTDecimalNumber>>,
11714 #[cfg(feature = "wml-tables")]
11715 #[serde(rename = "gridBefore")]
11716 #[serde(default, skip_serializing_if = "Option::is_none")]
11717 pub grid_before: Option<Box<CTDecimalNumber>>,
11718 #[cfg(feature = "wml-tables")]
11719 #[serde(rename = "gridAfter")]
11720 #[serde(default, skip_serializing_if = "Option::is_none")]
11721 pub grid_after: Option<Box<CTDecimalNumber>>,
11722 #[cfg(feature = "wml-tables")]
11723 #[serde(rename = "wBefore")]
11724 #[serde(default, skip_serializing_if = "Option::is_none")]
11725 pub w_before: Option<Box<CTTblWidth>>,
11726 #[cfg(feature = "wml-tables")]
11727 #[serde(rename = "wAfter")]
11728 #[serde(default, skip_serializing_if = "Option::is_none")]
11729 pub w_after: Option<Box<CTTblWidth>>,
11730 #[cfg(feature = "wml-tables")]
11731 #[serde(rename = "cantSplit")]
11732 #[serde(default, skip_serializing_if = "Option::is_none")]
11733 pub cant_split: Option<Box<OnOffElement>>,
11734 #[cfg(feature = "wml-tables")]
11735 #[serde(rename = "trHeight")]
11736 #[serde(default, skip_serializing_if = "Option::is_none")]
11737 pub tr_height: Option<Box<CTHeight>>,
11738 #[cfg(feature = "wml-tables")]
11739 #[serde(rename = "tblHeader")]
11740 #[serde(default, skip_serializing_if = "Option::is_none")]
11741 pub tbl_header: Option<Box<OnOffElement>>,
11742 #[cfg(feature = "wml-tables")]
11743 #[serde(rename = "tblCellSpacing")]
11744 #[serde(default, skip_serializing_if = "Option::is_none")]
11745 pub tbl_cell_spacing: Option<Box<CTTblWidth>>,
11746 #[cfg(feature = "wml-tables")]
11747 #[serde(rename = "jc")]
11748 #[serde(default, skip_serializing_if = "Option::is_none")]
11749 pub justification: Option<Box<CTJcTable>>,
11750 #[cfg(feature = "wml-tables")]
11751 #[serde(rename = "hidden")]
11752 #[serde(default, skip_serializing_if = "Option::is_none")]
11753 pub hidden: Option<Box<OnOffElement>>,
11754 #[cfg(feature = "wml-track-changes")]
11755 #[serde(rename = "ins")]
11756 #[serde(default, skip_serializing_if = "Option::is_none")]
11757 pub ins: Option<Box<CTTrackChange>>,
11758 #[cfg(feature = "wml-track-changes")]
11759 #[serde(rename = "del")]
11760 #[serde(default, skip_serializing_if = "Option::is_none")]
11761 pub del: Option<Box<CTTrackChange>>,
11762 #[cfg(feature = "wml-track-changes")]
11763 #[serde(rename = "trPrChange")]
11764 #[serde(default, skip_serializing_if = "Option::is_none")]
11765 pub tr_pr_change: Option<Box<CTTrPrChange>>,
11766 #[cfg(feature = "extra-children")]
11768 #[serde(skip)]
11769 #[cfg(feature = "extra-children")]
11770 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11771}
11772
11773#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11774pub struct CTRow {
11775 #[cfg(feature = "wml-track-changes")]
11776 #[serde(rename = "@w:rsidRPr")]
11777 #[serde(default, skip_serializing_if = "Option::is_none")]
11778 pub rsid_r_pr: Option<STLongHexNumber>,
11779 #[cfg(feature = "wml-track-changes")]
11780 #[serde(rename = "@w:rsidR")]
11781 #[serde(default, skip_serializing_if = "Option::is_none")]
11782 pub rsid_r: Option<STLongHexNumber>,
11783 #[cfg(feature = "wml-track-changes")]
11784 #[serde(rename = "@w:rsidDel")]
11785 #[serde(default, skip_serializing_if = "Option::is_none")]
11786 pub rsid_del: Option<STLongHexNumber>,
11787 #[cfg(feature = "wml-track-changes")]
11788 #[serde(rename = "@w:rsidTr")]
11789 #[serde(default, skip_serializing_if = "Option::is_none")]
11790 pub rsid_tr: Option<STLongHexNumber>,
11791 #[cfg(feature = "wml-tables")]
11792 #[serde(rename = "tblPrEx")]
11793 #[serde(default, skip_serializing_if = "Option::is_none")]
11794 pub tbl_pr_ex: Option<Box<CTTblPrEx>>,
11795 #[cfg(feature = "wml-tables")]
11796 #[serde(rename = "trPr")]
11797 #[serde(default, skip_serializing_if = "Option::is_none")]
11798 pub row_properties: Option<Box<TableRowProperties>>,
11799 #[serde(skip)]
11800 #[serde(default)]
11801 pub cells: Vec<CellContent>,
11802 #[cfg(feature = "extra-attrs")]
11804 #[serde(skip)]
11805 #[cfg(feature = "extra-attrs")]
11806 #[serde(default)]
11807 #[cfg(feature = "extra-attrs")]
11808 pub extra_attrs: std::collections::HashMap<String, String>,
11809 #[cfg(feature = "extra-children")]
11811 #[serde(skip)]
11812 #[cfg(feature = "extra-children")]
11813 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11814}
11815
11816#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11817pub struct CTTblLayoutType {
11818 #[serde(rename = "@w:type")]
11819 #[serde(default, skip_serializing_if = "Option::is_none")]
11820 pub r#type: Option<STTblLayoutType>,
11821 #[cfg(feature = "extra-attrs")]
11823 #[serde(skip)]
11824 #[cfg(feature = "extra-attrs")]
11825 #[serde(default)]
11826 #[cfg(feature = "extra-attrs")]
11827 pub extra_attrs: std::collections::HashMap<String, String>,
11828}
11829
11830#[derive(Debug, Clone, Serialize, Deserialize)]
11831pub struct CTTblOverlap {
11832 #[serde(rename = "@w:val")]
11833 pub value: STTblOverlap,
11834 #[cfg(feature = "extra-attrs")]
11836 #[serde(skip)]
11837 #[cfg(feature = "extra-attrs")]
11838 #[serde(default)]
11839 #[cfg(feature = "extra-attrs")]
11840 pub extra_attrs: std::collections::HashMap<String, String>,
11841}
11842
11843#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11844pub struct CTTblPPr {
11845 #[cfg(feature = "wml-tables")]
11846 #[serde(rename = "@w:leftFromText")]
11847 #[serde(default, skip_serializing_if = "Option::is_none")]
11848 pub left_from_text: Option<STTwipsMeasure>,
11849 #[cfg(feature = "wml-tables")]
11850 #[serde(rename = "@w:rightFromText")]
11851 #[serde(default, skip_serializing_if = "Option::is_none")]
11852 pub right_from_text: Option<STTwipsMeasure>,
11853 #[cfg(feature = "wml-tables")]
11854 #[serde(rename = "@w:topFromText")]
11855 #[serde(default, skip_serializing_if = "Option::is_none")]
11856 pub top_from_text: Option<STTwipsMeasure>,
11857 #[cfg(feature = "wml-tables")]
11858 #[serde(rename = "@w:bottomFromText")]
11859 #[serde(default, skip_serializing_if = "Option::is_none")]
11860 pub bottom_from_text: Option<STTwipsMeasure>,
11861 #[cfg(feature = "wml-tables")]
11862 #[serde(rename = "@w:vertAnchor")]
11863 #[serde(default, skip_serializing_if = "Option::is_none")]
11864 pub vert_anchor: Option<STVAnchor>,
11865 #[cfg(feature = "wml-tables")]
11866 #[serde(rename = "@w:horzAnchor")]
11867 #[serde(default, skip_serializing_if = "Option::is_none")]
11868 pub horz_anchor: Option<STHAnchor>,
11869 #[cfg(feature = "wml-tables")]
11870 #[serde(rename = "@w:tblpXSpec")]
11871 #[serde(default, skip_serializing_if = "Option::is_none")]
11872 pub tblp_x_spec: Option<STXAlign>,
11873 #[cfg(feature = "wml-tables")]
11874 #[serde(rename = "@w:tblpX")]
11875 #[serde(default, skip_serializing_if = "Option::is_none")]
11876 pub tblp_x: Option<STSignedTwipsMeasure>,
11877 #[cfg(feature = "wml-tables")]
11878 #[serde(rename = "@w:tblpYSpec")]
11879 #[serde(default, skip_serializing_if = "Option::is_none")]
11880 pub tblp_y_spec: Option<STYAlign>,
11881 #[cfg(feature = "wml-tables")]
11882 #[serde(rename = "@w:tblpY")]
11883 #[serde(default, skip_serializing_if = "Option::is_none")]
11884 pub tblp_y: Option<STSignedTwipsMeasure>,
11885 #[cfg(feature = "extra-attrs")]
11887 #[serde(skip)]
11888 #[cfg(feature = "extra-attrs")]
11889 #[serde(default)]
11890 #[cfg(feature = "extra-attrs")]
11891 pub extra_attrs: std::collections::HashMap<String, String>,
11892}
11893
11894#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11895pub struct CTTblCellMar {
11896 #[cfg(feature = "wml-tables")]
11897 #[serde(rename = "top")]
11898 #[serde(default, skip_serializing_if = "Option::is_none")]
11899 pub top: Option<Box<CTTblWidth>>,
11900 #[cfg(feature = "wml-tables")]
11901 #[serde(rename = "start")]
11902 #[serde(default, skip_serializing_if = "Option::is_none")]
11903 pub start: Option<Box<CTTblWidth>>,
11904 #[cfg(feature = "wml-tables")]
11905 #[serde(rename = "left")]
11906 #[serde(default, skip_serializing_if = "Option::is_none")]
11907 pub left: Option<Box<CTTblWidth>>,
11908 #[cfg(feature = "wml-tables")]
11909 #[serde(rename = "bottom")]
11910 #[serde(default, skip_serializing_if = "Option::is_none")]
11911 pub bottom: Option<Box<CTTblWidth>>,
11912 #[cfg(feature = "wml-tables")]
11913 #[serde(rename = "end")]
11914 #[serde(default, skip_serializing_if = "Option::is_none")]
11915 pub end: Option<Box<CTTblWidth>>,
11916 #[cfg(feature = "wml-tables")]
11917 #[serde(rename = "right")]
11918 #[serde(default, skip_serializing_if = "Option::is_none")]
11919 pub right: Option<Box<CTTblWidth>>,
11920 #[cfg(feature = "extra-children")]
11922 #[serde(skip)]
11923 #[cfg(feature = "extra-children")]
11924 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11925}
11926
11927#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11928pub struct CTTblBorders {
11929 #[cfg(feature = "wml-tables")]
11930 #[serde(rename = "top")]
11931 #[serde(default, skip_serializing_if = "Option::is_none")]
11932 pub top: Option<Box<CTBorder>>,
11933 #[cfg(feature = "wml-tables")]
11934 #[serde(rename = "start")]
11935 #[serde(default, skip_serializing_if = "Option::is_none")]
11936 pub start: Option<Box<CTBorder>>,
11937 #[cfg(feature = "wml-tables")]
11938 #[serde(rename = "left")]
11939 #[serde(default, skip_serializing_if = "Option::is_none")]
11940 pub left: Option<Box<CTBorder>>,
11941 #[cfg(feature = "wml-tables")]
11942 #[serde(rename = "bottom")]
11943 #[serde(default, skip_serializing_if = "Option::is_none")]
11944 pub bottom: Option<Box<CTBorder>>,
11945 #[cfg(feature = "wml-tables")]
11946 #[serde(rename = "end")]
11947 #[serde(default, skip_serializing_if = "Option::is_none")]
11948 pub end: Option<Box<CTBorder>>,
11949 #[cfg(feature = "wml-tables")]
11950 #[serde(rename = "right")]
11951 #[serde(default, skip_serializing_if = "Option::is_none")]
11952 pub right: Option<Box<CTBorder>>,
11953 #[cfg(feature = "wml-tables")]
11954 #[serde(rename = "insideH")]
11955 #[serde(default, skip_serializing_if = "Option::is_none")]
11956 pub inside_h: Option<Box<CTBorder>>,
11957 #[cfg(feature = "wml-tables")]
11958 #[serde(rename = "insideV")]
11959 #[serde(default, skip_serializing_if = "Option::is_none")]
11960 pub inside_v: Option<Box<CTBorder>>,
11961 #[cfg(feature = "extra-children")]
11963 #[serde(skip)]
11964 #[cfg(feature = "extra-children")]
11965 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11966}
11967
11968#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11969pub struct CTTblPrBase {
11970 #[cfg(feature = "wml-styling")]
11971 #[serde(rename = "tblStyle")]
11972 #[serde(default, skip_serializing_if = "Option::is_none")]
11973 pub tbl_style: Option<Box<CTString>>,
11974 #[cfg(feature = "wml-tables")]
11975 #[serde(rename = "tblpPr")]
11976 #[serde(default, skip_serializing_if = "Option::is_none")]
11977 pub tblp_pr: Option<Box<CTTblPPr>>,
11978 #[cfg(feature = "wml-tables")]
11979 #[serde(rename = "tblOverlap")]
11980 #[serde(default, skip_serializing_if = "Option::is_none")]
11981 pub tbl_overlap: Option<Box<CTTblOverlap>>,
11982 #[cfg(feature = "wml-tables")]
11983 #[serde(rename = "bidiVisual")]
11984 #[serde(default, skip_serializing_if = "Option::is_none")]
11985 pub bidi_visual: Option<Box<OnOffElement>>,
11986 #[cfg(feature = "wml-styling")]
11987 #[serde(rename = "tblStyleRowBandSize")]
11988 #[serde(default, skip_serializing_if = "Option::is_none")]
11989 pub tbl_style_row_band_size: Option<Box<CTDecimalNumber>>,
11990 #[cfg(feature = "wml-styling")]
11991 #[serde(rename = "tblStyleColBandSize")]
11992 #[serde(default, skip_serializing_if = "Option::is_none")]
11993 pub tbl_style_col_band_size: Option<Box<CTDecimalNumber>>,
11994 #[cfg(feature = "wml-tables")]
11995 #[serde(rename = "tblW")]
11996 #[serde(default, skip_serializing_if = "Option::is_none")]
11997 pub tbl_w: Option<Box<CTTblWidth>>,
11998 #[cfg(feature = "wml-tables")]
11999 #[serde(rename = "jc")]
12000 #[serde(default, skip_serializing_if = "Option::is_none")]
12001 pub justification: Option<Box<CTJcTable>>,
12002 #[cfg(feature = "wml-tables")]
12003 #[serde(rename = "tblCellSpacing")]
12004 #[serde(default, skip_serializing_if = "Option::is_none")]
12005 pub tbl_cell_spacing: Option<Box<CTTblWidth>>,
12006 #[cfg(feature = "wml-tables")]
12007 #[serde(rename = "tblInd")]
12008 #[serde(default, skip_serializing_if = "Option::is_none")]
12009 pub tbl_ind: Option<Box<CTTblWidth>>,
12010 #[cfg(feature = "wml-tables")]
12011 #[serde(rename = "tblBorders")]
12012 #[serde(default, skip_serializing_if = "Option::is_none")]
12013 pub tbl_borders: Option<Box<CTTblBorders>>,
12014 #[cfg(feature = "wml-tables")]
12015 #[serde(rename = "shd")]
12016 #[serde(default, skip_serializing_if = "Option::is_none")]
12017 pub shading: Option<Box<CTShd>>,
12018 #[cfg(feature = "wml-tables")]
12019 #[serde(rename = "tblLayout")]
12020 #[serde(default, skip_serializing_if = "Option::is_none")]
12021 pub tbl_layout: Option<Box<CTTblLayoutType>>,
12022 #[cfg(feature = "wml-tables")]
12023 #[serde(rename = "tblCellMar")]
12024 #[serde(default, skip_serializing_if = "Option::is_none")]
12025 pub tbl_cell_mar: Option<Box<CTTblCellMar>>,
12026 #[cfg(feature = "wml-tables")]
12027 #[serde(rename = "tblLook")]
12028 #[serde(default, skip_serializing_if = "Option::is_none")]
12029 pub tbl_look: Option<Box<CTTblLook>>,
12030 #[cfg(feature = "wml-tables")]
12031 #[serde(rename = "tblCaption")]
12032 #[serde(default, skip_serializing_if = "Option::is_none")]
12033 pub tbl_caption: Option<Box<CTString>>,
12034 #[cfg(feature = "wml-tables")]
12035 #[serde(rename = "tblDescription")]
12036 #[serde(default, skip_serializing_if = "Option::is_none")]
12037 pub tbl_description: Option<Box<CTString>>,
12038 #[cfg(feature = "extra-children")]
12040 #[serde(skip)]
12041 #[cfg(feature = "extra-children")]
12042 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12043}
12044
12045#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12046pub struct TableProperties {
12047 #[cfg(feature = "wml-styling")]
12048 #[serde(rename = "tblStyle")]
12049 #[serde(default, skip_serializing_if = "Option::is_none")]
12050 pub tbl_style: Option<Box<CTString>>,
12051 #[cfg(feature = "wml-tables")]
12052 #[serde(rename = "tblpPr")]
12053 #[serde(default, skip_serializing_if = "Option::is_none")]
12054 pub tblp_pr: Option<Box<CTTblPPr>>,
12055 #[cfg(feature = "wml-tables")]
12056 #[serde(rename = "tblOverlap")]
12057 #[serde(default, skip_serializing_if = "Option::is_none")]
12058 pub tbl_overlap: Option<Box<CTTblOverlap>>,
12059 #[cfg(feature = "wml-tables")]
12060 #[serde(rename = "bidiVisual")]
12061 #[serde(default, skip_serializing_if = "Option::is_none")]
12062 pub bidi_visual: Option<Box<OnOffElement>>,
12063 #[cfg(feature = "wml-styling")]
12064 #[serde(rename = "tblStyleRowBandSize")]
12065 #[serde(default, skip_serializing_if = "Option::is_none")]
12066 pub tbl_style_row_band_size: Option<Box<CTDecimalNumber>>,
12067 #[cfg(feature = "wml-styling")]
12068 #[serde(rename = "tblStyleColBandSize")]
12069 #[serde(default, skip_serializing_if = "Option::is_none")]
12070 pub tbl_style_col_band_size: Option<Box<CTDecimalNumber>>,
12071 #[cfg(feature = "wml-tables")]
12072 #[serde(rename = "tblW")]
12073 #[serde(default, skip_serializing_if = "Option::is_none")]
12074 pub tbl_w: Option<Box<CTTblWidth>>,
12075 #[cfg(feature = "wml-tables")]
12076 #[serde(rename = "jc")]
12077 #[serde(default, skip_serializing_if = "Option::is_none")]
12078 pub justification: Option<Box<CTJcTable>>,
12079 #[cfg(feature = "wml-tables")]
12080 #[serde(rename = "tblCellSpacing")]
12081 #[serde(default, skip_serializing_if = "Option::is_none")]
12082 pub tbl_cell_spacing: Option<Box<CTTblWidth>>,
12083 #[cfg(feature = "wml-tables")]
12084 #[serde(rename = "tblInd")]
12085 #[serde(default, skip_serializing_if = "Option::is_none")]
12086 pub tbl_ind: Option<Box<CTTblWidth>>,
12087 #[cfg(feature = "wml-tables")]
12088 #[serde(rename = "tblBorders")]
12089 #[serde(default, skip_serializing_if = "Option::is_none")]
12090 pub tbl_borders: Option<Box<CTTblBorders>>,
12091 #[cfg(feature = "wml-tables")]
12092 #[serde(rename = "shd")]
12093 #[serde(default, skip_serializing_if = "Option::is_none")]
12094 pub shading: Option<Box<CTShd>>,
12095 #[cfg(feature = "wml-tables")]
12096 #[serde(rename = "tblLayout")]
12097 #[serde(default, skip_serializing_if = "Option::is_none")]
12098 pub tbl_layout: Option<Box<CTTblLayoutType>>,
12099 #[cfg(feature = "wml-tables")]
12100 #[serde(rename = "tblCellMar")]
12101 #[serde(default, skip_serializing_if = "Option::is_none")]
12102 pub tbl_cell_mar: Option<Box<CTTblCellMar>>,
12103 #[cfg(feature = "wml-tables")]
12104 #[serde(rename = "tblLook")]
12105 #[serde(default, skip_serializing_if = "Option::is_none")]
12106 pub tbl_look: Option<Box<CTTblLook>>,
12107 #[cfg(feature = "wml-tables")]
12108 #[serde(rename = "tblCaption")]
12109 #[serde(default, skip_serializing_if = "Option::is_none")]
12110 pub tbl_caption: Option<Box<CTString>>,
12111 #[cfg(feature = "wml-tables")]
12112 #[serde(rename = "tblDescription")]
12113 #[serde(default, skip_serializing_if = "Option::is_none")]
12114 pub tbl_description: Option<Box<CTString>>,
12115 #[cfg(feature = "wml-track-changes")]
12116 #[serde(rename = "tblPrChange")]
12117 #[serde(default, skip_serializing_if = "Option::is_none")]
12118 pub tbl_pr_change: Option<Box<CTTblPrChange>>,
12119 #[cfg(feature = "extra-children")]
12121 #[serde(skip)]
12122 #[cfg(feature = "extra-children")]
12123 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12124}
12125
12126#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12127pub struct CTTblPrExBase {
12128 #[cfg(feature = "wml-tables")]
12129 #[serde(rename = "tblW")]
12130 #[serde(default, skip_serializing_if = "Option::is_none")]
12131 pub tbl_w: Option<Box<CTTblWidth>>,
12132 #[cfg(feature = "wml-tables")]
12133 #[serde(rename = "jc")]
12134 #[serde(default, skip_serializing_if = "Option::is_none")]
12135 pub justification: Option<Box<CTJcTable>>,
12136 #[cfg(feature = "wml-tables")]
12137 #[serde(rename = "tblCellSpacing")]
12138 #[serde(default, skip_serializing_if = "Option::is_none")]
12139 pub tbl_cell_spacing: Option<Box<CTTblWidth>>,
12140 #[cfg(feature = "wml-tables")]
12141 #[serde(rename = "tblInd")]
12142 #[serde(default, skip_serializing_if = "Option::is_none")]
12143 pub tbl_ind: Option<Box<CTTblWidth>>,
12144 #[cfg(feature = "wml-tables")]
12145 #[serde(rename = "tblBorders")]
12146 #[serde(default, skip_serializing_if = "Option::is_none")]
12147 pub tbl_borders: Option<Box<CTTblBorders>>,
12148 #[cfg(feature = "wml-tables")]
12149 #[serde(rename = "shd")]
12150 #[serde(default, skip_serializing_if = "Option::is_none")]
12151 pub shading: Option<Box<CTShd>>,
12152 #[cfg(feature = "wml-tables")]
12153 #[serde(rename = "tblLayout")]
12154 #[serde(default, skip_serializing_if = "Option::is_none")]
12155 pub tbl_layout: Option<Box<CTTblLayoutType>>,
12156 #[cfg(feature = "wml-tables")]
12157 #[serde(rename = "tblCellMar")]
12158 #[serde(default, skip_serializing_if = "Option::is_none")]
12159 pub tbl_cell_mar: Option<Box<CTTblCellMar>>,
12160 #[cfg(feature = "wml-tables")]
12161 #[serde(rename = "tblLook")]
12162 #[serde(default, skip_serializing_if = "Option::is_none")]
12163 pub tbl_look: Option<Box<CTTblLook>>,
12164 #[cfg(feature = "extra-children")]
12166 #[serde(skip)]
12167 #[cfg(feature = "extra-children")]
12168 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12169}
12170
12171#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12172pub struct CTTblPrEx {
12173 #[serde(rename = "tblW")]
12174 #[serde(default, skip_serializing_if = "Option::is_none")]
12175 pub tbl_w: Option<Box<CTTblWidth>>,
12176 #[serde(rename = "jc")]
12177 #[serde(default, skip_serializing_if = "Option::is_none")]
12178 pub justification: Option<Box<CTJcTable>>,
12179 #[serde(rename = "tblCellSpacing")]
12180 #[serde(default, skip_serializing_if = "Option::is_none")]
12181 pub tbl_cell_spacing: Option<Box<CTTblWidth>>,
12182 #[serde(rename = "tblInd")]
12183 #[serde(default, skip_serializing_if = "Option::is_none")]
12184 pub tbl_ind: Option<Box<CTTblWidth>>,
12185 #[serde(rename = "tblBorders")]
12186 #[serde(default, skip_serializing_if = "Option::is_none")]
12187 pub tbl_borders: Option<Box<CTTblBorders>>,
12188 #[serde(rename = "shd")]
12189 #[serde(default, skip_serializing_if = "Option::is_none")]
12190 pub shading: Option<Box<CTShd>>,
12191 #[serde(rename = "tblLayout")]
12192 #[serde(default, skip_serializing_if = "Option::is_none")]
12193 pub tbl_layout: Option<Box<CTTblLayoutType>>,
12194 #[serde(rename = "tblCellMar")]
12195 #[serde(default, skip_serializing_if = "Option::is_none")]
12196 pub tbl_cell_mar: Option<Box<CTTblCellMar>>,
12197 #[serde(rename = "tblLook")]
12198 #[serde(default, skip_serializing_if = "Option::is_none")]
12199 pub tbl_look: Option<Box<CTTblLook>>,
12200 #[cfg(feature = "wml-track-changes")]
12201 #[serde(rename = "tblPrExChange")]
12202 #[serde(default, skip_serializing_if = "Option::is_none")]
12203 pub tbl_pr_ex_change: Option<Box<CTTblPrExChange>>,
12204 #[cfg(feature = "extra-children")]
12206 #[serde(skip)]
12207 #[cfg(feature = "extra-children")]
12208 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12209}
12210
12211#[derive(Debug, Clone, Serialize, Deserialize)]
12212pub struct Table {
12213 #[serde(skip)]
12214 #[serde(default)]
12215 pub range_markup: Vec<RangeMarkup>,
12216 #[serde(rename = "tblPr")]
12217 pub table_properties: Box<TableProperties>,
12218 #[serde(rename = "tblGrid")]
12219 pub tbl_grid: Box<TableGrid>,
12220 #[serde(skip)]
12221 #[serde(default)]
12222 pub rows: Vec<RowContent>,
12223 #[cfg(feature = "extra-children")]
12225 #[serde(skip)]
12226 #[cfg(feature = "extra-children")]
12227 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12228}
12229
12230#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12231pub struct CTTblLook {
12232 #[cfg(feature = "wml-tables")]
12233 #[serde(rename = "@w:firstRow")]
12234 #[serde(default, skip_serializing_if = "Option::is_none")]
12235 pub first_row: Option<OnOff>,
12236 #[cfg(feature = "wml-tables")]
12237 #[serde(rename = "@w:lastRow")]
12238 #[serde(default, skip_serializing_if = "Option::is_none")]
12239 pub last_row: Option<OnOff>,
12240 #[cfg(feature = "wml-tables")]
12241 #[serde(rename = "@w:firstColumn")]
12242 #[serde(default, skip_serializing_if = "Option::is_none")]
12243 pub first_column: Option<OnOff>,
12244 #[cfg(feature = "wml-tables")]
12245 #[serde(rename = "@w:lastColumn")]
12246 #[serde(default, skip_serializing_if = "Option::is_none")]
12247 pub last_column: Option<OnOff>,
12248 #[cfg(feature = "wml-tables")]
12249 #[serde(rename = "@w:noHBand")]
12250 #[serde(default, skip_serializing_if = "Option::is_none")]
12251 pub no_h_band: Option<OnOff>,
12252 #[cfg(feature = "wml-tables")]
12253 #[serde(rename = "@w:noVBand")]
12254 #[serde(default, skip_serializing_if = "Option::is_none")]
12255 pub no_v_band: Option<OnOff>,
12256 #[cfg(feature = "wml-tables")]
12257 #[serde(rename = "@w:val")]
12258 #[serde(default, skip_serializing_if = "Option::is_none")]
12259 pub value: Option<STShortHexNumber>,
12260 #[cfg(feature = "extra-attrs")]
12262 #[serde(skip)]
12263 #[cfg(feature = "extra-attrs")]
12264 #[serde(default)]
12265 #[cfg(feature = "extra-attrs")]
12266 pub extra_attrs: std::collections::HashMap<String, String>,
12267}
12268
12269#[derive(Debug, Clone, Serialize, Deserialize)]
12270pub struct CTFtnPos {
12271 #[serde(rename = "@w:val")]
12272 pub value: STFtnPos,
12273 #[cfg(feature = "extra-attrs")]
12275 #[serde(skip)]
12276 #[cfg(feature = "extra-attrs")]
12277 #[serde(default)]
12278 #[cfg(feature = "extra-attrs")]
12279 pub extra_attrs: std::collections::HashMap<String, String>,
12280}
12281
12282#[derive(Debug, Clone, Serialize, Deserialize)]
12283pub struct CTEdnPos {
12284 #[serde(rename = "@w:val")]
12285 pub value: STEdnPos,
12286 #[cfg(feature = "extra-attrs")]
12288 #[serde(skip)]
12289 #[cfg(feature = "extra-attrs")]
12290 #[serde(default)]
12291 #[cfg(feature = "extra-attrs")]
12292 pub extra_attrs: std::collections::HashMap<String, String>,
12293}
12294
12295#[derive(Debug, Clone, Serialize, Deserialize)]
12296pub struct CTNumFmt {
12297 #[serde(rename = "@w:val")]
12298 pub value: STNumberFormat,
12299 #[cfg(feature = "wml-numbering")]
12300 #[serde(rename = "@w:format")]
12301 #[serde(default, skip_serializing_if = "Option::is_none")]
12302 pub format: Option<STString>,
12303 #[cfg(feature = "extra-attrs")]
12305 #[serde(skip)]
12306 #[cfg(feature = "extra-attrs")]
12307 #[serde(default)]
12308 #[cfg(feature = "extra-attrs")]
12309 pub extra_attrs: std::collections::HashMap<String, String>,
12310}
12311
12312#[derive(Debug, Clone, Serialize, Deserialize)]
12313pub struct CTNumRestart {
12314 #[serde(rename = "@w:val")]
12315 pub value: STRestartNumber,
12316 #[cfg(feature = "extra-attrs")]
12318 #[serde(skip)]
12319 #[cfg(feature = "extra-attrs")]
12320 #[serde(default)]
12321 #[cfg(feature = "extra-attrs")]
12322 pub extra_attrs: std::collections::HashMap<String, String>,
12323}
12324
12325#[derive(Debug, Clone, Serialize, Deserialize)]
12326pub struct FootnoteEndnoteRef {
12327 #[cfg(feature = "wml-comments")]
12328 #[serde(rename = "@w:customMarkFollows")]
12329 #[serde(default, skip_serializing_if = "Option::is_none")]
12330 pub custom_mark_follows: Option<OnOff>,
12331 #[serde(rename = "@w:id")]
12332 pub id: STDecimalNumber,
12333 #[cfg(feature = "extra-attrs")]
12335 #[serde(skip)]
12336 #[cfg(feature = "extra-attrs")]
12337 #[serde(default)]
12338 #[cfg(feature = "extra-attrs")]
12339 pub extra_attrs: std::collections::HashMap<String, String>,
12340}
12341
12342#[derive(Debug, Clone, Serialize, Deserialize)]
12343pub struct CTFtnEdnSepRef {
12344 #[serde(rename = "@w:id")]
12345 pub id: STDecimalNumber,
12346 #[cfg(feature = "extra-attrs")]
12348 #[serde(skip)]
12349 #[cfg(feature = "extra-attrs")]
12350 #[serde(default)]
12351 #[cfg(feature = "extra-attrs")]
12352 pub extra_attrs: std::collections::HashMap<String, String>,
12353}
12354
12355#[derive(Debug, Clone, Serialize, Deserialize)]
12356pub struct FootnoteEndnote {
12357 #[cfg(feature = "wml-comments")]
12358 #[serde(rename = "@w:type")]
12359 #[serde(default, skip_serializing_if = "Option::is_none")]
12360 pub r#type: Option<STFtnEdn>,
12361 #[serde(rename = "@w:id")]
12362 pub id: STDecimalNumber,
12363 #[serde(skip)]
12364 #[serde(default)]
12365 pub block_content: Vec<BlockContent>,
12366 #[cfg(feature = "extra-attrs")]
12368 #[serde(skip)]
12369 #[cfg(feature = "extra-attrs")]
12370 #[serde(default)]
12371 #[cfg(feature = "extra-attrs")]
12372 pub extra_attrs: std::collections::HashMap<String, String>,
12373 #[cfg(feature = "extra-children")]
12375 #[serde(skip)]
12376 #[cfg(feature = "extra-children")]
12377 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12378}
12379
12380#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12381pub struct EGFtnEdnNumProps {
12382 #[serde(rename = "numStart")]
12383 #[serde(default, skip_serializing_if = "Option::is_none")]
12384 pub num_start: Option<Box<CTDecimalNumber>>,
12385 #[serde(rename = "numRestart")]
12386 #[serde(default, skip_serializing_if = "Option::is_none")]
12387 pub num_restart: Option<Box<CTNumRestart>>,
12388 #[cfg(feature = "extra-children")]
12390 #[serde(skip)]
12391 #[cfg(feature = "extra-children")]
12392 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12393}
12394
12395#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12396pub struct CTFtnProps {
12397 #[cfg(feature = "wml-comments")]
12398 #[serde(rename = "pos")]
12399 #[serde(default, skip_serializing_if = "Option::is_none")]
12400 pub pos: Option<Box<CTFtnPos>>,
12401 #[cfg(feature = "wml-comments")]
12402 #[serde(rename = "numFmt")]
12403 #[serde(default, skip_serializing_if = "Option::is_none")]
12404 pub num_fmt: Option<Box<CTNumFmt>>,
12405 #[serde(rename = "numStart")]
12406 #[serde(default, skip_serializing_if = "Option::is_none")]
12407 pub num_start: Option<Box<CTDecimalNumber>>,
12408 #[serde(rename = "numRestart")]
12409 #[serde(default, skip_serializing_if = "Option::is_none")]
12410 pub num_restart: Option<Box<CTNumRestart>>,
12411 #[cfg(feature = "extra-children")]
12413 #[serde(skip)]
12414 #[cfg(feature = "extra-children")]
12415 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12416}
12417
12418#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12419pub struct CTEdnProps {
12420 #[cfg(feature = "wml-comments")]
12421 #[serde(rename = "pos")]
12422 #[serde(default, skip_serializing_if = "Option::is_none")]
12423 pub pos: Option<Box<CTEdnPos>>,
12424 #[cfg(feature = "wml-comments")]
12425 #[serde(rename = "numFmt")]
12426 #[serde(default, skip_serializing_if = "Option::is_none")]
12427 pub num_fmt: Option<Box<CTNumFmt>>,
12428 #[serde(rename = "numStart")]
12429 #[serde(default, skip_serializing_if = "Option::is_none")]
12430 pub num_start: Option<Box<CTDecimalNumber>>,
12431 #[serde(rename = "numRestart")]
12432 #[serde(default, skip_serializing_if = "Option::is_none")]
12433 pub num_restart: Option<Box<CTNumRestart>>,
12434 #[cfg(feature = "extra-children")]
12436 #[serde(skip)]
12437 #[cfg(feature = "extra-children")]
12438 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12439}
12440
12441#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12442pub struct CTFtnDocProps {
12443 #[serde(rename = "pos")]
12444 #[serde(default, skip_serializing_if = "Option::is_none")]
12445 pub pos: Option<Box<CTFtnPos>>,
12446 #[serde(rename = "numFmt")]
12447 #[serde(default, skip_serializing_if = "Option::is_none")]
12448 pub num_fmt: Option<Box<CTNumFmt>>,
12449 #[serde(rename = "numStart")]
12450 #[serde(default, skip_serializing_if = "Option::is_none")]
12451 pub num_start: Option<Box<CTDecimalNumber>>,
12452 #[serde(rename = "numRestart")]
12453 #[serde(default, skip_serializing_if = "Option::is_none")]
12454 pub num_restart: Option<Box<CTNumRestart>>,
12455 #[cfg(feature = "wml-comments")]
12456 #[serde(rename = "footnote")]
12457 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12458 pub footnote: Vec<CTFtnEdnSepRef>,
12459 #[cfg(feature = "extra-children")]
12461 #[serde(skip)]
12462 #[cfg(feature = "extra-children")]
12463 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12464}
12465
12466#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12467pub struct CTEdnDocProps {
12468 #[serde(rename = "pos")]
12469 #[serde(default, skip_serializing_if = "Option::is_none")]
12470 pub pos: Option<Box<CTEdnPos>>,
12471 #[serde(rename = "numFmt")]
12472 #[serde(default, skip_serializing_if = "Option::is_none")]
12473 pub num_fmt: Option<Box<CTNumFmt>>,
12474 #[serde(rename = "numStart")]
12475 #[serde(default, skip_serializing_if = "Option::is_none")]
12476 pub num_start: Option<Box<CTDecimalNumber>>,
12477 #[serde(rename = "numRestart")]
12478 #[serde(default, skip_serializing_if = "Option::is_none")]
12479 pub num_restart: Option<Box<CTNumRestart>>,
12480 #[cfg(feature = "wml-comments")]
12481 #[serde(rename = "endnote")]
12482 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12483 pub endnote: Vec<CTFtnEdnSepRef>,
12484 #[cfg(feature = "extra-children")]
12486 #[serde(skip)]
12487 #[cfg(feature = "extra-children")]
12488 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12489}
12490
12491#[derive(Debug, Clone, Serialize, Deserialize)]
12492pub struct CTRecipientData {
12493 #[cfg(feature = "wml-settings")]
12494 #[serde(rename = "active")]
12495 #[serde(default, skip_serializing_if = "Option::is_none")]
12496 pub active: Option<Box<OnOffElement>>,
12497 #[cfg(feature = "wml-settings")]
12498 #[serde(rename = "column")]
12499 pub column: Box<CTDecimalNumber>,
12500 #[cfg(feature = "wml-settings")]
12501 #[serde(rename = "uniqueTag")]
12502 pub unique_tag: Box<CTBase64Binary>,
12503 #[cfg(feature = "extra-children")]
12505 #[serde(skip)]
12506 #[cfg(feature = "extra-children")]
12507 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12508}
12509
12510#[derive(Debug, Clone, Serialize, Deserialize)]
12511pub struct CTBase64Binary {
12512 #[serde(rename = "@w:val")]
12513 pub value: Vec<u8>,
12514 #[cfg(feature = "extra-attrs")]
12516 #[serde(skip)]
12517 #[cfg(feature = "extra-attrs")]
12518 #[serde(default)]
12519 #[cfg(feature = "extra-attrs")]
12520 pub extra_attrs: std::collections::HashMap<String, String>,
12521}
12522
12523#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12524pub struct CTRecipients {
12525 #[cfg(feature = "wml-settings")]
12526 #[serde(rename = "recipientData")]
12527 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12528 pub recipient_data: Vec<CTRecipientData>,
12529 #[cfg(feature = "extra-children")]
12531 #[serde(skip)]
12532 #[cfg(feature = "extra-children")]
12533 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12534}
12535
12536pub type WRecipients = Box<CTRecipients>;
12537
12538#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12539pub struct CTOdsoFieldMapData {
12540 #[cfg(feature = "wml-settings")]
12541 #[serde(rename = "type")]
12542 #[serde(default, skip_serializing_if = "Option::is_none")]
12543 pub r#type: Option<Box<CTMailMergeOdsoFMDFieldType>>,
12544 #[cfg(feature = "wml-settings")]
12545 #[serde(rename = "name")]
12546 #[serde(default, skip_serializing_if = "Option::is_none")]
12547 pub name: Option<Box<CTString>>,
12548 #[cfg(feature = "wml-settings")]
12549 #[serde(rename = "mappedName")]
12550 #[serde(default, skip_serializing_if = "Option::is_none")]
12551 pub mapped_name: Option<Box<CTString>>,
12552 #[cfg(feature = "wml-settings")]
12553 #[serde(rename = "column")]
12554 #[serde(default, skip_serializing_if = "Option::is_none")]
12555 pub column: Option<Box<CTDecimalNumber>>,
12556 #[cfg(feature = "wml-settings")]
12557 #[serde(rename = "lid")]
12558 #[serde(default, skip_serializing_if = "Option::is_none")]
12559 pub lid: Option<Box<CTLang>>,
12560 #[cfg(feature = "wml-settings")]
12561 #[serde(rename = "dynamicAddress")]
12562 #[serde(default, skip_serializing_if = "Option::is_none")]
12563 pub dynamic_address: Option<Box<OnOffElement>>,
12564 #[cfg(feature = "extra-children")]
12566 #[serde(skip)]
12567 #[cfg(feature = "extra-children")]
12568 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12569}
12570
12571#[derive(Debug, Clone, Serialize, Deserialize)]
12572pub struct CTMailMergeSourceType {
12573 #[serde(rename = "@w:val")]
12574 pub value: STMailMergeSourceType,
12575 #[cfg(feature = "extra-attrs")]
12577 #[serde(skip)]
12578 #[cfg(feature = "extra-attrs")]
12579 #[serde(default)]
12580 #[cfg(feature = "extra-attrs")]
12581 pub extra_attrs: std::collections::HashMap<String, String>,
12582}
12583
12584#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12585pub struct CTOdso {
12586 #[cfg(feature = "wml-settings")]
12587 #[serde(rename = "udl")]
12588 #[serde(default, skip_serializing_if = "Option::is_none")]
12589 pub udl: Option<Box<CTString>>,
12590 #[cfg(feature = "wml-settings")]
12591 #[serde(rename = "table")]
12592 #[serde(default, skip_serializing_if = "Option::is_none")]
12593 pub table: Option<Box<CTString>>,
12594 #[cfg(feature = "wml-settings")]
12595 #[serde(rename = "src")]
12596 #[serde(default, skip_serializing_if = "Option::is_none")]
12597 pub src: Option<Box<CTRel>>,
12598 #[cfg(feature = "wml-settings")]
12599 #[serde(rename = "colDelim")]
12600 #[serde(default, skip_serializing_if = "Option::is_none")]
12601 pub col_delim: Option<Box<CTDecimalNumber>>,
12602 #[cfg(feature = "wml-settings")]
12603 #[serde(rename = "type")]
12604 #[serde(default, skip_serializing_if = "Option::is_none")]
12605 pub r#type: Option<Box<CTMailMergeSourceType>>,
12606 #[cfg(feature = "wml-settings")]
12607 #[serde(rename = "fHdr")]
12608 #[serde(default, skip_serializing_if = "Option::is_none")]
12609 pub f_hdr: Option<Box<OnOffElement>>,
12610 #[cfg(feature = "wml-settings")]
12611 #[serde(rename = "fieldMapData")]
12612 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12613 pub field_map_data: Vec<CTOdsoFieldMapData>,
12614 #[cfg(feature = "wml-settings")]
12615 #[serde(rename = "recipientData")]
12616 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12617 pub recipient_data: Vec<CTRel>,
12618 #[cfg(feature = "extra-children")]
12620 #[serde(skip)]
12621 #[cfg(feature = "extra-children")]
12622 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12623}
12624
12625#[derive(Debug, Clone, Serialize, Deserialize)]
12626pub struct CTMailMerge {
12627 #[cfg(feature = "wml-settings")]
12628 #[serde(rename = "mainDocumentType")]
12629 pub main_document_type: Box<CTMailMergeDocType>,
12630 #[cfg(feature = "wml-settings")]
12631 #[serde(rename = "linkToQuery")]
12632 #[serde(default, skip_serializing_if = "Option::is_none")]
12633 pub link_to_query: Option<Box<OnOffElement>>,
12634 #[cfg(feature = "wml-settings")]
12635 #[serde(rename = "dataType")]
12636 pub data_type: Box<MailMergeDataTypeElement>,
12637 #[cfg(feature = "wml-settings")]
12638 #[serde(rename = "connectString")]
12639 #[serde(default, skip_serializing_if = "Option::is_none")]
12640 pub connect_string: Option<Box<CTString>>,
12641 #[cfg(feature = "wml-settings")]
12642 #[serde(rename = "query")]
12643 #[serde(default, skip_serializing_if = "Option::is_none")]
12644 pub query: Option<Box<CTString>>,
12645 #[cfg(feature = "wml-settings")]
12646 #[serde(rename = "dataSource")]
12647 #[serde(default, skip_serializing_if = "Option::is_none")]
12648 pub data_source: Option<Box<CTRel>>,
12649 #[cfg(feature = "wml-settings")]
12650 #[serde(rename = "headerSource")]
12651 #[serde(default, skip_serializing_if = "Option::is_none")]
12652 pub header_source: Option<Box<CTRel>>,
12653 #[cfg(feature = "wml-settings")]
12654 #[serde(rename = "doNotSuppressBlankLines")]
12655 #[serde(default, skip_serializing_if = "Option::is_none")]
12656 pub do_not_suppress_blank_lines: Option<Box<OnOffElement>>,
12657 #[cfg(feature = "wml-settings")]
12658 #[serde(rename = "destination")]
12659 #[serde(default, skip_serializing_if = "Option::is_none")]
12660 pub destination: Option<Box<CTMailMergeDest>>,
12661 #[cfg(feature = "wml-settings")]
12662 #[serde(rename = "addressFieldName")]
12663 #[serde(default, skip_serializing_if = "Option::is_none")]
12664 pub address_field_name: Option<Box<CTString>>,
12665 #[cfg(feature = "wml-settings")]
12666 #[serde(rename = "mailSubject")]
12667 #[serde(default, skip_serializing_if = "Option::is_none")]
12668 pub mail_subject: Option<Box<CTString>>,
12669 #[cfg(feature = "wml-settings")]
12670 #[serde(rename = "mailAsAttachment")]
12671 #[serde(default, skip_serializing_if = "Option::is_none")]
12672 pub mail_as_attachment: Option<Box<OnOffElement>>,
12673 #[cfg(feature = "wml-settings")]
12674 #[serde(rename = "viewMergedData")]
12675 #[serde(default, skip_serializing_if = "Option::is_none")]
12676 pub view_merged_data: Option<Box<OnOffElement>>,
12677 #[cfg(feature = "wml-settings")]
12678 #[serde(rename = "activeRecord")]
12679 #[serde(default, skip_serializing_if = "Option::is_none")]
12680 pub active_record: Option<Box<CTDecimalNumber>>,
12681 #[cfg(feature = "wml-settings")]
12682 #[serde(rename = "checkErrors")]
12683 #[serde(default, skip_serializing_if = "Option::is_none")]
12684 pub check_errors: Option<Box<CTDecimalNumber>>,
12685 #[cfg(feature = "wml-settings")]
12686 #[serde(rename = "odso")]
12687 #[serde(default, skip_serializing_if = "Option::is_none")]
12688 pub odso: Option<Box<CTOdso>>,
12689 #[cfg(feature = "extra-children")]
12691 #[serde(skip)]
12692 #[cfg(feature = "extra-children")]
12693 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12694}
12695
12696#[derive(Debug, Clone, Serialize, Deserialize)]
12697pub struct CTTargetScreenSz {
12698 #[serde(rename = "@w:val")]
12699 pub value: STTargetScreenSz,
12700 #[cfg(feature = "extra-attrs")]
12702 #[serde(skip)]
12703 #[cfg(feature = "extra-attrs")]
12704 #[serde(default)]
12705 #[cfg(feature = "extra-attrs")]
12706 pub extra_attrs: std::collections::HashMap<String, String>,
12707}
12708
12709#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12710pub struct Compatibility {
12711 #[cfg(feature = "wml-settings")]
12712 #[serde(rename = "useSingleBorderforContiguousCells")]
12713 #[serde(default, skip_serializing_if = "Option::is_none")]
12714 pub use_single_borderfor_contiguous_cells: Option<Box<OnOffElement>>,
12715 #[cfg(feature = "wml-settings")]
12716 #[serde(rename = "wpJustification")]
12717 #[serde(default, skip_serializing_if = "Option::is_none")]
12718 pub wp_justification: Option<Box<OnOffElement>>,
12719 #[cfg(feature = "wml-settings")]
12720 #[serde(rename = "noTabHangInd")]
12721 #[serde(default, skip_serializing_if = "Option::is_none")]
12722 pub no_tab_hang_ind: Option<Box<OnOffElement>>,
12723 #[cfg(feature = "wml-settings")]
12724 #[serde(rename = "noLeading")]
12725 #[serde(default, skip_serializing_if = "Option::is_none")]
12726 pub no_leading: Option<Box<OnOffElement>>,
12727 #[cfg(feature = "wml-settings")]
12728 #[serde(rename = "spaceForUL")]
12729 #[serde(default, skip_serializing_if = "Option::is_none")]
12730 pub space_for_u_l: Option<Box<OnOffElement>>,
12731 #[cfg(feature = "wml-settings")]
12732 #[serde(rename = "noColumnBalance")]
12733 #[serde(default, skip_serializing_if = "Option::is_none")]
12734 pub no_column_balance: Option<Box<OnOffElement>>,
12735 #[cfg(feature = "wml-settings")]
12736 #[serde(rename = "balanceSingleByteDoubleByteWidth")]
12737 #[serde(default, skip_serializing_if = "Option::is_none")]
12738 pub balance_single_byte_double_byte_width: Option<Box<OnOffElement>>,
12739 #[cfg(feature = "wml-settings")]
12740 #[serde(rename = "noExtraLineSpacing")]
12741 #[serde(default, skip_serializing_if = "Option::is_none")]
12742 pub no_extra_line_spacing: Option<Box<OnOffElement>>,
12743 #[cfg(feature = "wml-settings")]
12744 #[serde(rename = "doNotLeaveBackslashAlone")]
12745 #[serde(default, skip_serializing_if = "Option::is_none")]
12746 pub do_not_leave_backslash_alone: Option<Box<OnOffElement>>,
12747 #[cfg(feature = "wml-settings")]
12748 #[serde(rename = "ulTrailSpace")]
12749 #[serde(default, skip_serializing_if = "Option::is_none")]
12750 pub ul_trail_space: Option<Box<OnOffElement>>,
12751 #[cfg(feature = "wml-settings")]
12752 #[serde(rename = "doNotExpandShiftReturn")]
12753 #[serde(default, skip_serializing_if = "Option::is_none")]
12754 pub do_not_expand_shift_return: Option<Box<OnOffElement>>,
12755 #[cfg(feature = "wml-settings")]
12756 #[serde(rename = "spacingInWholePoints")]
12757 #[serde(default, skip_serializing_if = "Option::is_none")]
12758 pub spacing_in_whole_points: Option<Box<OnOffElement>>,
12759 #[cfg(feature = "wml-settings")]
12760 #[serde(rename = "lineWrapLikeWord6")]
12761 #[serde(default, skip_serializing_if = "Option::is_none")]
12762 pub line_wrap_like_word6: Option<Box<OnOffElement>>,
12763 #[cfg(feature = "wml-settings")]
12764 #[serde(rename = "printBodyTextBeforeHeader")]
12765 #[serde(default, skip_serializing_if = "Option::is_none")]
12766 pub print_body_text_before_header: Option<Box<OnOffElement>>,
12767 #[cfg(feature = "wml-settings")]
12768 #[serde(rename = "printColBlack")]
12769 #[serde(default, skip_serializing_if = "Option::is_none")]
12770 pub print_col_black: Option<Box<OnOffElement>>,
12771 #[cfg(feature = "wml-settings")]
12772 #[serde(rename = "wpSpaceWidth")]
12773 #[serde(default, skip_serializing_if = "Option::is_none")]
12774 pub wp_space_width: Option<Box<OnOffElement>>,
12775 #[cfg(feature = "wml-settings")]
12776 #[serde(rename = "showBreaksInFrames")]
12777 #[serde(default, skip_serializing_if = "Option::is_none")]
12778 pub show_breaks_in_frames: Option<Box<OnOffElement>>,
12779 #[cfg(feature = "wml-settings")]
12780 #[serde(rename = "subFontBySize")]
12781 #[serde(default, skip_serializing_if = "Option::is_none")]
12782 pub sub_font_by_size: Option<Box<OnOffElement>>,
12783 #[cfg(feature = "wml-settings")]
12784 #[serde(rename = "suppressBottomSpacing")]
12785 #[serde(default, skip_serializing_if = "Option::is_none")]
12786 pub suppress_bottom_spacing: Option<Box<OnOffElement>>,
12787 #[cfg(feature = "wml-settings")]
12788 #[serde(rename = "suppressTopSpacing")]
12789 #[serde(default, skip_serializing_if = "Option::is_none")]
12790 pub suppress_top_spacing: Option<Box<OnOffElement>>,
12791 #[cfg(feature = "wml-settings")]
12792 #[serde(rename = "suppressSpacingAtTopOfPage")]
12793 #[serde(default, skip_serializing_if = "Option::is_none")]
12794 pub suppress_spacing_at_top_of_page: Option<Box<OnOffElement>>,
12795 #[cfg(feature = "wml-settings")]
12796 #[serde(rename = "suppressTopSpacingWP")]
12797 #[serde(default, skip_serializing_if = "Option::is_none")]
12798 pub suppress_top_spacing_w_p: Option<Box<OnOffElement>>,
12799 #[cfg(feature = "wml-settings")]
12800 #[serde(rename = "suppressSpBfAfterPgBrk")]
12801 #[serde(default, skip_serializing_if = "Option::is_none")]
12802 pub suppress_sp_bf_after_pg_brk: Option<Box<OnOffElement>>,
12803 #[cfg(feature = "wml-settings")]
12804 #[serde(rename = "swapBordersFacingPages")]
12805 #[serde(default, skip_serializing_if = "Option::is_none")]
12806 pub swap_borders_facing_pages: Option<Box<OnOffElement>>,
12807 #[cfg(feature = "wml-settings")]
12808 #[serde(rename = "convMailMergeEsc")]
12809 #[serde(default, skip_serializing_if = "Option::is_none")]
12810 pub conv_mail_merge_esc: Option<Box<OnOffElement>>,
12811 #[cfg(feature = "wml-settings")]
12812 #[serde(rename = "truncateFontHeightsLikeWP6")]
12813 #[serde(default, skip_serializing_if = "Option::is_none")]
12814 pub truncate_font_heights_like_w_p6: Option<Box<OnOffElement>>,
12815 #[cfg(feature = "wml-settings")]
12816 #[serde(rename = "mwSmallCaps")]
12817 #[serde(default, skip_serializing_if = "Option::is_none")]
12818 pub mw_small_caps: Option<Box<OnOffElement>>,
12819 #[cfg(feature = "wml-settings")]
12820 #[serde(rename = "usePrinterMetrics")]
12821 #[serde(default, skip_serializing_if = "Option::is_none")]
12822 pub use_printer_metrics: Option<Box<OnOffElement>>,
12823 #[cfg(feature = "wml-settings")]
12824 #[serde(rename = "doNotSuppressParagraphBorders")]
12825 #[serde(default, skip_serializing_if = "Option::is_none")]
12826 pub do_not_suppress_paragraph_borders: Option<Box<OnOffElement>>,
12827 #[cfg(feature = "wml-settings")]
12828 #[serde(rename = "wrapTrailSpaces")]
12829 #[serde(default, skip_serializing_if = "Option::is_none")]
12830 pub wrap_trail_spaces: Option<Box<OnOffElement>>,
12831 #[cfg(feature = "wml-settings")]
12832 #[serde(rename = "footnoteLayoutLikeWW8")]
12833 #[serde(default, skip_serializing_if = "Option::is_none")]
12834 pub footnote_layout_like_w_w8: Option<Box<OnOffElement>>,
12835 #[cfg(feature = "wml-settings")]
12836 #[serde(rename = "shapeLayoutLikeWW8")]
12837 #[serde(default, skip_serializing_if = "Option::is_none")]
12838 pub shape_layout_like_w_w8: Option<Box<OnOffElement>>,
12839 #[cfg(feature = "wml-settings")]
12840 #[serde(rename = "alignTablesRowByRow")]
12841 #[serde(default, skip_serializing_if = "Option::is_none")]
12842 pub align_tables_row_by_row: Option<Box<OnOffElement>>,
12843 #[cfg(feature = "wml-settings")]
12844 #[serde(rename = "forgetLastTabAlignment")]
12845 #[serde(default, skip_serializing_if = "Option::is_none")]
12846 pub forget_last_tab_alignment: Option<Box<OnOffElement>>,
12847 #[cfg(feature = "wml-settings")]
12848 #[serde(rename = "adjustLineHeightInTable")]
12849 #[serde(default, skip_serializing_if = "Option::is_none")]
12850 pub adjust_line_height_in_table: Option<Box<OnOffElement>>,
12851 #[cfg(feature = "wml-settings")]
12852 #[serde(rename = "autoSpaceLikeWord95")]
12853 #[serde(default, skip_serializing_if = "Option::is_none")]
12854 pub auto_space_like_word95: Option<Box<OnOffElement>>,
12855 #[cfg(feature = "wml-settings")]
12856 #[serde(rename = "noSpaceRaiseLower")]
12857 #[serde(default, skip_serializing_if = "Option::is_none")]
12858 pub no_space_raise_lower: Option<Box<OnOffElement>>,
12859 #[cfg(feature = "wml-settings")]
12860 #[serde(rename = "doNotUseHTMLParagraphAutoSpacing")]
12861 #[serde(default, skip_serializing_if = "Option::is_none")]
12862 pub do_not_use_h_t_m_l_paragraph_auto_spacing: Option<Box<OnOffElement>>,
12863 #[cfg(feature = "wml-settings")]
12864 #[serde(rename = "layoutRawTableWidth")]
12865 #[serde(default, skip_serializing_if = "Option::is_none")]
12866 pub layout_raw_table_width: Option<Box<OnOffElement>>,
12867 #[cfg(feature = "wml-settings")]
12868 #[serde(rename = "layoutTableRowsApart")]
12869 #[serde(default, skip_serializing_if = "Option::is_none")]
12870 pub layout_table_rows_apart: Option<Box<OnOffElement>>,
12871 #[cfg(feature = "wml-settings")]
12872 #[serde(rename = "useWord97LineBreakRules")]
12873 #[serde(default, skip_serializing_if = "Option::is_none")]
12874 pub use_word97_line_break_rules: Option<Box<OnOffElement>>,
12875 #[cfg(feature = "wml-settings")]
12876 #[serde(rename = "doNotBreakWrappedTables")]
12877 #[serde(default, skip_serializing_if = "Option::is_none")]
12878 pub do_not_break_wrapped_tables: Option<Box<OnOffElement>>,
12879 #[cfg(feature = "wml-settings")]
12880 #[serde(rename = "doNotSnapToGridInCell")]
12881 #[serde(default, skip_serializing_if = "Option::is_none")]
12882 pub do_not_snap_to_grid_in_cell: Option<Box<OnOffElement>>,
12883 #[cfg(feature = "wml-settings")]
12884 #[serde(rename = "selectFldWithFirstOrLastChar")]
12885 #[serde(default, skip_serializing_if = "Option::is_none")]
12886 pub select_fld_with_first_or_last_char: Option<Box<OnOffElement>>,
12887 #[cfg(feature = "wml-settings")]
12888 #[serde(rename = "applyBreakingRules")]
12889 #[serde(default, skip_serializing_if = "Option::is_none")]
12890 pub apply_breaking_rules: Option<Box<OnOffElement>>,
12891 #[cfg(feature = "wml-settings")]
12892 #[serde(rename = "doNotWrapTextWithPunct")]
12893 #[serde(default, skip_serializing_if = "Option::is_none")]
12894 pub do_not_wrap_text_with_punct: Option<Box<OnOffElement>>,
12895 #[cfg(feature = "wml-settings")]
12896 #[serde(rename = "doNotUseEastAsianBreakRules")]
12897 #[serde(default, skip_serializing_if = "Option::is_none")]
12898 pub do_not_use_east_asian_break_rules: Option<Box<OnOffElement>>,
12899 #[cfg(feature = "wml-settings")]
12900 #[serde(rename = "useWord2002TableStyleRules")]
12901 #[serde(default, skip_serializing_if = "Option::is_none")]
12902 pub use_word2002_table_style_rules: Option<Box<OnOffElement>>,
12903 #[cfg(feature = "wml-settings")]
12904 #[serde(rename = "growAutofit")]
12905 #[serde(default, skip_serializing_if = "Option::is_none")]
12906 pub grow_autofit: Option<Box<OnOffElement>>,
12907 #[cfg(feature = "wml-settings")]
12908 #[serde(rename = "useFELayout")]
12909 #[serde(default, skip_serializing_if = "Option::is_none")]
12910 pub use_f_e_layout: Option<Box<OnOffElement>>,
12911 #[cfg(feature = "wml-settings")]
12912 #[serde(rename = "useNormalStyleForList")]
12913 #[serde(default, skip_serializing_if = "Option::is_none")]
12914 pub use_normal_style_for_list: Option<Box<OnOffElement>>,
12915 #[cfg(feature = "wml-settings")]
12916 #[serde(rename = "doNotUseIndentAsNumberingTabStop")]
12917 #[serde(default, skip_serializing_if = "Option::is_none")]
12918 pub do_not_use_indent_as_numbering_tab_stop: Option<Box<OnOffElement>>,
12919 #[cfg(feature = "wml-settings")]
12920 #[serde(rename = "useAltKinsokuLineBreakRules")]
12921 #[serde(default, skip_serializing_if = "Option::is_none")]
12922 pub use_alt_kinsoku_line_break_rules: Option<Box<OnOffElement>>,
12923 #[cfg(feature = "wml-settings")]
12924 #[serde(rename = "allowSpaceOfSameStyleInTable")]
12925 #[serde(default, skip_serializing_if = "Option::is_none")]
12926 pub allow_space_of_same_style_in_table: Option<Box<OnOffElement>>,
12927 #[cfg(feature = "wml-settings")]
12928 #[serde(rename = "doNotSuppressIndentation")]
12929 #[serde(default, skip_serializing_if = "Option::is_none")]
12930 pub do_not_suppress_indentation: Option<Box<OnOffElement>>,
12931 #[cfg(feature = "wml-settings")]
12932 #[serde(rename = "doNotAutofitConstrainedTables")]
12933 #[serde(default, skip_serializing_if = "Option::is_none")]
12934 pub do_not_autofit_constrained_tables: Option<Box<OnOffElement>>,
12935 #[cfg(feature = "wml-settings")]
12936 #[serde(rename = "autofitToFirstFixedWidthCell")]
12937 #[serde(default, skip_serializing_if = "Option::is_none")]
12938 pub autofit_to_first_fixed_width_cell: Option<Box<OnOffElement>>,
12939 #[cfg(feature = "wml-settings")]
12940 #[serde(rename = "underlineTabInNumList")]
12941 #[serde(default, skip_serializing_if = "Option::is_none")]
12942 pub underline_tab_in_num_list: Option<Box<OnOffElement>>,
12943 #[cfg(feature = "wml-settings")]
12944 #[serde(rename = "displayHangulFixedWidth")]
12945 #[serde(default, skip_serializing_if = "Option::is_none")]
12946 pub display_hangul_fixed_width: Option<Box<OnOffElement>>,
12947 #[cfg(feature = "wml-settings")]
12948 #[serde(rename = "splitPgBreakAndParaMark")]
12949 #[serde(default, skip_serializing_if = "Option::is_none")]
12950 pub split_pg_break_and_para_mark: Option<Box<OnOffElement>>,
12951 #[cfg(feature = "wml-settings")]
12952 #[serde(rename = "doNotVertAlignCellWithSp")]
12953 #[serde(default, skip_serializing_if = "Option::is_none")]
12954 pub do_not_vert_align_cell_with_sp: Option<Box<OnOffElement>>,
12955 #[cfg(feature = "wml-settings")]
12956 #[serde(rename = "doNotBreakConstrainedForcedTable")]
12957 #[serde(default, skip_serializing_if = "Option::is_none")]
12958 pub do_not_break_constrained_forced_table: Option<Box<OnOffElement>>,
12959 #[cfg(feature = "wml-settings")]
12960 #[serde(rename = "doNotVertAlignInTxbx")]
12961 #[serde(default, skip_serializing_if = "Option::is_none")]
12962 pub do_not_vert_align_in_txbx: Option<Box<OnOffElement>>,
12963 #[cfg(feature = "wml-settings")]
12964 #[serde(rename = "useAnsiKerningPairs")]
12965 #[serde(default, skip_serializing_if = "Option::is_none")]
12966 pub use_ansi_kerning_pairs: Option<Box<OnOffElement>>,
12967 #[cfg(feature = "wml-settings")]
12968 #[serde(rename = "cachedColBalance")]
12969 #[serde(default, skip_serializing_if = "Option::is_none")]
12970 pub cached_col_balance: Option<Box<OnOffElement>>,
12971 #[cfg(feature = "wml-settings")]
12972 #[serde(rename = "compatSetting")]
12973 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12974 pub compat_setting: Vec<CTCompatSetting>,
12975 #[cfg(feature = "extra-children")]
12977 #[serde(skip)]
12978 #[cfg(feature = "extra-children")]
12979 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12980}
12981
12982#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12983pub struct CTCompatSetting {
12984 #[serde(rename = "@w:name")]
12985 #[serde(default, skip_serializing_if = "Option::is_none")]
12986 pub name: Option<STString>,
12987 #[serde(rename = "@w:uri")]
12988 #[serde(default, skip_serializing_if = "Option::is_none")]
12989 pub uri: Option<STString>,
12990 #[serde(rename = "@w:val")]
12991 #[serde(default, skip_serializing_if = "Option::is_none")]
12992 pub value: Option<STString>,
12993 #[cfg(feature = "extra-attrs")]
12995 #[serde(skip)]
12996 #[cfg(feature = "extra-attrs")]
12997 #[serde(default)]
12998 #[cfg(feature = "extra-attrs")]
12999 pub extra_attrs: std::collections::HashMap<String, String>,
13000}
13001
13002#[derive(Debug, Clone, Serialize, Deserialize)]
13003pub struct CTDocVar {
13004 #[serde(rename = "@w:name")]
13005 pub name: STString,
13006 #[serde(rename = "@w:val")]
13007 pub value: STString,
13008 #[cfg(feature = "extra-attrs")]
13010 #[serde(skip)]
13011 #[cfg(feature = "extra-attrs")]
13012 #[serde(default)]
13013 #[cfg(feature = "extra-attrs")]
13014 pub extra_attrs: std::collections::HashMap<String, String>,
13015}
13016
13017#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13018pub struct CTDocVars {
13019 #[cfg(feature = "wml-settings")]
13020 #[serde(rename = "docVar")]
13021 #[serde(default, skip_serializing_if = "Vec::is_empty")]
13022 pub doc_var: Vec<CTDocVar>,
13023 #[cfg(feature = "extra-children")]
13025 #[serde(skip)]
13026 #[cfg(feature = "extra-children")]
13027 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13028}
13029
13030#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13031pub struct CTDocRsids {
13032 #[cfg(feature = "wml-track-changes")]
13033 #[serde(rename = "rsidRoot")]
13034 #[serde(default, skip_serializing_if = "Option::is_none")]
13035 pub rsid_root: Option<Box<LongHexNumberElement>>,
13036 #[cfg(feature = "wml-track-changes")]
13037 #[serde(rename = "rsid")]
13038 #[serde(default, skip_serializing_if = "Vec::is_empty")]
13039 pub rsid: Vec<LongHexNumberElement>,
13040 #[cfg(feature = "extra-children")]
13042 #[serde(skip)]
13043 #[cfg(feature = "extra-children")]
13044 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13045}
13046
13047#[derive(Debug, Clone, Serialize, Deserialize)]
13048pub struct CTCharacterSpacing {
13049 #[serde(rename = "@w:val")]
13050 pub value: STCharacterSpacing,
13051 #[cfg(feature = "extra-attrs")]
13053 #[serde(skip)]
13054 #[cfg(feature = "extra-attrs")]
13055 #[serde(default)]
13056 #[cfg(feature = "extra-attrs")]
13057 pub extra_attrs: std::collections::HashMap<String, String>,
13058}
13059
13060#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13061pub struct CTSaveThroughXslt {
13062 #[cfg(feature = "wml-settings")]
13063 #[serde(rename = "@r:id")]
13064 #[serde(default, skip_serializing_if = "Option::is_none")]
13065 pub id: Option<STRelationshipId>,
13066 #[cfg(feature = "wml-settings")]
13067 #[serde(rename = "@w:solutionID")]
13068 #[serde(default, skip_serializing_if = "Option::is_none")]
13069 pub solution_i_d: Option<STString>,
13070 #[cfg(feature = "extra-attrs")]
13072 #[serde(skip)]
13073 #[cfg(feature = "extra-attrs")]
13074 #[serde(default)]
13075 #[cfg(feature = "extra-attrs")]
13076 pub extra_attrs: std::collections::HashMap<String, String>,
13077}
13078
13079#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13080pub struct RunPropertiesDefault {
13081 #[serde(rename = "rPr")]
13082 #[serde(default, skip_serializing_if = "Option::is_none")]
13083 pub r_pr: Option<Box<RunProperties>>,
13084 #[cfg(feature = "extra-children")]
13086 #[serde(skip)]
13087 #[cfg(feature = "extra-children")]
13088 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13089}
13090
13091#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13092pub struct ParagraphPropertiesDefault {
13093 #[serde(rename = "pPr")]
13094 #[serde(default, skip_serializing_if = "Option::is_none")]
13095 pub p_pr: Option<Box<CTPPrGeneral>>,
13096 #[cfg(feature = "extra-children")]
13098 #[serde(skip)]
13099 #[cfg(feature = "extra-children")]
13100 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13101}
13102
13103#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13104pub struct DocumentDefaults {
13105 #[serde(rename = "rPrDefault")]
13106 #[serde(default, skip_serializing_if = "Option::is_none")]
13107 pub r_pr_default: Option<Box<RunPropertiesDefault>>,
13108 #[serde(rename = "pPrDefault")]
13109 #[serde(default, skip_serializing_if = "Option::is_none")]
13110 pub p_pr_default: Option<Box<ParagraphPropertiesDefault>>,
13111 #[cfg(feature = "extra-children")]
13113 #[serde(skip)]
13114 #[cfg(feature = "extra-children")]
13115 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13116}
13117
13118#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13119pub struct CTColorSchemeMapping {
13120 #[cfg(feature = "wml-settings")]
13121 #[serde(rename = "@w:bg1")]
13122 #[serde(default, skip_serializing_if = "Option::is_none")]
13123 pub bg1: Option<STWmlColorSchemeIndex>,
13124 #[cfg(feature = "wml-settings")]
13125 #[serde(rename = "@w:t1")]
13126 #[serde(default, skip_serializing_if = "Option::is_none")]
13127 pub t1: Option<STWmlColorSchemeIndex>,
13128 #[cfg(feature = "wml-settings")]
13129 #[serde(rename = "@w:bg2")]
13130 #[serde(default, skip_serializing_if = "Option::is_none")]
13131 pub bg2: Option<STWmlColorSchemeIndex>,
13132 #[cfg(feature = "wml-settings")]
13133 #[serde(rename = "@w:t2")]
13134 #[serde(default, skip_serializing_if = "Option::is_none")]
13135 pub t2: Option<STWmlColorSchemeIndex>,
13136 #[cfg(feature = "wml-settings")]
13137 #[serde(rename = "@w:accent1")]
13138 #[serde(default, skip_serializing_if = "Option::is_none")]
13139 pub accent1: Option<STWmlColorSchemeIndex>,
13140 #[cfg(feature = "wml-settings")]
13141 #[serde(rename = "@w:accent2")]
13142 #[serde(default, skip_serializing_if = "Option::is_none")]
13143 pub accent2: Option<STWmlColorSchemeIndex>,
13144 #[cfg(feature = "wml-settings")]
13145 #[serde(rename = "@w:accent3")]
13146 #[serde(default, skip_serializing_if = "Option::is_none")]
13147 pub accent3: Option<STWmlColorSchemeIndex>,
13148 #[cfg(feature = "wml-settings")]
13149 #[serde(rename = "@w:accent4")]
13150 #[serde(default, skip_serializing_if = "Option::is_none")]
13151 pub accent4: Option<STWmlColorSchemeIndex>,
13152 #[cfg(feature = "wml-settings")]
13153 #[serde(rename = "@w:accent5")]
13154 #[serde(default, skip_serializing_if = "Option::is_none")]
13155 pub accent5: Option<STWmlColorSchemeIndex>,
13156 #[cfg(feature = "wml-settings")]
13157 #[serde(rename = "@w:accent6")]
13158 #[serde(default, skip_serializing_if = "Option::is_none")]
13159 pub accent6: Option<STWmlColorSchemeIndex>,
13160 #[cfg(feature = "wml-settings")]
13161 #[serde(rename = "@w:hyperlink")]
13162 #[serde(default, skip_serializing_if = "Option::is_none")]
13163 pub hyperlink: Option<STWmlColorSchemeIndex>,
13164 #[cfg(feature = "wml-settings")]
13165 #[serde(rename = "@w:followedHyperlink")]
13166 #[serde(default, skip_serializing_if = "Option::is_none")]
13167 pub followed_hyperlink: Option<STWmlColorSchemeIndex>,
13168 #[cfg(feature = "extra-attrs")]
13170 #[serde(skip)]
13171 #[cfg(feature = "extra-attrs")]
13172 #[serde(default)]
13173 #[cfg(feature = "extra-attrs")]
13174 pub extra_attrs: std::collections::HashMap<String, String>,
13175}
13176
13177#[derive(Debug, Clone, Serialize, Deserialize)]
13178pub struct CTReadingModeInkLockDown {
13179 #[cfg(feature = "wml-settings")]
13180 #[serde(rename = "@w:actualPg")]
13181 pub actual_pg: OnOff,
13182 #[cfg(feature = "wml-settings")]
13183 #[serde(rename = "@w:w")]
13184 pub width: STPixelsMeasure,
13185 #[cfg(feature = "wml-settings")]
13186 #[serde(rename = "@w:h")]
13187 pub height: STPixelsMeasure,
13188 #[cfg(feature = "wml-settings")]
13189 #[serde(rename = "@w:fontSz")]
13190 pub font_sz: STDecimalNumberOrPercent,
13191 #[cfg(feature = "extra-attrs")]
13193 #[serde(skip)]
13194 #[cfg(feature = "extra-attrs")]
13195 #[serde(default)]
13196 #[cfg(feature = "extra-attrs")]
13197 pub extra_attrs: std::collections::HashMap<String, String>,
13198}
13199
13200#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13201pub struct CTWriteProtection {
13202 #[cfg(feature = "wml-settings")]
13203 #[serde(rename = "@w:recommended")]
13204 #[serde(default, skip_serializing_if = "Option::is_none")]
13205 pub recommended: Option<OnOff>,
13206 #[cfg(feature = "wml-settings")]
13207 #[serde(rename = "@w:algorithmName")]
13208 #[serde(default, skip_serializing_if = "Option::is_none")]
13209 pub algorithm_name: Option<STString>,
13210 #[cfg(feature = "wml-settings")]
13211 #[serde(rename = "@w:hashValue")]
13212 #[serde(default, skip_serializing_if = "Option::is_none")]
13213 pub hash_value: Option<Vec<u8>>,
13214 #[cfg(feature = "wml-settings")]
13215 #[serde(rename = "@w:saltValue")]
13216 #[serde(default, skip_serializing_if = "Option::is_none")]
13217 pub salt_value: Option<Vec<u8>>,
13218 #[cfg(feature = "wml-settings")]
13219 #[serde(rename = "@w:spinCount")]
13220 #[serde(default, skip_serializing_if = "Option::is_none")]
13221 pub spin_count: Option<STDecimalNumber>,
13222 #[cfg(feature = "wml-settings")]
13223 #[serde(rename = "@w:cryptProviderType")]
13224 #[serde(default, skip_serializing_if = "Option::is_none")]
13225 pub crypt_provider_type: Option<STCryptProv>,
13226 #[cfg(feature = "wml-settings")]
13227 #[serde(rename = "@w:cryptAlgorithmClass")]
13228 #[serde(default, skip_serializing_if = "Option::is_none")]
13229 pub crypt_algorithm_class: Option<STAlgClass>,
13230 #[cfg(feature = "wml-settings")]
13231 #[serde(rename = "@w:cryptAlgorithmType")]
13232 #[serde(default, skip_serializing_if = "Option::is_none")]
13233 pub crypt_algorithm_type: Option<STAlgType>,
13234 #[cfg(feature = "wml-settings")]
13235 #[serde(rename = "@w:cryptAlgorithmSid")]
13236 #[serde(default, skip_serializing_if = "Option::is_none")]
13237 pub crypt_algorithm_sid: Option<STDecimalNumber>,
13238 #[cfg(feature = "wml-settings")]
13239 #[serde(rename = "@w:cryptSpinCount")]
13240 #[serde(default, skip_serializing_if = "Option::is_none")]
13241 pub crypt_spin_count: Option<STDecimalNumber>,
13242 #[cfg(feature = "wml-settings")]
13243 #[serde(rename = "@w:cryptProvider")]
13244 #[serde(default, skip_serializing_if = "Option::is_none")]
13245 pub crypt_provider: Option<STString>,
13246 #[cfg(feature = "wml-settings")]
13247 #[serde(rename = "@w:algIdExt")]
13248 #[serde(default, skip_serializing_if = "Option::is_none")]
13249 pub alg_id_ext: Option<STLongHexNumber>,
13250 #[cfg(feature = "wml-settings")]
13251 #[serde(rename = "@w:algIdExtSource")]
13252 #[serde(default, skip_serializing_if = "Option::is_none")]
13253 pub alg_id_ext_source: Option<STString>,
13254 #[cfg(feature = "wml-settings")]
13255 #[serde(rename = "@w:cryptProviderTypeExt")]
13256 #[serde(default, skip_serializing_if = "Option::is_none")]
13257 pub crypt_provider_type_ext: Option<STLongHexNumber>,
13258 #[cfg(feature = "wml-settings")]
13259 #[serde(rename = "@w:cryptProviderTypeExtSource")]
13260 #[serde(default, skip_serializing_if = "Option::is_none")]
13261 pub crypt_provider_type_ext_source: Option<STString>,
13262 #[cfg(feature = "wml-settings")]
13263 #[serde(rename = "@w:hash")]
13264 #[serde(default, skip_serializing_if = "Option::is_none")]
13265 pub hash: Option<Vec<u8>>,
13266 #[cfg(feature = "wml-settings")]
13267 #[serde(rename = "@w:salt")]
13268 #[serde(default, skip_serializing_if = "Option::is_none")]
13269 pub salt: Option<Vec<u8>>,
13270 #[cfg(feature = "extra-attrs")]
13272 #[serde(skip)]
13273 #[cfg(feature = "extra-attrs")]
13274 #[serde(default)]
13275 #[cfg(feature = "extra-attrs")]
13276 pub extra_attrs: std::collections::HashMap<String, String>,
13277}
13278
13279#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13280pub struct Settings {
13281 #[cfg(feature = "wml-settings")]
13282 #[serde(rename = "writeProtection")]
13283 #[serde(default, skip_serializing_if = "Option::is_none")]
13284 pub write_protection: Option<Box<CTWriteProtection>>,
13285 #[cfg(feature = "wml-settings")]
13286 #[serde(rename = "view")]
13287 #[serde(default, skip_serializing_if = "Option::is_none")]
13288 pub view: Option<Box<CTView>>,
13289 #[cfg(feature = "wml-settings")]
13290 #[serde(rename = "zoom")]
13291 #[serde(default, skip_serializing_if = "Option::is_none")]
13292 pub zoom: Option<Box<CTZoom>>,
13293 #[cfg(feature = "wml-settings")]
13294 #[serde(rename = "removePersonalInformation")]
13295 #[serde(default, skip_serializing_if = "Option::is_none")]
13296 pub remove_personal_information: Option<Box<OnOffElement>>,
13297 #[cfg(feature = "wml-settings")]
13298 #[serde(rename = "removeDateAndTime")]
13299 #[serde(default, skip_serializing_if = "Option::is_none")]
13300 pub remove_date_and_time: Option<Box<OnOffElement>>,
13301 #[cfg(feature = "wml-settings")]
13302 #[serde(rename = "doNotDisplayPageBoundaries")]
13303 #[serde(default, skip_serializing_if = "Option::is_none")]
13304 pub do_not_display_page_boundaries: Option<Box<OnOffElement>>,
13305 #[cfg(feature = "wml-settings")]
13306 #[serde(rename = "displayBackgroundShape")]
13307 #[serde(default, skip_serializing_if = "Option::is_none")]
13308 pub display_background_shape: Option<Box<OnOffElement>>,
13309 #[cfg(feature = "wml-settings")]
13310 #[serde(rename = "printPostScriptOverText")]
13311 #[serde(default, skip_serializing_if = "Option::is_none")]
13312 pub print_post_script_over_text: Option<Box<OnOffElement>>,
13313 #[cfg(feature = "wml-settings")]
13314 #[serde(rename = "printFractionalCharacterWidth")]
13315 #[serde(default, skip_serializing_if = "Option::is_none")]
13316 pub print_fractional_character_width: Option<Box<OnOffElement>>,
13317 #[cfg(feature = "wml-settings")]
13318 #[serde(rename = "printFormsData")]
13319 #[serde(default, skip_serializing_if = "Option::is_none")]
13320 pub print_forms_data: Option<Box<OnOffElement>>,
13321 #[cfg(feature = "wml-settings")]
13322 #[serde(rename = "embedTrueTypeFonts")]
13323 #[serde(default, skip_serializing_if = "Option::is_none")]
13324 pub embed_true_type_fonts: Option<Box<OnOffElement>>,
13325 #[cfg(feature = "wml-settings")]
13326 #[serde(rename = "embedSystemFonts")]
13327 #[serde(default, skip_serializing_if = "Option::is_none")]
13328 pub embed_system_fonts: Option<Box<OnOffElement>>,
13329 #[cfg(feature = "wml-settings")]
13330 #[serde(rename = "saveSubsetFonts")]
13331 #[serde(default, skip_serializing_if = "Option::is_none")]
13332 pub save_subset_fonts: Option<Box<OnOffElement>>,
13333 #[cfg(feature = "wml-settings")]
13334 #[serde(rename = "saveFormsData")]
13335 #[serde(default, skip_serializing_if = "Option::is_none")]
13336 pub save_forms_data: Option<Box<OnOffElement>>,
13337 #[cfg(feature = "wml-settings")]
13338 #[serde(rename = "mirrorMargins")]
13339 #[serde(default, skip_serializing_if = "Option::is_none")]
13340 pub mirror_margins: Option<Box<OnOffElement>>,
13341 #[cfg(feature = "wml-settings")]
13342 #[serde(rename = "alignBordersAndEdges")]
13343 #[serde(default, skip_serializing_if = "Option::is_none")]
13344 pub align_borders_and_edges: Option<Box<OnOffElement>>,
13345 #[cfg(feature = "wml-settings")]
13346 #[serde(rename = "bordersDoNotSurroundHeader")]
13347 #[serde(default, skip_serializing_if = "Option::is_none")]
13348 pub borders_do_not_surround_header: Option<Box<OnOffElement>>,
13349 #[cfg(feature = "wml-settings")]
13350 #[serde(rename = "bordersDoNotSurroundFooter")]
13351 #[serde(default, skip_serializing_if = "Option::is_none")]
13352 pub borders_do_not_surround_footer: Option<Box<OnOffElement>>,
13353 #[cfg(feature = "wml-settings")]
13354 #[serde(rename = "gutterAtTop")]
13355 #[serde(default, skip_serializing_if = "Option::is_none")]
13356 pub gutter_at_top: Option<Box<OnOffElement>>,
13357 #[cfg(feature = "wml-settings")]
13358 #[serde(rename = "hideSpellingErrors")]
13359 #[serde(default, skip_serializing_if = "Option::is_none")]
13360 pub hide_spelling_errors: Option<Box<OnOffElement>>,
13361 #[cfg(feature = "wml-settings")]
13362 #[serde(rename = "hideGrammaticalErrors")]
13363 #[serde(default, skip_serializing_if = "Option::is_none")]
13364 pub hide_grammatical_errors: Option<Box<OnOffElement>>,
13365 #[cfg(feature = "wml-settings")]
13366 #[serde(rename = "activeWritingStyle")]
13367 #[serde(default, skip_serializing_if = "Vec::is_empty")]
13368 pub active_writing_style: Vec<CTWritingStyle>,
13369 #[cfg(feature = "wml-settings")]
13370 #[serde(rename = "proofState")]
13371 #[serde(default, skip_serializing_if = "Option::is_none")]
13372 pub proof_state: Option<Box<CTProof>>,
13373 #[cfg(feature = "wml-settings")]
13374 #[serde(rename = "formsDesign")]
13375 #[serde(default, skip_serializing_if = "Option::is_none")]
13376 pub forms_design: Option<Box<OnOffElement>>,
13377 #[cfg(feature = "wml-settings")]
13378 #[serde(rename = "attachedTemplate")]
13379 #[serde(default, skip_serializing_if = "Option::is_none")]
13380 pub attached_template: Option<Box<CTRel>>,
13381 #[cfg(feature = "wml-settings")]
13382 #[serde(rename = "linkStyles")]
13383 #[serde(default, skip_serializing_if = "Option::is_none")]
13384 pub link_styles: Option<Box<OnOffElement>>,
13385 #[cfg(feature = "wml-settings")]
13386 #[serde(rename = "stylePaneFormatFilter")]
13387 #[serde(default, skip_serializing_if = "Option::is_none")]
13388 pub style_pane_format_filter: Option<Box<CTStylePaneFilter>>,
13389 #[cfg(feature = "wml-settings")]
13390 #[serde(rename = "stylePaneSortMethod")]
13391 #[serde(default, skip_serializing_if = "Option::is_none")]
13392 pub style_pane_sort_method: Option<Box<CTStyleSort>>,
13393 #[cfg(feature = "wml-settings")]
13394 #[serde(rename = "documentType")]
13395 #[serde(default, skip_serializing_if = "Option::is_none")]
13396 pub document_type: Option<Box<DocTypeElement>>,
13397 #[cfg(feature = "wml-settings")]
13398 #[serde(rename = "mailMerge")]
13399 #[serde(default, skip_serializing_if = "Option::is_none")]
13400 pub mail_merge: Option<Box<CTMailMerge>>,
13401 #[cfg(feature = "wml-settings")]
13402 #[serde(rename = "revisionView")]
13403 #[serde(default, skip_serializing_if = "Option::is_none")]
13404 pub revision_view: Option<Box<CTTrackChangesView>>,
13405 #[cfg(feature = "wml-settings")]
13406 #[serde(rename = "trackRevisions")]
13407 #[serde(default, skip_serializing_if = "Option::is_none")]
13408 pub track_revisions: Option<Box<OnOffElement>>,
13409 #[cfg(feature = "wml-track-changes")]
13410 #[serde(rename = "doNotTrackMoves")]
13411 #[serde(default, skip_serializing_if = "Option::is_none")]
13412 pub do_not_track_moves: Option<Box<OnOffElement>>,
13413 #[cfg(feature = "wml-track-changes")]
13414 #[serde(rename = "doNotTrackFormatting")]
13415 #[serde(default, skip_serializing_if = "Option::is_none")]
13416 pub do_not_track_formatting: Option<Box<OnOffElement>>,
13417 #[cfg(feature = "wml-settings")]
13418 #[serde(rename = "documentProtection")]
13419 #[serde(default, skip_serializing_if = "Option::is_none")]
13420 pub document_protection: Option<Box<CTDocProtect>>,
13421 #[cfg(feature = "wml-settings")]
13422 #[serde(rename = "autoFormatOverride")]
13423 #[serde(default, skip_serializing_if = "Option::is_none")]
13424 pub auto_format_override: Option<Box<OnOffElement>>,
13425 #[cfg(feature = "wml-settings")]
13426 #[serde(rename = "styleLockTheme")]
13427 #[serde(default, skip_serializing_if = "Option::is_none")]
13428 pub style_lock_theme: Option<Box<OnOffElement>>,
13429 #[cfg(feature = "wml-settings")]
13430 #[serde(rename = "styleLockQFSet")]
13431 #[serde(default, skip_serializing_if = "Option::is_none")]
13432 pub style_lock_q_f_set: Option<Box<OnOffElement>>,
13433 #[cfg(feature = "wml-settings")]
13434 #[serde(rename = "defaultTabStop")]
13435 #[serde(default, skip_serializing_if = "Option::is_none")]
13436 pub default_tab_stop: Option<Box<TwipsMeasureElement>>,
13437 #[cfg(feature = "wml-settings")]
13438 #[serde(rename = "autoHyphenation")]
13439 #[serde(default, skip_serializing_if = "Option::is_none")]
13440 pub auto_hyphenation: Option<Box<OnOffElement>>,
13441 #[cfg(feature = "wml-settings")]
13442 #[serde(rename = "consecutiveHyphenLimit")]
13443 #[serde(default, skip_serializing_if = "Option::is_none")]
13444 pub consecutive_hyphen_limit: Option<Box<CTDecimalNumber>>,
13445 #[cfg(feature = "wml-settings")]
13446 #[serde(rename = "hyphenationZone")]
13447 #[serde(default, skip_serializing_if = "Option::is_none")]
13448 pub hyphenation_zone: Option<Box<TwipsMeasureElement>>,
13449 #[cfg(feature = "wml-settings")]
13450 #[serde(rename = "doNotHyphenateCaps")]
13451 #[serde(default, skip_serializing_if = "Option::is_none")]
13452 pub do_not_hyphenate_caps: Option<Box<OnOffElement>>,
13453 #[cfg(feature = "wml-settings")]
13454 #[serde(rename = "showEnvelope")]
13455 #[serde(default, skip_serializing_if = "Option::is_none")]
13456 pub show_envelope: Option<Box<OnOffElement>>,
13457 #[cfg(feature = "wml-settings")]
13458 #[serde(rename = "summaryLength")]
13459 #[serde(default, skip_serializing_if = "Option::is_none")]
13460 pub summary_length: Option<Box<CTDecimalNumberOrPrecent>>,
13461 #[cfg(feature = "wml-settings")]
13462 #[serde(rename = "clickAndTypeStyle")]
13463 #[serde(default, skip_serializing_if = "Option::is_none")]
13464 pub click_and_type_style: Option<Box<CTString>>,
13465 #[cfg(feature = "wml-settings")]
13466 #[serde(rename = "defaultTableStyle")]
13467 #[serde(default, skip_serializing_if = "Option::is_none")]
13468 pub default_table_style: Option<Box<CTString>>,
13469 #[cfg(feature = "wml-settings")]
13470 #[serde(rename = "evenAndOddHeaders")]
13471 #[serde(default, skip_serializing_if = "Option::is_none")]
13472 pub even_and_odd_headers: Option<Box<OnOffElement>>,
13473 #[cfg(feature = "wml-settings")]
13474 #[serde(rename = "bookFoldRevPrinting")]
13475 #[serde(default, skip_serializing_if = "Option::is_none")]
13476 pub book_fold_rev_printing: Option<Box<OnOffElement>>,
13477 #[cfg(feature = "wml-settings")]
13478 #[serde(rename = "bookFoldPrinting")]
13479 #[serde(default, skip_serializing_if = "Option::is_none")]
13480 pub book_fold_printing: Option<Box<OnOffElement>>,
13481 #[cfg(feature = "wml-settings")]
13482 #[serde(rename = "bookFoldPrintingSheets")]
13483 #[serde(default, skip_serializing_if = "Option::is_none")]
13484 pub book_fold_printing_sheets: Option<Box<CTDecimalNumber>>,
13485 #[cfg(feature = "wml-settings")]
13486 #[serde(rename = "drawingGridHorizontalSpacing")]
13487 #[serde(default, skip_serializing_if = "Option::is_none")]
13488 pub drawing_grid_horizontal_spacing: Option<Box<TwipsMeasureElement>>,
13489 #[cfg(feature = "wml-settings")]
13490 #[serde(rename = "drawingGridVerticalSpacing")]
13491 #[serde(default, skip_serializing_if = "Option::is_none")]
13492 pub drawing_grid_vertical_spacing: Option<Box<TwipsMeasureElement>>,
13493 #[cfg(feature = "wml-settings")]
13494 #[serde(rename = "displayHorizontalDrawingGridEvery")]
13495 #[serde(default, skip_serializing_if = "Option::is_none")]
13496 pub display_horizontal_drawing_grid_every: Option<Box<CTDecimalNumber>>,
13497 #[cfg(feature = "wml-settings")]
13498 #[serde(rename = "displayVerticalDrawingGridEvery")]
13499 #[serde(default, skip_serializing_if = "Option::is_none")]
13500 pub display_vertical_drawing_grid_every: Option<Box<CTDecimalNumber>>,
13501 #[cfg(feature = "wml-settings")]
13502 #[serde(rename = "doNotUseMarginsForDrawingGridOrigin")]
13503 #[serde(default, skip_serializing_if = "Option::is_none")]
13504 pub do_not_use_margins_for_drawing_grid_origin: Option<Box<OnOffElement>>,
13505 #[cfg(feature = "wml-settings")]
13506 #[serde(rename = "drawingGridHorizontalOrigin")]
13507 #[serde(default, skip_serializing_if = "Option::is_none")]
13508 pub drawing_grid_horizontal_origin: Option<Box<TwipsMeasureElement>>,
13509 #[cfg(feature = "wml-settings")]
13510 #[serde(rename = "drawingGridVerticalOrigin")]
13511 #[serde(default, skip_serializing_if = "Option::is_none")]
13512 pub drawing_grid_vertical_origin: Option<Box<TwipsMeasureElement>>,
13513 #[cfg(feature = "wml-settings")]
13514 #[serde(rename = "doNotShadeFormData")]
13515 #[serde(default, skip_serializing_if = "Option::is_none")]
13516 pub do_not_shade_form_data: Option<Box<OnOffElement>>,
13517 #[cfg(feature = "wml-settings")]
13518 #[serde(rename = "noPunctuationKerning")]
13519 #[serde(default, skip_serializing_if = "Option::is_none")]
13520 pub no_punctuation_kerning: Option<Box<OnOffElement>>,
13521 #[cfg(feature = "wml-settings")]
13522 #[serde(rename = "characterSpacingControl")]
13523 #[serde(default, skip_serializing_if = "Option::is_none")]
13524 pub character_spacing_control: Option<Box<CTCharacterSpacing>>,
13525 #[cfg(feature = "wml-settings")]
13526 #[serde(rename = "printTwoOnOne")]
13527 #[serde(default, skip_serializing_if = "Option::is_none")]
13528 pub print_two_on_one: Option<Box<OnOffElement>>,
13529 #[cfg(feature = "wml-settings")]
13530 #[serde(rename = "strictFirstAndLastChars")]
13531 #[serde(default, skip_serializing_if = "Option::is_none")]
13532 pub strict_first_and_last_chars: Option<Box<OnOffElement>>,
13533 #[cfg(feature = "wml-settings")]
13534 #[serde(rename = "noLineBreaksAfter")]
13535 #[serde(default, skip_serializing_if = "Option::is_none")]
13536 pub no_line_breaks_after: Option<Box<CTKinsoku>>,
13537 #[cfg(feature = "wml-settings")]
13538 #[serde(rename = "noLineBreaksBefore")]
13539 #[serde(default, skip_serializing_if = "Option::is_none")]
13540 pub no_line_breaks_before: Option<Box<CTKinsoku>>,
13541 #[cfg(feature = "wml-settings")]
13542 #[serde(rename = "savePreviewPicture")]
13543 #[serde(default, skip_serializing_if = "Option::is_none")]
13544 pub save_preview_picture: Option<Box<OnOffElement>>,
13545 #[cfg(feature = "wml-settings")]
13546 #[serde(rename = "doNotValidateAgainstSchema")]
13547 #[serde(default, skip_serializing_if = "Option::is_none")]
13548 pub do_not_validate_against_schema: Option<Box<OnOffElement>>,
13549 #[cfg(feature = "wml-settings")]
13550 #[serde(rename = "saveInvalidXml")]
13551 #[serde(default, skip_serializing_if = "Option::is_none")]
13552 pub save_invalid_xml: Option<Box<OnOffElement>>,
13553 #[cfg(feature = "wml-settings")]
13554 #[serde(rename = "ignoreMixedContent")]
13555 #[serde(default, skip_serializing_if = "Option::is_none")]
13556 pub ignore_mixed_content: Option<Box<OnOffElement>>,
13557 #[cfg(feature = "wml-settings")]
13558 #[serde(rename = "alwaysShowPlaceholderText")]
13559 #[serde(default, skip_serializing_if = "Option::is_none")]
13560 pub always_show_placeholder_text: Option<Box<OnOffElement>>,
13561 #[cfg(feature = "wml-settings")]
13562 #[serde(rename = "doNotDemarcateInvalidXml")]
13563 #[serde(default, skip_serializing_if = "Option::is_none")]
13564 pub do_not_demarcate_invalid_xml: Option<Box<OnOffElement>>,
13565 #[cfg(feature = "wml-settings")]
13566 #[serde(rename = "saveXmlDataOnly")]
13567 #[serde(default, skip_serializing_if = "Option::is_none")]
13568 pub save_xml_data_only: Option<Box<OnOffElement>>,
13569 #[cfg(feature = "wml-settings")]
13570 #[serde(rename = "useXSLTWhenSaving")]
13571 #[serde(default, skip_serializing_if = "Option::is_none")]
13572 pub use_x_s_l_t_when_saving: Option<Box<OnOffElement>>,
13573 #[cfg(feature = "wml-settings")]
13574 #[serde(rename = "saveThroughXslt")]
13575 #[serde(default, skip_serializing_if = "Option::is_none")]
13576 pub save_through_xslt: Option<Box<CTSaveThroughXslt>>,
13577 #[cfg(feature = "wml-settings")]
13578 #[serde(rename = "showXMLTags")]
13579 #[serde(default, skip_serializing_if = "Option::is_none")]
13580 pub show_x_m_l_tags: Option<Box<OnOffElement>>,
13581 #[cfg(feature = "wml-settings")]
13582 #[serde(rename = "alwaysMergeEmptyNamespace")]
13583 #[serde(default, skip_serializing_if = "Option::is_none")]
13584 pub always_merge_empty_namespace: Option<Box<OnOffElement>>,
13585 #[cfg(feature = "wml-settings")]
13586 #[serde(rename = "updateFields")]
13587 #[serde(default, skip_serializing_if = "Option::is_none")]
13588 pub update_fields: Option<Box<OnOffElement>>,
13589 #[cfg(feature = "wml-drawings")]
13590 #[serde(rename = "hdrShapeDefaults")]
13591 #[serde(default, skip_serializing_if = "Option::is_none")]
13592 pub hdr_shape_defaults: Option<Box<CTShapeDefaults>>,
13593 #[cfg(feature = "wml-comments")]
13594 #[serde(rename = "footnotePr")]
13595 #[serde(default, skip_serializing_if = "Option::is_none")]
13596 pub footnote_pr: Option<Box<CTFtnDocProps>>,
13597 #[cfg(feature = "wml-comments")]
13598 #[serde(rename = "endnotePr")]
13599 #[serde(default, skip_serializing_if = "Option::is_none")]
13600 pub endnote_pr: Option<Box<CTEdnDocProps>>,
13601 #[cfg(feature = "wml-settings")]
13602 #[serde(rename = "compat")]
13603 #[serde(default, skip_serializing_if = "Option::is_none")]
13604 pub compat: Option<Box<Compatibility>>,
13605 #[cfg(feature = "wml-settings")]
13606 #[serde(rename = "docVars")]
13607 #[serde(default, skip_serializing_if = "Option::is_none")]
13608 pub doc_vars: Option<Box<CTDocVars>>,
13609 #[cfg(feature = "wml-settings")]
13610 #[serde(rename = "rsids")]
13611 #[serde(default, skip_serializing_if = "Option::is_none")]
13612 pub rsids: Option<Box<CTDocRsids>>,
13613 #[cfg(feature = "wml-settings")]
13614 #[serde(rename = "attachedSchema")]
13615 #[serde(default, skip_serializing_if = "Vec::is_empty")]
13616 pub attached_schema: Vec<CTString>,
13617 #[cfg(feature = "wml-settings")]
13618 #[serde(rename = "themeFontLang")]
13619 #[serde(default, skip_serializing_if = "Option::is_none")]
13620 pub theme_font_lang: Option<Box<LanguageElement>>,
13621 #[cfg(feature = "wml-settings")]
13622 #[serde(rename = "clrSchemeMapping")]
13623 #[serde(default, skip_serializing_if = "Option::is_none")]
13624 pub clr_scheme_mapping: Option<Box<CTColorSchemeMapping>>,
13625 #[cfg(feature = "wml-settings")]
13626 #[serde(rename = "doNotIncludeSubdocsInStats")]
13627 #[serde(default, skip_serializing_if = "Option::is_none")]
13628 pub do_not_include_subdocs_in_stats: Option<Box<OnOffElement>>,
13629 #[cfg(feature = "wml-settings")]
13630 #[serde(rename = "doNotAutoCompressPictures")]
13631 #[serde(default, skip_serializing_if = "Option::is_none")]
13632 pub do_not_auto_compress_pictures: Option<Box<OnOffElement>>,
13633 #[cfg(feature = "wml-settings")]
13634 #[serde(rename = "forceUpgrade")]
13635 #[serde(default, skip_serializing_if = "Option::is_none")]
13636 pub force_upgrade: Option<Box<CTEmpty>>,
13637 #[cfg(feature = "wml-settings")]
13638 #[serde(rename = "captions")]
13639 #[serde(default, skip_serializing_if = "Option::is_none")]
13640 pub captions: Option<Box<CTCaptions>>,
13641 #[cfg(feature = "wml-settings")]
13642 #[serde(rename = "readModeInkLockDown")]
13643 #[serde(default, skip_serializing_if = "Option::is_none")]
13644 pub read_mode_ink_lock_down: Option<Box<CTReadingModeInkLockDown>>,
13645 #[cfg(feature = "wml-settings")]
13646 #[serde(rename = "smartTagType")]
13647 #[serde(default, skip_serializing_if = "Vec::is_empty")]
13648 pub smart_tag_type: Vec<CTSmartTagType>,
13649 #[cfg(feature = "wml-drawings")]
13650 #[serde(rename = "shapeDefaults")]
13651 #[serde(default, skip_serializing_if = "Option::is_none")]
13652 pub shape_defaults: Option<Box<CTShapeDefaults>>,
13653 #[cfg(feature = "wml-settings")]
13654 #[serde(rename = "doNotEmbedSmartTags")]
13655 #[serde(default, skip_serializing_if = "Option::is_none")]
13656 pub do_not_embed_smart_tags: Option<Box<OnOffElement>>,
13657 #[cfg(feature = "wml-settings")]
13658 #[serde(rename = "decimalSymbol")]
13659 #[serde(default, skip_serializing_if = "Option::is_none")]
13660 pub decimal_symbol: Option<Box<CTString>>,
13661 #[cfg(feature = "wml-settings")]
13662 #[serde(rename = "listSeparator")]
13663 #[serde(default, skip_serializing_if = "Option::is_none")]
13664 pub list_separator: Option<Box<CTString>>,
13665 #[cfg(feature = "extra-children")]
13667 #[serde(skip)]
13668 #[cfg(feature = "extra-children")]
13669 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13670}
13671
13672#[derive(Debug, Clone, Serialize, Deserialize)]
13673pub struct CTStyleSort {
13674 #[serde(rename = "@w:val")]
13675 pub value: STStyleSort,
13676 #[cfg(feature = "extra-attrs")]
13678 #[serde(skip)]
13679 #[cfg(feature = "extra-attrs")]
13680 #[serde(default)]
13681 #[cfg(feature = "extra-attrs")]
13682 pub extra_attrs: std::collections::HashMap<String, String>,
13683}
13684
13685#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13686pub struct CTStylePaneFilter {
13687 #[cfg(feature = "wml-settings")]
13688 #[serde(rename = "@w:allStyles")]
13689 #[serde(default, skip_serializing_if = "Option::is_none")]
13690 pub all_styles: Option<OnOff>,
13691 #[cfg(feature = "wml-settings")]
13692 #[serde(rename = "@w:customStyles")]
13693 #[serde(default, skip_serializing_if = "Option::is_none")]
13694 pub custom_styles: Option<OnOff>,
13695 #[cfg(feature = "wml-settings")]
13696 #[serde(rename = "@w:latentStyles")]
13697 #[serde(default, skip_serializing_if = "Option::is_none")]
13698 pub latent_styles: Option<OnOff>,
13699 #[cfg(feature = "wml-settings")]
13700 #[serde(rename = "@w:stylesInUse")]
13701 #[serde(default, skip_serializing_if = "Option::is_none")]
13702 pub styles_in_use: Option<OnOff>,
13703 #[cfg(feature = "wml-settings")]
13704 #[serde(rename = "@w:headingStyles")]
13705 #[serde(default, skip_serializing_if = "Option::is_none")]
13706 pub heading_styles: Option<OnOff>,
13707 #[cfg(feature = "wml-settings")]
13708 #[serde(rename = "@w:numberingStyles")]
13709 #[serde(default, skip_serializing_if = "Option::is_none")]
13710 pub numbering_styles: Option<OnOff>,
13711 #[cfg(feature = "wml-settings")]
13712 #[serde(rename = "@w:tableStyles")]
13713 #[serde(default, skip_serializing_if = "Option::is_none")]
13714 pub table_styles: Option<OnOff>,
13715 #[cfg(feature = "wml-settings")]
13716 #[serde(rename = "@w:directFormattingOnRuns")]
13717 #[serde(default, skip_serializing_if = "Option::is_none")]
13718 pub direct_formatting_on_runs: Option<OnOff>,
13719 #[cfg(feature = "wml-settings")]
13720 #[serde(rename = "@w:directFormattingOnParagraphs")]
13721 #[serde(default, skip_serializing_if = "Option::is_none")]
13722 pub direct_formatting_on_paragraphs: Option<OnOff>,
13723 #[cfg(feature = "wml-settings")]
13724 #[serde(rename = "@w:directFormattingOnNumbering")]
13725 #[serde(default, skip_serializing_if = "Option::is_none")]
13726 pub direct_formatting_on_numbering: Option<OnOff>,
13727 #[cfg(feature = "wml-settings")]
13728 #[serde(rename = "@w:directFormattingOnTables")]
13729 #[serde(default, skip_serializing_if = "Option::is_none")]
13730 pub direct_formatting_on_tables: Option<OnOff>,
13731 #[cfg(feature = "wml-settings")]
13732 #[serde(rename = "@w:clearFormatting")]
13733 #[serde(default, skip_serializing_if = "Option::is_none")]
13734 pub clear_formatting: Option<OnOff>,
13735 #[cfg(feature = "wml-settings")]
13736 #[serde(rename = "@w:top3HeadingStyles")]
13737 #[serde(default, skip_serializing_if = "Option::is_none")]
13738 pub top3_heading_styles: Option<OnOff>,
13739 #[cfg(feature = "wml-settings")]
13740 #[serde(rename = "@w:visibleStyles")]
13741 #[serde(default, skip_serializing_if = "Option::is_none")]
13742 pub visible_styles: Option<OnOff>,
13743 #[cfg(feature = "wml-settings")]
13744 #[serde(rename = "@w:alternateStyleNames")]
13745 #[serde(default, skip_serializing_if = "Option::is_none")]
13746 pub alternate_style_names: Option<OnOff>,
13747 #[cfg(feature = "wml-settings")]
13748 #[serde(rename = "@w:val")]
13749 #[serde(default, skip_serializing_if = "Option::is_none")]
13750 pub value: Option<STShortHexNumber>,
13751 #[cfg(feature = "extra-attrs")]
13753 #[serde(skip)]
13754 #[cfg(feature = "extra-attrs")]
13755 #[serde(default)]
13756 #[cfg(feature = "extra-attrs")]
13757 pub extra_attrs: std::collections::HashMap<String, String>,
13758}
13759
13760#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13761pub struct CTWebSettings {
13762 #[cfg(feature = "wml-settings")]
13763 #[serde(rename = "frameset")]
13764 #[serde(default, skip_serializing_if = "Option::is_none")]
13765 pub frameset: Option<Box<CTFrameset>>,
13766 #[cfg(feature = "wml-settings")]
13767 #[serde(rename = "divs")]
13768 #[serde(default, skip_serializing_if = "Option::is_none")]
13769 pub divs: Option<Box<CTDivs>>,
13770 #[cfg(feature = "wml-settings")]
13771 #[serde(rename = "encoding")]
13772 #[serde(default, skip_serializing_if = "Option::is_none")]
13773 pub encoding: Option<Box<CTString>>,
13774 #[cfg(feature = "wml-settings")]
13775 #[serde(rename = "optimizeForBrowser")]
13776 #[serde(default, skip_serializing_if = "Option::is_none")]
13777 pub optimize_for_browser: Option<Box<CTOptimizeForBrowser>>,
13778 #[cfg(feature = "wml-settings")]
13779 #[serde(rename = "relyOnVML")]
13780 #[serde(default, skip_serializing_if = "Option::is_none")]
13781 pub rely_on_v_m_l: Option<Box<OnOffElement>>,
13782 #[cfg(feature = "wml-settings")]
13783 #[serde(rename = "allowPNG")]
13784 #[serde(default, skip_serializing_if = "Option::is_none")]
13785 pub allow_p_n_g: Option<Box<OnOffElement>>,
13786 #[cfg(feature = "wml-settings")]
13787 #[serde(rename = "doNotRelyOnCSS")]
13788 #[serde(default, skip_serializing_if = "Option::is_none")]
13789 pub do_not_rely_on_c_s_s: Option<Box<OnOffElement>>,
13790 #[cfg(feature = "wml-settings")]
13791 #[serde(rename = "doNotSaveAsSingleFile")]
13792 #[serde(default, skip_serializing_if = "Option::is_none")]
13793 pub do_not_save_as_single_file: Option<Box<OnOffElement>>,
13794 #[cfg(feature = "wml-settings")]
13795 #[serde(rename = "doNotOrganizeInFolder")]
13796 #[serde(default, skip_serializing_if = "Option::is_none")]
13797 pub do_not_organize_in_folder: Option<Box<OnOffElement>>,
13798 #[cfg(feature = "wml-settings")]
13799 #[serde(rename = "doNotUseLongFileNames")]
13800 #[serde(default, skip_serializing_if = "Option::is_none")]
13801 pub do_not_use_long_file_names: Option<Box<OnOffElement>>,
13802 #[cfg(feature = "wml-settings")]
13803 #[serde(rename = "pixelsPerInch")]
13804 #[serde(default, skip_serializing_if = "Option::is_none")]
13805 pub pixels_per_inch: Option<Box<CTDecimalNumber>>,
13806 #[cfg(feature = "wml-settings")]
13807 #[serde(rename = "targetScreenSz")]
13808 #[serde(default, skip_serializing_if = "Option::is_none")]
13809 pub target_screen_sz: Option<Box<CTTargetScreenSz>>,
13810 #[cfg(feature = "wml-settings")]
13811 #[serde(rename = "saveSmartTagsAsXml")]
13812 #[serde(default, skip_serializing_if = "Option::is_none")]
13813 pub save_smart_tags_as_xml: Option<Box<OnOffElement>>,
13814 #[cfg(feature = "extra-children")]
13816 #[serde(skip)]
13817 #[cfg(feature = "extra-children")]
13818 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13819}
13820
13821#[derive(Debug, Clone, Serialize, Deserialize)]
13822pub struct CTFrameScrollbar {
13823 #[serde(rename = "@w:val")]
13824 pub value: STFrameScrollbar,
13825 #[cfg(feature = "extra-attrs")]
13827 #[serde(skip)]
13828 #[cfg(feature = "extra-attrs")]
13829 #[serde(default)]
13830 #[cfg(feature = "extra-attrs")]
13831 pub extra_attrs: std::collections::HashMap<String, String>,
13832}
13833
13834#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13835pub struct CTOptimizeForBrowser {
13836 #[serde(rename = "@w:val")]
13837 #[serde(default, skip_serializing_if = "Option::is_none")]
13838 pub value: Option<OnOff>,
13839 #[cfg(feature = "wml-settings")]
13840 #[serde(rename = "@w:target")]
13841 #[serde(default, skip_serializing_if = "Option::is_none")]
13842 pub target: Option<STString>,
13843 #[cfg(feature = "extra-attrs")]
13845 #[serde(skip)]
13846 #[cfg(feature = "extra-attrs")]
13847 #[serde(default)]
13848 #[cfg(feature = "extra-attrs")]
13849 pub extra_attrs: std::collections::HashMap<String, String>,
13850}
13851
13852#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13853pub struct CTFrame {
13854 #[cfg(feature = "wml-settings")]
13855 #[serde(rename = "sz")]
13856 #[serde(default, skip_serializing_if = "Option::is_none")]
13857 pub size: Option<Box<CTString>>,
13858 #[cfg(feature = "wml-settings")]
13859 #[serde(rename = "name")]
13860 #[serde(default, skip_serializing_if = "Option::is_none")]
13861 pub name: Option<Box<CTString>>,
13862 #[cfg(feature = "wml-settings")]
13863 #[serde(rename = "title")]
13864 #[serde(default, skip_serializing_if = "Option::is_none")]
13865 pub title: Option<Box<CTString>>,
13866 #[cfg(feature = "wml-settings")]
13867 #[serde(rename = "longDesc")]
13868 #[serde(default, skip_serializing_if = "Option::is_none")]
13869 pub long_desc: Option<Box<CTRel>>,
13870 #[cfg(feature = "wml-settings")]
13871 #[serde(rename = "sourceFileName")]
13872 #[serde(default, skip_serializing_if = "Option::is_none")]
13873 pub source_file_name: Option<Box<CTRel>>,
13874 #[cfg(feature = "wml-settings")]
13875 #[serde(rename = "marW")]
13876 #[serde(default, skip_serializing_if = "Option::is_none")]
13877 pub mar_w: Option<Box<PixelsMeasureElement>>,
13878 #[cfg(feature = "wml-settings")]
13879 #[serde(rename = "marH")]
13880 #[serde(default, skip_serializing_if = "Option::is_none")]
13881 pub mar_h: Option<Box<PixelsMeasureElement>>,
13882 #[cfg(feature = "wml-settings")]
13883 #[serde(rename = "scrollbar")]
13884 #[serde(default, skip_serializing_if = "Option::is_none")]
13885 pub scrollbar: Option<Box<CTFrameScrollbar>>,
13886 #[cfg(feature = "wml-settings")]
13887 #[serde(rename = "noResizeAllowed")]
13888 #[serde(default, skip_serializing_if = "Option::is_none")]
13889 pub no_resize_allowed: Option<Box<OnOffElement>>,
13890 #[cfg(feature = "wml-settings")]
13891 #[serde(rename = "linkedToFile")]
13892 #[serde(default, skip_serializing_if = "Option::is_none")]
13893 pub linked_to_file: Option<Box<OnOffElement>>,
13894 #[cfg(feature = "extra-children")]
13896 #[serde(skip)]
13897 #[cfg(feature = "extra-children")]
13898 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13899}
13900
13901#[derive(Debug, Clone, Serialize, Deserialize)]
13902pub struct CTFrameLayout {
13903 #[serde(rename = "@w:val")]
13904 pub value: STFrameLayout,
13905 #[cfg(feature = "extra-attrs")]
13907 #[serde(skip)]
13908 #[cfg(feature = "extra-attrs")]
13909 #[serde(default)]
13910 #[cfg(feature = "extra-attrs")]
13911 pub extra_attrs: std::collections::HashMap<String, String>,
13912}
13913
13914#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13915pub struct CTFramesetSplitbar {
13916 #[cfg(feature = "wml-settings")]
13917 #[serde(rename = "w")]
13918 #[serde(default, skip_serializing_if = "Option::is_none")]
13919 pub width: Option<Box<TwipsMeasureElement>>,
13920 #[cfg(feature = "wml-settings")]
13921 #[serde(rename = "color")]
13922 #[serde(default, skip_serializing_if = "Option::is_none")]
13923 pub color: Option<Box<CTColor>>,
13924 #[cfg(feature = "wml-settings")]
13925 #[serde(rename = "noBorder")]
13926 #[serde(default, skip_serializing_if = "Option::is_none")]
13927 pub no_border: Option<Box<OnOffElement>>,
13928 #[cfg(feature = "wml-settings")]
13929 #[serde(rename = "flatBorders")]
13930 #[serde(default, skip_serializing_if = "Option::is_none")]
13931 pub flat_borders: Option<Box<OnOffElement>>,
13932 #[cfg(feature = "extra-children")]
13934 #[serde(skip)]
13935 #[cfg(feature = "extra-children")]
13936 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13937}
13938
13939#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13940pub struct CTFrameset {
13941 #[cfg(feature = "wml-settings")]
13942 #[serde(rename = "sz")]
13943 #[serde(default, skip_serializing_if = "Option::is_none")]
13944 pub size: Option<Box<CTString>>,
13945 #[cfg(feature = "wml-settings")]
13946 #[serde(rename = "framesetSplitbar")]
13947 #[serde(default, skip_serializing_if = "Option::is_none")]
13948 pub frameset_splitbar: Option<Box<CTFramesetSplitbar>>,
13949 #[cfg(feature = "wml-settings")]
13950 #[serde(rename = "frameLayout")]
13951 #[serde(default, skip_serializing_if = "Option::is_none")]
13952 pub frame_layout: Option<Box<CTFrameLayout>>,
13953 #[cfg(feature = "wml-settings")]
13954 #[serde(rename = "title")]
13955 #[serde(default, skip_serializing_if = "Option::is_none")]
13956 pub title: Option<Box<CTString>>,
13957 #[cfg(feature = "extra-children")]
13959 #[serde(skip)]
13960 #[cfg(feature = "extra-children")]
13961 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13962}
13963
13964#[derive(Debug, Clone, Serialize, Deserialize)]
13965pub struct CTNumPicBullet {
13966 #[serde(rename = "@w:numPicBulletId")]
13967 pub num_pic_bullet_id: STDecimalNumber,
13968 #[cfg(feature = "wml-numbering")]
13969 #[serde(rename = "pict")]
13970 #[serde(default, skip_serializing_if = "Option::is_none")]
13971 pub pict: Option<Box<CTPicture>>,
13972 #[cfg(feature = "wml-numbering")]
13973 #[serde(rename = "drawing")]
13974 #[serde(default, skip_serializing_if = "Option::is_none")]
13975 pub drawing: Option<Box<CTDrawing>>,
13976 #[cfg(feature = "extra-attrs")]
13978 #[serde(skip)]
13979 #[cfg(feature = "extra-attrs")]
13980 #[serde(default)]
13981 #[cfg(feature = "extra-attrs")]
13982 pub extra_attrs: std::collections::HashMap<String, String>,
13983 #[cfg(feature = "extra-children")]
13985 #[serde(skip)]
13986 #[cfg(feature = "extra-children")]
13987 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13988}
13989
13990#[derive(Debug, Clone, Serialize, Deserialize)]
13991pub struct CTLevelSuffix {
13992 #[serde(rename = "@w:val")]
13993 pub value: STLevelSuffix,
13994 #[cfg(feature = "extra-attrs")]
13996 #[serde(skip)]
13997 #[cfg(feature = "extra-attrs")]
13998 #[serde(default)]
13999 #[cfg(feature = "extra-attrs")]
14000 pub extra_attrs: std::collections::HashMap<String, String>,
14001}
14002
14003#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14004pub struct CTLevelText {
14005 #[serde(rename = "@w:val")]
14006 #[serde(default, skip_serializing_if = "Option::is_none")]
14007 pub value: Option<STString>,
14008 #[cfg(feature = "wml-numbering")]
14009 #[serde(rename = "@w:null")]
14010 #[serde(default, skip_serializing_if = "Option::is_none")]
14011 pub null: Option<OnOff>,
14012 #[cfg(feature = "extra-attrs")]
14014 #[serde(skip)]
14015 #[cfg(feature = "extra-attrs")]
14016 #[serde(default)]
14017 #[cfg(feature = "extra-attrs")]
14018 pub extra_attrs: std::collections::HashMap<String, String>,
14019}
14020
14021#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14022pub struct CTLvlLegacy {
14023 #[cfg(feature = "wml-numbering")]
14024 #[serde(rename = "@w:legacy")]
14025 #[serde(default, skip_serializing_if = "Option::is_none")]
14026 pub legacy: Option<OnOff>,
14027 #[cfg(feature = "wml-numbering")]
14028 #[serde(rename = "@w:legacySpace")]
14029 #[serde(default, skip_serializing_if = "Option::is_none")]
14030 pub legacy_space: Option<STTwipsMeasure>,
14031 #[cfg(feature = "wml-numbering")]
14032 #[serde(rename = "@w:legacyIndent")]
14033 #[serde(default, skip_serializing_if = "Option::is_none")]
14034 pub legacy_indent: Option<STSignedTwipsMeasure>,
14035 #[cfg(feature = "extra-attrs")]
14037 #[serde(skip)]
14038 #[cfg(feature = "extra-attrs")]
14039 #[serde(default)]
14040 #[cfg(feature = "extra-attrs")]
14041 pub extra_attrs: std::collections::HashMap<String, String>,
14042}
14043
14044#[derive(Debug, Clone, Serialize, Deserialize)]
14045pub struct Level {
14046 #[serde(rename = "@w:ilvl")]
14047 pub ilvl: STDecimalNumber,
14048 #[cfg(feature = "wml-numbering")]
14049 #[serde(rename = "@w:tplc")]
14050 #[serde(default, skip_serializing_if = "Option::is_none")]
14051 pub tplc: Option<STLongHexNumber>,
14052 #[cfg(feature = "wml-numbering")]
14053 #[serde(rename = "@w:tentative")]
14054 #[serde(default, skip_serializing_if = "Option::is_none")]
14055 pub tentative: Option<OnOff>,
14056 #[cfg(feature = "wml-numbering")]
14057 #[serde(rename = "start")]
14058 #[serde(default, skip_serializing_if = "Option::is_none")]
14059 pub start: Option<Box<CTDecimalNumber>>,
14060 #[cfg(feature = "wml-numbering")]
14061 #[serde(rename = "numFmt")]
14062 #[serde(default, skip_serializing_if = "Option::is_none")]
14063 pub num_fmt: Option<Box<CTNumFmt>>,
14064 #[cfg(feature = "wml-numbering")]
14065 #[serde(rename = "lvlRestart")]
14066 #[serde(default, skip_serializing_if = "Option::is_none")]
14067 pub lvl_restart: Option<Box<CTDecimalNumber>>,
14068 #[cfg(feature = "wml-numbering")]
14069 #[serde(rename = "pStyle")]
14070 #[serde(default, skip_serializing_if = "Option::is_none")]
14071 pub paragraph_style: Option<Box<CTString>>,
14072 #[cfg(feature = "wml-numbering")]
14073 #[serde(rename = "isLgl")]
14074 #[serde(default, skip_serializing_if = "Option::is_none")]
14075 pub is_lgl: Option<Box<OnOffElement>>,
14076 #[cfg(feature = "wml-numbering")]
14077 #[serde(rename = "suff")]
14078 #[serde(default, skip_serializing_if = "Option::is_none")]
14079 pub suff: Option<Box<CTLevelSuffix>>,
14080 #[cfg(feature = "wml-numbering")]
14081 #[serde(rename = "lvlText")]
14082 #[serde(default, skip_serializing_if = "Option::is_none")]
14083 pub lvl_text: Option<Box<CTLevelText>>,
14084 #[cfg(feature = "wml-numbering")]
14085 #[serde(rename = "lvlPicBulletId")]
14086 #[serde(default, skip_serializing_if = "Option::is_none")]
14087 pub lvl_pic_bullet_id: Option<Box<CTDecimalNumber>>,
14088 #[cfg(feature = "wml-numbering")]
14089 #[serde(rename = "legacy")]
14090 #[serde(default, skip_serializing_if = "Option::is_none")]
14091 pub legacy: Option<Box<CTLvlLegacy>>,
14092 #[cfg(feature = "wml-numbering")]
14093 #[serde(rename = "lvlJc")]
14094 #[serde(default, skip_serializing_if = "Option::is_none")]
14095 pub lvl_jc: Option<Box<CTJc>>,
14096 #[cfg(feature = "wml-numbering")]
14097 #[serde(rename = "pPr")]
14098 #[serde(default, skip_serializing_if = "Option::is_none")]
14099 pub p_pr: Option<Box<CTPPrGeneral>>,
14100 #[cfg(feature = "wml-numbering")]
14101 #[serde(rename = "rPr")]
14102 #[serde(default, skip_serializing_if = "Option::is_none")]
14103 pub r_pr: Option<Box<RunProperties>>,
14104 #[cfg(feature = "extra-attrs")]
14106 #[serde(skip)]
14107 #[cfg(feature = "extra-attrs")]
14108 #[serde(default)]
14109 #[cfg(feature = "extra-attrs")]
14110 pub extra_attrs: std::collections::HashMap<String, String>,
14111 #[cfg(feature = "extra-children")]
14113 #[serde(skip)]
14114 #[cfg(feature = "extra-children")]
14115 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14116}
14117
14118#[derive(Debug, Clone, Serialize, Deserialize)]
14119pub struct CTMultiLevelType {
14120 #[serde(rename = "@w:val")]
14121 pub value: STMultiLevelType,
14122 #[cfg(feature = "extra-attrs")]
14124 #[serde(skip)]
14125 #[cfg(feature = "extra-attrs")]
14126 #[serde(default)]
14127 #[cfg(feature = "extra-attrs")]
14128 pub extra_attrs: std::collections::HashMap<String, String>,
14129}
14130
14131#[derive(Debug, Clone, Serialize, Deserialize)]
14132pub struct AbstractNumbering {
14133 #[serde(rename = "@w:abstractNumId")]
14134 pub abstract_num_id: STDecimalNumber,
14135 #[cfg(feature = "wml-numbering")]
14136 #[serde(rename = "nsid")]
14137 #[serde(default, skip_serializing_if = "Option::is_none")]
14138 pub nsid: Option<Box<LongHexNumberElement>>,
14139 #[cfg(feature = "wml-numbering")]
14140 #[serde(rename = "multiLevelType")]
14141 #[serde(default, skip_serializing_if = "Option::is_none")]
14142 pub multi_level_type: Option<Box<CTMultiLevelType>>,
14143 #[cfg(feature = "wml-numbering")]
14144 #[serde(rename = "tmpl")]
14145 #[serde(default, skip_serializing_if = "Option::is_none")]
14146 pub tmpl: Option<Box<LongHexNumberElement>>,
14147 #[cfg(feature = "wml-numbering")]
14148 #[serde(rename = "name")]
14149 #[serde(default, skip_serializing_if = "Option::is_none")]
14150 pub name: Option<Box<CTString>>,
14151 #[cfg(feature = "wml-numbering")]
14152 #[serde(rename = "styleLink")]
14153 #[serde(default, skip_serializing_if = "Option::is_none")]
14154 pub style_link: Option<Box<CTString>>,
14155 #[cfg(feature = "wml-numbering")]
14156 #[serde(rename = "numStyleLink")]
14157 #[serde(default, skip_serializing_if = "Option::is_none")]
14158 pub num_style_link: Option<Box<CTString>>,
14159 #[serde(rename = "lvl")]
14160 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14161 pub lvl: Vec<Level>,
14162 #[cfg(feature = "extra-attrs")]
14164 #[serde(skip)]
14165 #[cfg(feature = "extra-attrs")]
14166 #[serde(default)]
14167 #[cfg(feature = "extra-attrs")]
14168 pub extra_attrs: std::collections::HashMap<String, String>,
14169 #[cfg(feature = "extra-children")]
14171 #[serde(skip)]
14172 #[cfg(feature = "extra-children")]
14173 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14174}
14175
14176#[derive(Debug, Clone, Serialize, Deserialize)]
14177pub struct CTNumLvl {
14178 #[serde(rename = "@w:ilvl")]
14179 pub ilvl: STDecimalNumber,
14180 #[cfg(feature = "wml-numbering")]
14181 #[serde(rename = "startOverride")]
14182 #[serde(default, skip_serializing_if = "Option::is_none")]
14183 pub start_override: Option<Box<CTDecimalNumber>>,
14184 #[cfg(feature = "wml-numbering")]
14185 #[serde(rename = "lvl")]
14186 #[serde(default, skip_serializing_if = "Option::is_none")]
14187 pub lvl: Option<Box<Level>>,
14188 #[cfg(feature = "extra-attrs")]
14190 #[serde(skip)]
14191 #[cfg(feature = "extra-attrs")]
14192 #[serde(default)]
14193 #[cfg(feature = "extra-attrs")]
14194 pub extra_attrs: std::collections::HashMap<String, String>,
14195 #[cfg(feature = "extra-children")]
14197 #[serde(skip)]
14198 #[cfg(feature = "extra-children")]
14199 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14200}
14201
14202#[derive(Debug, Clone, Serialize, Deserialize)]
14203pub struct NumberingInstance {
14204 #[serde(rename = "@w:numId")]
14205 pub num_id: STDecimalNumber,
14206 #[serde(rename = "abstractNumId")]
14207 pub abstract_num_id: Box<CTDecimalNumber>,
14208 #[cfg(feature = "wml-numbering")]
14209 #[serde(rename = "lvlOverride")]
14210 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14211 pub lvl_override: Vec<CTNumLvl>,
14212 #[cfg(feature = "extra-attrs")]
14214 #[serde(skip)]
14215 #[cfg(feature = "extra-attrs")]
14216 #[serde(default)]
14217 #[cfg(feature = "extra-attrs")]
14218 pub extra_attrs: std::collections::HashMap<String, String>,
14219 #[cfg(feature = "extra-children")]
14221 #[serde(skip)]
14222 #[cfg(feature = "extra-children")]
14223 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14224}
14225
14226#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14227pub struct Numbering {
14228 #[cfg(feature = "wml-numbering")]
14229 #[serde(rename = "numPicBullet")]
14230 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14231 pub num_pic_bullet: Vec<CTNumPicBullet>,
14232 #[serde(rename = "abstractNum")]
14233 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14234 pub abstract_num: Vec<AbstractNumbering>,
14235 #[serde(rename = "num")]
14236 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14237 pub num: Vec<NumberingInstance>,
14238 #[cfg(feature = "wml-numbering")]
14239 #[serde(rename = "numIdMacAtCleanup")]
14240 #[serde(default, skip_serializing_if = "Option::is_none")]
14241 pub num_id_mac_at_cleanup: Option<Box<CTDecimalNumber>>,
14242 #[cfg(feature = "extra-children")]
14244 #[serde(skip)]
14245 #[cfg(feature = "extra-children")]
14246 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14247}
14248
14249#[derive(Debug, Clone, Serialize, Deserialize)]
14250pub struct TableStyleProperties {
14251 #[serde(rename = "@w:type")]
14252 pub r#type: STTblStyleOverrideType,
14253 #[cfg(feature = "wml-styling")]
14254 #[serde(rename = "pPr")]
14255 #[serde(default, skip_serializing_if = "Option::is_none")]
14256 pub p_pr: Option<Box<CTPPrGeneral>>,
14257 #[cfg(feature = "wml-styling")]
14258 #[serde(rename = "rPr")]
14259 #[serde(default, skip_serializing_if = "Option::is_none")]
14260 pub r_pr: Option<Box<RunProperties>>,
14261 #[cfg(feature = "wml-styling")]
14262 #[serde(rename = "tblPr")]
14263 #[serde(default, skip_serializing_if = "Option::is_none")]
14264 pub table_properties: Option<Box<CTTblPrBase>>,
14265 #[cfg(feature = "wml-styling")]
14266 #[serde(rename = "trPr")]
14267 #[serde(default, skip_serializing_if = "Option::is_none")]
14268 pub row_properties: Option<Box<TableRowProperties>>,
14269 #[cfg(feature = "wml-styling")]
14270 #[serde(rename = "tcPr")]
14271 #[serde(default, skip_serializing_if = "Option::is_none")]
14272 pub cell_properties: Option<Box<TableCellProperties>>,
14273 #[cfg(feature = "extra-attrs")]
14275 #[serde(skip)]
14276 #[cfg(feature = "extra-attrs")]
14277 #[serde(default)]
14278 #[cfg(feature = "extra-attrs")]
14279 pub extra_attrs: std::collections::HashMap<String, String>,
14280 #[cfg(feature = "extra-children")]
14282 #[serde(skip)]
14283 #[cfg(feature = "extra-children")]
14284 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14285}
14286
14287#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14288pub struct Style {
14289 #[serde(rename = "@w:type")]
14290 #[serde(default, skip_serializing_if = "Option::is_none")]
14291 pub r#type: Option<STStyleType>,
14292 #[serde(rename = "@w:styleId")]
14293 #[serde(default, skip_serializing_if = "Option::is_none")]
14294 pub style_id: Option<STString>,
14295 #[serde(rename = "@w:default")]
14296 #[serde(default, skip_serializing_if = "Option::is_none")]
14297 pub default: Option<OnOff>,
14298 #[serde(rename = "@w:customStyle")]
14299 #[serde(default, skip_serializing_if = "Option::is_none")]
14300 pub custom_style: Option<OnOff>,
14301 #[serde(rename = "name")]
14302 #[serde(default, skip_serializing_if = "Option::is_none")]
14303 pub name: Option<Box<CTString>>,
14304 #[serde(rename = "aliases")]
14305 #[serde(default, skip_serializing_if = "Option::is_none")]
14306 pub aliases: Option<Box<CTString>>,
14307 #[serde(rename = "basedOn")]
14308 #[serde(default, skip_serializing_if = "Option::is_none")]
14309 pub based_on: Option<Box<CTString>>,
14310 #[cfg(feature = "wml-styling")]
14311 #[serde(rename = "next")]
14312 #[serde(default, skip_serializing_if = "Option::is_none")]
14313 pub next: Option<Box<CTString>>,
14314 #[cfg(feature = "wml-styling")]
14315 #[serde(rename = "link")]
14316 #[serde(default, skip_serializing_if = "Option::is_none")]
14317 pub link: Option<Box<CTString>>,
14318 #[cfg(feature = "wml-styling")]
14319 #[serde(rename = "autoRedefine")]
14320 #[serde(default, skip_serializing_if = "Option::is_none")]
14321 pub auto_redefine: Option<Box<OnOffElement>>,
14322 #[cfg(feature = "wml-styling")]
14323 #[serde(rename = "hidden")]
14324 #[serde(default, skip_serializing_if = "Option::is_none")]
14325 pub hidden: Option<Box<OnOffElement>>,
14326 #[cfg(feature = "wml-styling")]
14327 #[serde(rename = "uiPriority")]
14328 #[serde(default, skip_serializing_if = "Option::is_none")]
14329 pub ui_priority: Option<Box<CTDecimalNumber>>,
14330 #[cfg(feature = "wml-styling")]
14331 #[serde(rename = "semiHidden")]
14332 #[serde(default, skip_serializing_if = "Option::is_none")]
14333 pub semi_hidden: Option<Box<OnOffElement>>,
14334 #[cfg(feature = "wml-styling")]
14335 #[serde(rename = "unhideWhenUsed")]
14336 #[serde(default, skip_serializing_if = "Option::is_none")]
14337 pub unhide_when_used: Option<Box<OnOffElement>>,
14338 #[cfg(feature = "wml-styling")]
14339 #[serde(rename = "qFormat")]
14340 #[serde(default, skip_serializing_if = "Option::is_none")]
14341 pub q_format: Option<Box<OnOffElement>>,
14342 #[cfg(feature = "wml-settings")]
14343 #[serde(rename = "locked")]
14344 #[serde(default, skip_serializing_if = "Option::is_none")]
14345 pub locked: Option<Box<OnOffElement>>,
14346 #[cfg(feature = "wml-settings")]
14347 #[serde(rename = "personal")]
14348 #[serde(default, skip_serializing_if = "Option::is_none")]
14349 pub personal: Option<Box<OnOffElement>>,
14350 #[cfg(feature = "wml-settings")]
14351 #[serde(rename = "personalCompose")]
14352 #[serde(default, skip_serializing_if = "Option::is_none")]
14353 pub personal_compose: Option<Box<OnOffElement>>,
14354 #[cfg(feature = "wml-settings")]
14355 #[serde(rename = "personalReply")]
14356 #[serde(default, skip_serializing_if = "Option::is_none")]
14357 pub personal_reply: Option<Box<OnOffElement>>,
14358 #[cfg(feature = "wml-track-changes")]
14359 #[serde(rename = "rsid")]
14360 #[serde(default, skip_serializing_if = "Option::is_none")]
14361 pub rsid: Option<Box<LongHexNumberElement>>,
14362 #[cfg(feature = "wml-styling")]
14363 #[serde(rename = "pPr")]
14364 #[serde(default, skip_serializing_if = "Option::is_none")]
14365 pub p_pr: Option<Box<CTPPrGeneral>>,
14366 #[cfg(feature = "wml-styling")]
14367 #[serde(rename = "rPr")]
14368 #[serde(default, skip_serializing_if = "Option::is_none")]
14369 pub r_pr: Option<Box<RunProperties>>,
14370 #[cfg(feature = "wml-styling")]
14371 #[serde(rename = "tblPr")]
14372 #[serde(default, skip_serializing_if = "Option::is_none")]
14373 pub table_properties: Option<Box<CTTblPrBase>>,
14374 #[cfg(feature = "wml-styling")]
14375 #[serde(rename = "trPr")]
14376 #[serde(default, skip_serializing_if = "Option::is_none")]
14377 pub row_properties: Option<Box<TableRowProperties>>,
14378 #[cfg(feature = "wml-styling")]
14379 #[serde(rename = "tcPr")]
14380 #[serde(default, skip_serializing_if = "Option::is_none")]
14381 pub cell_properties: Option<Box<TableCellProperties>>,
14382 #[cfg(feature = "wml-styling")]
14383 #[serde(rename = "tblStylePr")]
14384 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14385 pub tbl_style_pr: Vec<TableStyleProperties>,
14386 #[cfg(feature = "extra-attrs")]
14388 #[serde(skip)]
14389 #[cfg(feature = "extra-attrs")]
14390 #[serde(default)]
14391 #[cfg(feature = "extra-attrs")]
14392 pub extra_attrs: std::collections::HashMap<String, String>,
14393 #[cfg(feature = "extra-children")]
14395 #[serde(skip)]
14396 #[cfg(feature = "extra-children")]
14397 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14398}
14399
14400#[derive(Debug, Clone, Serialize, Deserialize)]
14401pub struct LatentStyleException {
14402 #[serde(rename = "@w:name")]
14403 pub name: STString,
14404 #[cfg(feature = "wml-styling")]
14405 #[serde(rename = "@w:locked")]
14406 #[serde(default, skip_serializing_if = "Option::is_none")]
14407 pub locked: Option<OnOff>,
14408 #[cfg(feature = "wml-styling")]
14409 #[serde(rename = "@w:uiPriority")]
14410 #[serde(default, skip_serializing_if = "Option::is_none")]
14411 pub ui_priority: Option<STDecimalNumber>,
14412 #[cfg(feature = "wml-styling")]
14413 #[serde(rename = "@w:semiHidden")]
14414 #[serde(default, skip_serializing_if = "Option::is_none")]
14415 pub semi_hidden: Option<OnOff>,
14416 #[cfg(feature = "wml-styling")]
14417 #[serde(rename = "@w:unhideWhenUsed")]
14418 #[serde(default, skip_serializing_if = "Option::is_none")]
14419 pub unhide_when_used: Option<OnOff>,
14420 #[cfg(feature = "wml-styling")]
14421 #[serde(rename = "@w:qFormat")]
14422 #[serde(default, skip_serializing_if = "Option::is_none")]
14423 pub q_format: Option<OnOff>,
14424 #[cfg(feature = "extra-attrs")]
14426 #[serde(skip)]
14427 #[cfg(feature = "extra-attrs")]
14428 #[serde(default)]
14429 #[cfg(feature = "extra-attrs")]
14430 pub extra_attrs: std::collections::HashMap<String, String>,
14431}
14432
14433#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14434pub struct LatentStyles {
14435 #[cfg(feature = "wml-styling")]
14436 #[serde(rename = "@w:defLockedState")]
14437 #[serde(default, skip_serializing_if = "Option::is_none")]
14438 pub def_locked_state: Option<OnOff>,
14439 #[cfg(feature = "wml-styling")]
14440 #[serde(rename = "@w:defUIPriority")]
14441 #[serde(default, skip_serializing_if = "Option::is_none")]
14442 pub def_u_i_priority: Option<STDecimalNumber>,
14443 #[cfg(feature = "wml-styling")]
14444 #[serde(rename = "@w:defSemiHidden")]
14445 #[serde(default, skip_serializing_if = "Option::is_none")]
14446 pub def_semi_hidden: Option<OnOff>,
14447 #[cfg(feature = "wml-styling")]
14448 #[serde(rename = "@w:defUnhideWhenUsed")]
14449 #[serde(default, skip_serializing_if = "Option::is_none")]
14450 pub def_unhide_when_used: Option<OnOff>,
14451 #[cfg(feature = "wml-styling")]
14452 #[serde(rename = "@w:defQFormat")]
14453 #[serde(default, skip_serializing_if = "Option::is_none")]
14454 pub def_q_format: Option<OnOff>,
14455 #[cfg(feature = "wml-styling")]
14456 #[serde(rename = "@w:count")]
14457 #[serde(default, skip_serializing_if = "Option::is_none")]
14458 pub count: Option<STDecimalNumber>,
14459 #[serde(rename = "lsdException")]
14460 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14461 pub lsd_exception: Vec<LatentStyleException>,
14462 #[cfg(feature = "extra-attrs")]
14464 #[serde(skip)]
14465 #[cfg(feature = "extra-attrs")]
14466 #[serde(default)]
14467 #[cfg(feature = "extra-attrs")]
14468 pub extra_attrs: std::collections::HashMap<String, String>,
14469 #[cfg(feature = "extra-children")]
14471 #[serde(skip)]
14472 #[cfg(feature = "extra-children")]
14473 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14474}
14475
14476#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14477pub struct Styles {
14478 #[serde(rename = "docDefaults")]
14479 #[serde(default, skip_serializing_if = "Option::is_none")]
14480 pub doc_defaults: Option<Box<DocumentDefaults>>,
14481 #[cfg(feature = "wml-styling")]
14482 #[serde(rename = "latentStyles")]
14483 #[serde(default, skip_serializing_if = "Option::is_none")]
14484 pub latent_styles: Option<Box<LatentStyles>>,
14485 #[serde(rename = "style")]
14486 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14487 pub style: Vec<Style>,
14488 #[cfg(feature = "extra-children")]
14490 #[serde(skip)]
14491 #[cfg(feature = "extra-children")]
14492 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14493}
14494
14495#[derive(Debug, Clone, Serialize, Deserialize)]
14496pub struct PanoseElement {
14497 #[serde(rename = "@w:val")]
14498 pub value: Panose,
14499 #[cfg(feature = "extra-attrs")]
14501 #[serde(skip)]
14502 #[cfg(feature = "extra-attrs")]
14503 #[serde(default)]
14504 #[cfg(feature = "extra-attrs")]
14505 pub extra_attrs: std::collections::HashMap<String, String>,
14506}
14507
14508#[derive(Debug, Clone, Serialize, Deserialize)]
14509pub struct CTFontFamily {
14510 #[serde(rename = "@w:val")]
14511 pub value: STFontFamily,
14512 #[cfg(feature = "extra-attrs")]
14514 #[serde(skip)]
14515 #[cfg(feature = "extra-attrs")]
14516 #[serde(default)]
14517 #[cfg(feature = "extra-attrs")]
14518 pub extra_attrs: std::collections::HashMap<String, String>,
14519}
14520
14521#[derive(Debug, Clone, Serialize, Deserialize)]
14522pub struct CTPitch {
14523 #[serde(rename = "@w:val")]
14524 pub value: STPitch,
14525 #[cfg(feature = "extra-attrs")]
14527 #[serde(skip)]
14528 #[cfg(feature = "extra-attrs")]
14529 #[serde(default)]
14530 #[cfg(feature = "extra-attrs")]
14531 pub extra_attrs: std::collections::HashMap<String, String>,
14532}
14533
14534#[derive(Debug, Clone, Serialize, Deserialize)]
14535pub struct CTFontSig {
14536 #[cfg(feature = "wml-styling")]
14537 #[serde(rename = "@w:usb0")]
14538 pub usb0: STLongHexNumber,
14539 #[cfg(feature = "wml-styling")]
14540 #[serde(rename = "@w:usb1")]
14541 pub usb1: STLongHexNumber,
14542 #[cfg(feature = "wml-styling")]
14543 #[serde(rename = "@w:usb2")]
14544 pub usb2: STLongHexNumber,
14545 #[cfg(feature = "wml-styling")]
14546 #[serde(rename = "@w:usb3")]
14547 pub usb3: STLongHexNumber,
14548 #[cfg(feature = "wml-styling")]
14549 #[serde(rename = "@w:csb0")]
14550 pub csb0: STLongHexNumber,
14551 #[cfg(feature = "wml-styling")]
14552 #[serde(rename = "@w:csb1")]
14553 pub csb1: STLongHexNumber,
14554 #[cfg(feature = "extra-attrs")]
14556 #[serde(skip)]
14557 #[cfg(feature = "extra-attrs")]
14558 #[serde(default)]
14559 #[cfg(feature = "extra-attrs")]
14560 pub extra_attrs: std::collections::HashMap<String, String>,
14561}
14562
14563#[derive(Debug, Clone, Serialize, Deserialize)]
14564pub struct CTFontRel {
14565 #[cfg(feature = "wml-styling")]
14566 #[serde(rename = "@r:id")]
14567 pub id: STRelationshipId,
14568 #[cfg(feature = "wml-styling")]
14569 #[serde(rename = "@w:fontKey")]
14570 #[serde(default, skip_serializing_if = "Option::is_none")]
14571 pub font_key: Option<Guid>,
14572 #[cfg(feature = "wml-styling")]
14573 #[serde(rename = "@w:subsetted")]
14574 #[serde(default, skip_serializing_if = "Option::is_none")]
14575 pub subsetted: Option<OnOff>,
14576 #[cfg(feature = "extra-attrs")]
14578 #[serde(skip)]
14579 #[cfg(feature = "extra-attrs")]
14580 #[serde(default)]
14581 #[cfg(feature = "extra-attrs")]
14582 pub extra_attrs: std::collections::HashMap<String, String>,
14583}
14584
14585#[derive(Debug, Clone, Serialize, Deserialize)]
14586pub struct Font {
14587 #[serde(rename = "@w:name")]
14588 pub name: STString,
14589 #[cfg(feature = "wml-styling")]
14590 #[serde(rename = "altName")]
14591 #[serde(default, skip_serializing_if = "Option::is_none")]
14592 pub alt_name: Option<Box<CTString>>,
14593 #[cfg(feature = "wml-styling")]
14594 #[serde(rename = "panose1")]
14595 #[serde(default, skip_serializing_if = "Option::is_none")]
14596 pub panose1: Option<Box<PanoseElement>>,
14597 #[cfg(feature = "wml-styling")]
14598 #[serde(rename = "charset")]
14599 #[serde(default, skip_serializing_if = "Option::is_none")]
14600 pub charset: Option<Box<CTCharset>>,
14601 #[cfg(feature = "wml-styling")]
14602 #[serde(rename = "family")]
14603 #[serde(default, skip_serializing_if = "Option::is_none")]
14604 pub family: Option<Box<CTFontFamily>>,
14605 #[cfg(feature = "wml-styling")]
14606 #[serde(rename = "notTrueType")]
14607 #[serde(default, skip_serializing_if = "Option::is_none")]
14608 pub not_true_type: Option<Box<OnOffElement>>,
14609 #[cfg(feature = "wml-styling")]
14610 #[serde(rename = "pitch")]
14611 #[serde(default, skip_serializing_if = "Option::is_none")]
14612 pub pitch: Option<Box<CTPitch>>,
14613 #[cfg(feature = "wml-styling")]
14614 #[serde(rename = "sig")]
14615 #[serde(default, skip_serializing_if = "Option::is_none")]
14616 pub sig: Option<Box<CTFontSig>>,
14617 #[cfg(feature = "wml-styling")]
14618 #[serde(rename = "embedRegular")]
14619 #[serde(default, skip_serializing_if = "Option::is_none")]
14620 pub embed_regular: Option<Box<CTFontRel>>,
14621 #[cfg(feature = "wml-styling")]
14622 #[serde(rename = "embedBold")]
14623 #[serde(default, skip_serializing_if = "Option::is_none")]
14624 pub embed_bold: Option<Box<CTFontRel>>,
14625 #[cfg(feature = "wml-styling")]
14626 #[serde(rename = "embedItalic")]
14627 #[serde(default, skip_serializing_if = "Option::is_none")]
14628 pub embed_italic: Option<Box<CTFontRel>>,
14629 #[cfg(feature = "wml-styling")]
14630 #[serde(rename = "embedBoldItalic")]
14631 #[serde(default, skip_serializing_if = "Option::is_none")]
14632 pub embed_bold_italic: Option<Box<CTFontRel>>,
14633 #[cfg(feature = "extra-attrs")]
14635 #[serde(skip)]
14636 #[cfg(feature = "extra-attrs")]
14637 #[serde(default)]
14638 #[cfg(feature = "extra-attrs")]
14639 pub extra_attrs: std::collections::HashMap<String, String>,
14640 #[cfg(feature = "extra-children")]
14642 #[serde(skip)]
14643 #[cfg(feature = "extra-children")]
14644 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14645}
14646
14647#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14648pub struct CTFontsList {
14649 #[serde(rename = "font")]
14650 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14651 pub font: Vec<Font>,
14652 #[cfg(feature = "extra-children")]
14654 #[serde(skip)]
14655 #[cfg(feature = "extra-children")]
14656 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14657}
14658
14659#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14660pub struct CTDivBdr {
14661 #[cfg(feature = "wml-settings")]
14662 #[serde(rename = "top")]
14663 #[serde(default, skip_serializing_if = "Option::is_none")]
14664 pub top: Option<Box<CTBorder>>,
14665 #[cfg(feature = "wml-settings")]
14666 #[serde(rename = "left")]
14667 #[serde(default, skip_serializing_if = "Option::is_none")]
14668 pub left: Option<Box<CTBorder>>,
14669 #[cfg(feature = "wml-settings")]
14670 #[serde(rename = "bottom")]
14671 #[serde(default, skip_serializing_if = "Option::is_none")]
14672 pub bottom: Option<Box<CTBorder>>,
14673 #[cfg(feature = "wml-settings")]
14674 #[serde(rename = "right")]
14675 #[serde(default, skip_serializing_if = "Option::is_none")]
14676 pub right: Option<Box<CTBorder>>,
14677 #[cfg(feature = "extra-children")]
14679 #[serde(skip)]
14680 #[cfg(feature = "extra-children")]
14681 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14682}
14683
14684#[derive(Debug, Clone, Serialize, Deserialize)]
14685pub struct CTDiv {
14686 #[cfg(feature = "wml-settings")]
14687 #[serde(rename = "@w:id")]
14688 pub id: STDecimalNumber,
14689 #[cfg(feature = "wml-settings")]
14690 #[serde(rename = "blockQuote")]
14691 #[serde(default, skip_serializing_if = "Option::is_none")]
14692 pub block_quote: Option<Box<OnOffElement>>,
14693 #[cfg(feature = "wml-settings")]
14694 #[serde(rename = "bodyDiv")]
14695 #[serde(default, skip_serializing_if = "Option::is_none")]
14696 pub body_div: Option<Box<OnOffElement>>,
14697 #[cfg(feature = "wml-settings")]
14698 #[serde(rename = "marLeft")]
14699 pub mar_left: Box<SignedTwipsMeasureElement>,
14700 #[cfg(feature = "wml-settings")]
14701 #[serde(rename = "marRight")]
14702 pub mar_right: Box<SignedTwipsMeasureElement>,
14703 #[cfg(feature = "wml-settings")]
14704 #[serde(rename = "marTop")]
14705 pub mar_top: Box<SignedTwipsMeasureElement>,
14706 #[cfg(feature = "wml-settings")]
14707 #[serde(rename = "marBottom")]
14708 pub mar_bottom: Box<SignedTwipsMeasureElement>,
14709 #[cfg(feature = "wml-settings")]
14710 #[serde(rename = "divBdr")]
14711 #[serde(default, skip_serializing_if = "Option::is_none")]
14712 pub div_bdr: Option<Box<CTDivBdr>>,
14713 #[cfg(feature = "wml-settings")]
14714 #[serde(rename = "divsChild")]
14715 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14716 pub divs_child: Vec<CTDivs>,
14717 #[cfg(feature = "extra-attrs")]
14719 #[serde(skip)]
14720 #[cfg(feature = "extra-attrs")]
14721 #[serde(default)]
14722 #[cfg(feature = "extra-attrs")]
14723 pub extra_attrs: std::collections::HashMap<String, String>,
14724 #[cfg(feature = "extra-children")]
14726 #[serde(skip)]
14727 #[cfg(feature = "extra-children")]
14728 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14729}
14730
14731#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14732pub struct CTDivs {
14733 #[cfg(feature = "wml-settings")]
14734 #[serde(rename = "div")]
14735 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14736 pub div: Vec<CTDiv>,
14737 #[cfg(feature = "extra-children")]
14739 #[serde(skip)]
14740 #[cfg(feature = "extra-children")]
14741 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14742}
14743
14744#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14745pub struct CTTxbxContent {
14746 #[serde(skip)]
14747 #[serde(default)]
14748 pub block_content: Vec<BlockContent>,
14749 #[cfg(feature = "extra-children")]
14751 #[serde(skip)]
14752 #[cfg(feature = "extra-children")]
14753 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14754}
14755
14756pub type WTxbxContent = Box<CTTxbxContent>;
14757
14758#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14759pub struct EGMathContent {
14760 #[cfg(feature = "extra-children")]
14762 #[serde(skip)]
14763 #[cfg(feature = "extra-children")]
14764 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14765}
14766
14767#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14768pub struct EGBlockLevelChunkElts {
14769 #[serde(skip)]
14770 #[serde(default)]
14771 pub block_content: Vec<BlockContentChoice>,
14772 #[cfg(feature = "extra-children")]
14774 #[serde(skip)]
14775 #[cfg(feature = "extra-children")]
14776 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14777}
14778
14779#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14780pub struct Body {
14781 #[serde(skip)]
14782 #[serde(default)]
14783 pub block_content: Vec<BlockContent>,
14784 #[cfg(feature = "wml-layout")]
14785 #[serde(rename = "sectPr")]
14786 #[serde(default, skip_serializing_if = "Option::is_none")]
14787 pub sect_pr: Option<Box<SectionProperties>>,
14788 #[cfg(feature = "extra-children")]
14790 #[serde(skip)]
14791 #[cfg(feature = "extra-children")]
14792 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14793}
14794
14795#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14796pub struct CTShapeDefaults {
14797 #[cfg(feature = "extra-children")]
14799 #[serde(skip)]
14800 #[cfg(feature = "extra-children")]
14801 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14802}
14803
14804#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14805pub struct Comments {
14806 #[serde(rename = "comment")]
14807 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14808 pub comment: Vec<Comment>,
14809 #[cfg(feature = "extra-children")]
14811 #[serde(skip)]
14812 #[cfg(feature = "extra-children")]
14813 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14814}
14815
14816pub type WComments = Box<Comments>;
14817
14818#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14819pub struct Footnotes {
14820 #[serde(rename = "footnote")]
14821 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14822 pub footnote: Vec<FootnoteEndnote>,
14823 #[cfg(feature = "extra-children")]
14825 #[serde(skip)]
14826 #[cfg(feature = "extra-children")]
14827 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14828}
14829
14830pub type WFootnotes = Box<Footnotes>;
14831
14832#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14833pub struct Endnotes {
14834 #[serde(rename = "endnote")]
14835 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14836 pub endnote: Vec<FootnoteEndnote>,
14837 #[cfg(feature = "extra-children")]
14839 #[serde(skip)]
14840 #[cfg(feature = "extra-children")]
14841 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14842}
14843
14844pub type WEndnotes = Box<Endnotes>;
14845
14846pub type WHdr = Box<HeaderFooter>;
14847
14848pub type WFtr = Box<HeaderFooter>;
14849
14850#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14851pub struct CTSmartTagType {
14852 #[cfg(feature = "wml-settings")]
14853 #[serde(rename = "@w:namespaceuri")]
14854 #[serde(default, skip_serializing_if = "Option::is_none")]
14855 pub namespaceuri: Option<STString>,
14856 #[cfg(feature = "wml-settings")]
14857 #[serde(rename = "@w:name")]
14858 #[serde(default, skip_serializing_if = "Option::is_none")]
14859 pub name: Option<STString>,
14860 #[cfg(feature = "wml-settings")]
14861 #[serde(rename = "@w:url")]
14862 #[serde(default, skip_serializing_if = "Option::is_none")]
14863 pub url: Option<STString>,
14864 #[cfg(feature = "extra-attrs")]
14866 #[serde(skip)]
14867 #[cfg(feature = "extra-attrs")]
14868 #[serde(default)]
14869 #[cfg(feature = "extra-attrs")]
14870 pub extra_attrs: std::collections::HashMap<String, String>,
14871}
14872
14873#[derive(Debug, Clone, Serialize, Deserialize)]
14874pub struct CTDocPartBehavior {
14875 #[serde(rename = "@w:val")]
14876 pub value: STDocPartBehavior,
14877 #[cfg(feature = "extra-attrs")]
14879 #[serde(skip)]
14880 #[cfg(feature = "extra-attrs")]
14881 #[serde(default)]
14882 #[cfg(feature = "extra-attrs")]
14883 pub extra_attrs: std::collections::HashMap<String, String>,
14884}
14885
14886#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14887pub struct CTDocPartBehaviors {
14888 #[cfg(feature = "wml-settings")]
14889 #[serde(rename = "behavior")]
14890 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14891 pub behavior: Vec<CTDocPartBehavior>,
14892 #[cfg(feature = "extra-children")]
14894 #[serde(skip)]
14895 #[cfg(feature = "extra-children")]
14896 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14897}
14898
14899#[derive(Debug, Clone, Serialize, Deserialize)]
14900pub struct CTDocPartType {
14901 #[serde(rename = "@w:val")]
14902 pub value: STDocPartType,
14903 #[cfg(feature = "extra-attrs")]
14905 #[serde(skip)]
14906 #[cfg(feature = "extra-attrs")]
14907 #[serde(default)]
14908 #[cfg(feature = "extra-attrs")]
14909 pub extra_attrs: std::collections::HashMap<String, String>,
14910}
14911
14912#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14913pub struct CTDocPartTypes {
14914 #[cfg(feature = "wml-settings")]
14915 #[serde(rename = "@w:all")]
14916 #[serde(default, skip_serializing_if = "Option::is_none")]
14917 pub all: Option<OnOff>,
14918 #[cfg(feature = "wml-settings")]
14919 #[serde(rename = "type")]
14920 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14921 pub r#type: Vec<CTDocPartType>,
14922 #[cfg(feature = "extra-attrs")]
14924 #[serde(skip)]
14925 #[cfg(feature = "extra-attrs")]
14926 #[serde(default)]
14927 #[cfg(feature = "extra-attrs")]
14928 pub extra_attrs: std::collections::HashMap<String, String>,
14929 #[cfg(feature = "extra-children")]
14931 #[serde(skip)]
14932 #[cfg(feature = "extra-children")]
14933 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14934}
14935
14936#[derive(Debug, Clone, Serialize, Deserialize)]
14937pub struct CTDocPartGallery {
14938 #[serde(rename = "@w:val")]
14939 pub value: STDocPartGallery,
14940 #[cfg(feature = "extra-attrs")]
14942 #[serde(skip)]
14943 #[cfg(feature = "extra-attrs")]
14944 #[serde(default)]
14945 #[cfg(feature = "extra-attrs")]
14946 pub extra_attrs: std::collections::HashMap<String, String>,
14947}
14948
14949#[derive(Debug, Clone, Serialize, Deserialize)]
14950pub struct CTDocPartCategory {
14951 #[serde(rename = "name")]
14952 pub name: Box<CTString>,
14953 #[cfg(feature = "wml-settings")]
14954 #[serde(rename = "gallery")]
14955 pub gallery: Box<CTDocPartGallery>,
14956 #[cfg(feature = "extra-children")]
14958 #[serde(skip)]
14959 #[cfg(feature = "extra-children")]
14960 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14961}
14962
14963#[derive(Debug, Clone, Serialize, Deserialize)]
14964pub struct CTDocPartName {
14965 #[serde(rename = "@w:val")]
14966 pub value: STString,
14967 #[cfg(feature = "wml-settings")]
14968 #[serde(rename = "@w:decorated")]
14969 #[serde(default, skip_serializing_if = "Option::is_none")]
14970 pub decorated: Option<OnOff>,
14971 #[cfg(feature = "extra-attrs")]
14973 #[serde(skip)]
14974 #[cfg(feature = "extra-attrs")]
14975 #[serde(default)]
14976 #[cfg(feature = "extra-attrs")]
14977 pub extra_attrs: std::collections::HashMap<String, String>,
14978}
14979
14980#[derive(Debug, Clone, Serialize, Deserialize)]
14981pub struct CTDocPartPr {
14982 #[cfg(feature = "wml-settings")]
14983 #[serde(rename = "name")]
14984 pub name: Box<CTDocPartName>,
14985 #[cfg(feature = "wml-settings")]
14986 #[serde(rename = "style")]
14987 #[serde(default, skip_serializing_if = "Option::is_none")]
14988 pub style: Option<Box<CTString>>,
14989 #[cfg(feature = "wml-settings")]
14990 #[serde(rename = "category")]
14991 #[serde(default, skip_serializing_if = "Option::is_none")]
14992 pub category: Option<Box<CTDocPartCategory>>,
14993 #[cfg(feature = "wml-settings")]
14994 #[serde(rename = "types")]
14995 #[serde(default, skip_serializing_if = "Option::is_none")]
14996 pub types: Option<Box<CTDocPartTypes>>,
14997 #[cfg(feature = "wml-settings")]
14998 #[serde(rename = "behaviors")]
14999 #[serde(default, skip_serializing_if = "Option::is_none")]
15000 pub behaviors: Option<Box<CTDocPartBehaviors>>,
15001 #[cfg(feature = "wml-settings")]
15002 #[serde(rename = "description")]
15003 #[serde(default, skip_serializing_if = "Option::is_none")]
15004 pub description: Option<Box<CTString>>,
15005 #[cfg(feature = "wml-settings")]
15006 #[serde(rename = "guid")]
15007 #[serde(default, skip_serializing_if = "Option::is_none")]
15008 pub guid: Option<Box<GuidElement>>,
15009 #[cfg(feature = "extra-children")]
15011 #[serde(skip)]
15012 #[cfg(feature = "extra-children")]
15013 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15014}
15015
15016#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15017pub struct CTDocPart {
15018 #[cfg(feature = "wml-settings")]
15019 #[serde(rename = "docPartPr")]
15020 #[serde(default, skip_serializing_if = "Option::is_none")]
15021 pub doc_part_pr: Option<Box<CTDocPartPr>>,
15022 #[cfg(feature = "wml-settings")]
15023 #[serde(rename = "docPartBody")]
15024 #[serde(default, skip_serializing_if = "Option::is_none")]
15025 pub doc_part_body: Option<Box<Body>>,
15026 #[cfg(feature = "extra-children")]
15028 #[serde(skip)]
15029 #[cfg(feature = "extra-children")]
15030 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15031}
15032
15033#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15034pub struct CTDocParts {
15035 #[cfg(feature = "wml-settings")]
15036 #[serde(rename = "docPart")]
15037 #[serde(default, skip_serializing_if = "Vec::is_empty")]
15038 pub doc_part: Vec<CTDocPart>,
15039 #[cfg(feature = "extra-children")]
15041 #[serde(skip)]
15042 #[cfg(feature = "extra-children")]
15043 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15044}
15045
15046pub type WSettings = Box<Settings>;
15047
15048pub type WWebSettings = Box<CTWebSettings>;
15049
15050pub type WFonts = Box<CTFontsList>;
15051
15052pub type WNumbering = Box<Numbering>;
15053
15054pub type WStyles = Box<Styles>;
15055
15056#[derive(Debug, Clone, Serialize, Deserialize)]
15057pub struct CTCaption {
15058 #[cfg(feature = "wml-settings")]
15059 #[serde(rename = "@w:name")]
15060 pub name: STString,
15061 #[cfg(feature = "wml-settings")]
15062 #[serde(rename = "@w:pos")]
15063 #[serde(default, skip_serializing_if = "Option::is_none")]
15064 pub pos: Option<STCaptionPos>,
15065 #[cfg(feature = "wml-settings")]
15066 #[serde(rename = "@w:chapNum")]
15067 #[serde(default, skip_serializing_if = "Option::is_none")]
15068 pub chap_num: Option<OnOff>,
15069 #[cfg(feature = "wml-settings")]
15070 #[serde(rename = "@w:heading")]
15071 #[serde(default, skip_serializing_if = "Option::is_none")]
15072 pub heading: Option<STDecimalNumber>,
15073 #[cfg(feature = "wml-settings")]
15074 #[serde(rename = "@w:noLabel")]
15075 #[serde(default, skip_serializing_if = "Option::is_none")]
15076 pub no_label: Option<OnOff>,
15077 #[cfg(feature = "wml-settings")]
15078 #[serde(rename = "@w:numFmt")]
15079 #[serde(default, skip_serializing_if = "Option::is_none")]
15080 pub num_fmt: Option<STNumberFormat>,
15081 #[cfg(feature = "wml-settings")]
15082 #[serde(rename = "@w:sep")]
15083 #[serde(default, skip_serializing_if = "Option::is_none")]
15084 pub sep: Option<STChapterSep>,
15085 #[cfg(feature = "extra-attrs")]
15087 #[serde(skip)]
15088 #[cfg(feature = "extra-attrs")]
15089 #[serde(default)]
15090 #[cfg(feature = "extra-attrs")]
15091 pub extra_attrs: std::collections::HashMap<String, String>,
15092}
15093
15094#[derive(Debug, Clone, Serialize, Deserialize)]
15095pub struct CTAutoCaption {
15096 #[cfg(feature = "wml-settings")]
15097 #[serde(rename = "@w:name")]
15098 pub name: STString,
15099 #[cfg(feature = "wml-settings")]
15100 #[serde(rename = "@w:caption")]
15101 pub caption: STString,
15102 #[cfg(feature = "extra-attrs")]
15104 #[serde(skip)]
15105 #[cfg(feature = "extra-attrs")]
15106 #[serde(default)]
15107 #[cfg(feature = "extra-attrs")]
15108 pub extra_attrs: std::collections::HashMap<String, String>,
15109}
15110
15111#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15112pub struct CTAutoCaptions {
15113 #[cfg(feature = "wml-settings")]
15114 #[serde(rename = "autoCaption")]
15115 #[serde(default, skip_serializing_if = "Vec::is_empty")]
15116 pub auto_caption: Vec<CTAutoCaption>,
15117 #[cfg(feature = "extra-children")]
15119 #[serde(skip)]
15120 #[cfg(feature = "extra-children")]
15121 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15122}
15123
15124#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15125pub struct CTCaptions {
15126 #[cfg(feature = "wml-settings")]
15127 #[serde(rename = "caption")]
15128 #[serde(default, skip_serializing_if = "Vec::is_empty")]
15129 pub caption: Vec<CTCaption>,
15130 #[cfg(feature = "wml-settings")]
15131 #[serde(rename = "autoCaptions")]
15132 #[serde(default, skip_serializing_if = "Option::is_none")]
15133 pub auto_captions: Option<Box<CTAutoCaptions>>,
15134 #[cfg(feature = "extra-children")]
15136 #[serde(skip)]
15137 #[cfg(feature = "extra-children")]
15138 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15139}
15140
15141#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15142pub struct CTDocumentBase {
15143 #[cfg(feature = "wml-styling")]
15144 #[serde(rename = "background")]
15145 #[serde(default, skip_serializing_if = "Option::is_none")]
15146 pub background: Option<Box<CTBackground>>,
15147 #[cfg(feature = "extra-children")]
15149 #[serde(skip)]
15150 #[cfg(feature = "extra-children")]
15151 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15152}
15153
15154#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15155pub struct Document {
15156 #[cfg(feature = "wml-styling")]
15157 #[serde(rename = "background")]
15158 #[serde(default, skip_serializing_if = "Option::is_none")]
15159 pub background: Option<Box<CTBackground>>,
15160 #[serde(rename = "body")]
15161 #[serde(default, skip_serializing_if = "Option::is_none")]
15162 pub body: Option<Box<Body>>,
15163 #[serde(rename = "@w:conformance")]
15164 #[serde(default, skip_serializing_if = "Option::is_none")]
15165 pub conformance: Option<STConformanceClass>,
15166 #[cfg(feature = "extra-attrs")]
15168 #[serde(skip)]
15169 #[cfg(feature = "extra-attrs")]
15170 #[serde(default)]
15171 #[cfg(feature = "extra-attrs")]
15172 pub extra_attrs: std::collections::HashMap<String, String>,
15173 #[cfg(feature = "extra-children")]
15175 #[serde(skip)]
15176 #[cfg(feature = "extra-children")]
15177 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15178}
15179
15180#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15181pub struct CTGlossaryDocument {
15182 #[serde(rename = "background")]
15183 #[serde(default, skip_serializing_if = "Option::is_none")]
15184 pub background: Option<Box<CTBackground>>,
15185 #[cfg(feature = "wml-settings")]
15186 #[serde(rename = "docParts")]
15187 #[serde(default, skip_serializing_if = "Option::is_none")]
15188 pub doc_parts: Option<Box<CTDocParts>>,
15189 #[cfg(feature = "extra-children")]
15191 #[serde(skip)]
15192 #[cfg(feature = "extra-children")]
15193 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15194}
15195
15196pub type WDocument = Box<Document>;
15197
15198pub type WGlossaryDocument = Box<CTGlossaryDocument>;
15199
15200#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15201pub struct WAnyVmlOffice {
15202 #[cfg(feature = "extra-children")]
15204 #[serde(skip)]
15205 #[cfg(feature = "extra-children")]
15206 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15207}
15208
15209#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15210pub struct WAnyVmlVml {
15211 #[cfg(feature = "extra-children")]
15213 #[serde(skip)]
15214 #[cfg(feature = "extra-children")]
15215 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15216}