lib/openxml/docx/parts/document.rb in openxml-docx-0.9.0 vs lib/openxml/docx/parts/document.rb in openxml-docx-0.10.0
- old
+ new
@@ -1,11 +1,16 @@
module OpenXml
module Docx
module Parts
class Document < OpenXml::Part
+ include RootNamespaces
+
attr_reader :children, :current_section
+ use_namespaces :wpc, :mo, :mv, :o, :r, :m, :v, :wp14, :wp, :w10, :w14, :wpg, :wpi, :wne, :wps, :w, :mc, :a14, :pic
+ can_ignore :w14, :wp14, :a14
+
def initialize
@children = []
end
def <<(child)
@@ -26,39 +31,16 @@
end
def to_xml
build_xml do |xml|
xml.document(root_namespaces) {
- xml.parent.namespace = xml.parent.namespace_definitions.find { |ns| ns.prefix == "w" }
+ xml.parent.namespace = :w
xml["w"].body {
children.each { |child| child.to_xml(xml) }
current_section.to_xml(xml) unless current_section.nil?
}
}
end
- end
-
- private
-
- def root_namespaces
- { "xmlns:wpc" => 'http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas',
- "xmlns:mo" => 'http://schemas.microsoft.com/office/mac/office/2008/main',
- "xmlns:mv" => 'urn:schemas-microsoft-com:mac:vml',
- "xmlns:o" => 'urn:schemas-microsoft-com:office:office',
- "xmlns:r" => 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',
- "xmlns:m" => 'http://schemas.openxmlformats.org/officeDocument/2006/math',
- "xmlns:v" => 'urn:schemas-microsoft-com:vml',
- "xmlns:wp14" => 'http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing',
- "xmlns:wp" => 'http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing',
- "xmlns:w10" => 'urn:schemas-microsoft-com:office:word',
- "xmlns:w14" => 'http://schemas.microsoft.com/office/word/2010/wordml',
- "xmlns:wpg" => 'http://schemas.microsoft.com/office/word/2010/wordprocessingGroup',
- "xmlns:wpi" => 'http://schemas.microsoft.com/office/word/2010/wordprocessingInk',
- "xmlns:wne" => 'http://schemas.microsoft.com/office/word/2006/wordml',
- "xmlns:wps" => 'http://schemas.microsoft.com/office/word/2010/wordprocessingShape',
- "xmlns:w" => "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
- "xmlns:mc" => "http://schemas.openxmlformats.org/markup-compatibility/2006",
- "mc:Ignorable" => "w14 wp14" }
end
end
end
end