From 0e6ab1b64828a7f1bd2020e52930a10ed8f3b281 Mon Sep 17 00:00:00 2001 From: Daniel Gallups <44790295+dsgallups@users.noreply.github.com> Date: Thu, 11 Apr 2024 11:50:23 -0400 Subject: [PATCH] fix: add `w:caps` property to to `w:rPr` element (#703) * fix: add `w:caps` property to to `w:rPr` element * fix: use `val` xml attr on `w:caps` element --- docx-core/src/documents/elements/caps.rs | 9 +++++++++ docx-core/src/documents/elements/run_property.rs | 1 + docx-core/src/xml_builder/elements.rs | 2 ++ 3 files changed, 12 insertions(+) diff --git a/docx-core/src/documents/elements/caps.rs b/docx-core/src/documents/elements/caps.rs index 8da7ba2..cbdce33 100644 --- a/docx-core/src/documents/elements/caps.rs +++ b/docx-core/src/documents/elements/caps.rs @@ -1,5 +1,7 @@ use serde::{Deserialize, Serialize, Serializer}; +use crate::{xml_builder::XMLBuilder, BuildXML}; + // use crate::documents::BuildXML; // use crate::xml_builder::*; @@ -33,3 +35,10 @@ impl Serialize for Caps { serializer.serialize_bool(self.val) } } + +impl BuildXML for Caps { + fn build(&self) -> Vec { + let b = XMLBuilder::new(); + b.caps(&self.val.to_string()).build() + } +} diff --git a/docx-core/src/documents/elements/run_property.rs b/docx-core/src/documents/elements/run_property.rs index 7503787..cccc043 100644 --- a/docx-core/src/documents/elements/run_property.rs +++ b/docx-core/src/documents/elements/run_property.rs @@ -165,6 +165,7 @@ impl BuildXML for RunProperty { .add_optional_child(&self.color) .add_optional_child(&self.bold) .add_optional_child(&self.bold_cs) + .add_optional_child(&self.caps) .add_optional_child(&self.italic) .add_optional_child(&self.italic_cs) .add_optional_child(&self.strike) diff --git a/docx-core/src/xml_builder/elements.rs b/docx-core/src/xml_builder/elements.rs index 61911ac..83c586a 100644 --- a/docx-core/src/xml_builder/elements.rs +++ b/docx-core/src/xml_builder/elements.rs @@ -179,6 +179,8 @@ impl XMLBuilder { closed!(b, "w:b"); closed!(b_cs, "w:bCs"); + closed_with_str!(caps, "w:caps"); + closed!(i, "w:i"); closed!(i_cs, "w:iCs");