Class: Uniword::Ooxml::Relationships::PackageRelationships

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/uniword/ooxml/relationships/package_relationships.rb

Overview

Package-level Relationships root element (for _rels/.rels)

Uses package namespace: http://schemas.openxmlformats.org/package/2006/relationships

Class Method Summary collapse

Class Method Details

.generate_package_relsPackageRelationships

Generates relationship files (.rels) for DOCX packages

Generate package-level .rels file

Historical rId assignment: rId3 = app, rId2 = core, rId1 = document (kept for byte-identical DOTX output).

Returns:



30
31
32
33
34
35
36
37
38
# File 'lib/uniword/ooxml/relationships/package_relationships.rb', line 30

def self.generate_package_rels
  new(
    relationships: [
      package_relationship("rId3", :app_properties),
      package_relationship("rId2", :core_properties),
      package_relationship("rId1", :document),
    ],
  )
end

.package_relationship(rid, key) ⇒ PackageRelationship

Build one package-level relationship from the registry.

Parameters:

  • rid (String)

    relationship ID

  • key (Symbol)

    PartRegistry key

Returns:



45
46
47
48
49
50
51
52
# File 'lib/uniword/ooxml/relationships/package_relationships.rb', line 45

def self.package_relationship(rid, key)
  definition = PartRegistry.find_by_key(key)
  PackageRelationship.new(
    id: rid,
    type: definition.rel_type,
    target: definition.target,
  )
end