This commit is contained in:
@@ -21,24 +21,38 @@ module Ezdoc
|
||||
|
||||
class DocumentRelationships
|
||||
NAMESPACE = "http://schemas.openxmlformats.org/package/2006/relationships"
|
||||
STYLES_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"
|
||||
NUMBERING_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering"
|
||||
IMAGE_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"
|
||||
|
||||
def initialize(has_numbering: false, images: [])
|
||||
def initialize(has_numbering: false, images: [], has_styles: false)
|
||||
@has_numbering = has_numbering
|
||||
@images = images
|
||||
@has_styles = has_styles
|
||||
end
|
||||
|
||||
def to_xml
|
||||
builder = Nokogiri::XML::Builder.new(encoding: "UTF-8") do |xml|
|
||||
xml.Relationships(xmlns: NAMESPACE) do
|
||||
if @has_numbering
|
||||
# rId1 = styles.xml (always first when present)
|
||||
if @has_styles
|
||||
xml.Relationship(
|
||||
Id: "rId1",
|
||||
Type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",
|
||||
Type: STYLES_TYPE,
|
||||
Target: "styles.xml"
|
||||
)
|
||||
end
|
||||
|
||||
# rId2 = numbering.xml (if lists present)
|
||||
if @has_numbering
|
||||
xml.Relationship(
|
||||
Id: "rId2",
|
||||
Type: NUMBERING_TYPE,
|
||||
Target: "numbering.xml"
|
||||
)
|
||||
end
|
||||
|
||||
# Images start at rId2 or rId3 depending on numbering
|
||||
@images.each do |image|
|
||||
xml.Relationship(
|
||||
Id: image.rid,
|
||||
|
||||
Reference in New Issue
Block a user