   "Returns Override XML tag node of given resource information map.
   Called by content-types-xml."
   [{:keys [content-type part-name]}]
-  {:tag :Override
-   :attrs {:ContentType content-type
-           :PartName part-name}})
+  (node :Override {:ContentType content-type
+                   :PartName part-name}))
 
 (defn content-types-xml
   "Creates XML data for [Content_Types].xml file in DOCX package.

   :xmlns:w "http://schemas.openxmlformats.org/wordprocessingml/2006/main"})

(def ^:const ^{:private true} default-content-types
  [(node :Default
         {:Extension "rels"
          :ContentType "application/vnd.openxmlformats-package.relationships+xml"})
   (node :Override
         {:ContentType "application/vnd.openxmlformats-officedocument.extended-properties+xml"
          :PartName "/docProps/app.xml"})
   (node :Override
         {:ContentType "application/vnd.openxmlformats-package.core-properties+xml"
          :PartName "/docProps/core.xml"})
   (node :Override
         {:ContentType "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"
          :PartName "/word/document.xml"})])

(def ^:const ^{:private true} default-styles
  [(node :w:style
         {:w:type "paragraph" :w:styleId "a" :w:default "true"}
         [(node :w:name {:w:val "Normal"})
          (node :w:qFormat)
          (node :w:pPr
                {}
                [(node :w:widowControl {:w:val "false"})
                 (node :w:wordWrap {:w:val "false"})
                 (node :w:autoSpaceDE {:w:val "false"})
                 (node :w:autoSpaceDN {:w:val "false"})
                 (node :w:jc {:w:val "both"})])])
   (node :w:style
         {:w:type "character" :w:styleId "a0" :w:default "true"}
         [(node :w:name {:w:val "Default Paragraph Font"})
          (node :w:uiPriority {:w:val "1"})
          (node :w:semiHidden)
          (node :w:unhideWhenUsed)])
   (node :w:style
         {:w:type "table" :w:styleId "a1" :w:default "true"}
         [(node :w:name {:w:val "Normal Table"})
          (node :w:uiPriority {:w:val "99"})
          (node :w:semiHidden)
          (node :w:unhideWhenUsed)
          (node :w:qFormat)
          (node :w:tblPr
                {}
                [(node :w:tblInd {:w:w "0" :w:type "dxa"})
                 (node :w:tblCellMar
                       {}
                       [(node :w:top {:w:w "0" :w:type "dxa"})
                        (node :w:left {:w:w "108" :w:type "dxa"})
                        (node :w:bottom {:w:w "0" :w:type "dxa"})
                        (node :w:right {:w:w "108" :w:type "dxa"})])])])
   (node :w:style
         {:w:type "numbering" :w:styleId "a2" :w:default "true"}
         [(node :w:name {:w:val "No List"})
          (node :w:uiPriority {:w:val "99"})
          (node :w:semiHidden)
          (node :w:unhideWhenUsed)])])

(defn when-v-node
  "Returns an XML tag node when the value exists."


  Note that resources should be created by make-resources."
  [resources]
  (node :Relationships relationships-xmlns
        (map rels resources)))

(defn table
  "Returns XML tag node of table.
