docx_rs/documents/
xml_docx.rs

1use super::XMLDocProps;
2
3use crate::zipper;
4use std::io::prelude::*;
5use std::io::Seek;
6
7#[derive(Debug)]
8pub struct XMLDocx {
9    pub content_type: Vec<u8>,
10    pub rels: Vec<u8>,
11    pub doc_props: XMLDocProps,
12    pub styles: Vec<u8>,
13    pub document: Vec<u8>,
14    pub comments: Vec<u8>,
15    pub document_rels: Vec<u8>,
16    pub settings: Vec<u8>,
17    pub font_table: Vec<u8>,
18    pub numberings: Vec<u8>,
19    pub media: Vec<(String, Vec<u8>)>,
20    pub headers: Vec<Vec<u8>>,
21    pub header_rels: Vec<Vec<u8>>,
22    pub footers: Vec<Vec<u8>>,
23    pub footer_rels: Vec<Vec<u8>>,
24    pub comments_extended: Vec<u8>,
25    pub taskpanes: Option<Vec<u8>>,
26    pub taskpanes_rels: Vec<u8>,
27    pub web_extensions: Vec<Vec<u8>>,
28    pub custom_items: Vec<Vec<u8>>,
29    pub custom_item_rels: Vec<Vec<u8>>,
30    pub custom_item_props: Vec<Vec<u8>>,
31    pub footnotes: Vec<u8>,
32}
33
34impl XMLDocx {
35    pub fn pack<W>(self, w: W) -> zip::result::ZipResult<()>
36    where
37        W: Write + Seek,
38    {
39        zipper::zip(w, self)
40    }
41}