docx_rs/documents/
xml_docx.rs1use 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}