Class: Lutaml::Xml::ExplicitNamespaceStrategy

Inherits:
NamespaceResolutionStrategy show all
Defined in:
lib/lutaml/xml/namespace_resolution_strategy.rb

Overview

Strategy for elements with explicit namespace directive

Used when element has explicit namespace configuration via:

  • ‘namespace: :inherit`

  • ‘namespace: “http://…”, prefix: “pfx”`

  • Element is ‘qualified?` or `unqualified?`

Examples:

Explicit qualification

xml do
  map_element "name", to: :name, namespace: :inherit
end

Instance Attribute Summary

Attributes inherited from NamespaceResolutionStrategy

#namespace_uri, #prefix, #requires_blank_xmlns, #use_prefix

Instance Method Summary collapse

Methods inherited from NamespaceResolutionStrategy

#resolve

Constructor Details

#initialize(ns_decl, mapping_rule) ⇒ ExplicitNamespaceStrategy

Initialize from namespace declaration and mapping rule

Parameters:



202
203
204
205
206
207
208
209
# File 'lib/lutaml/xml/namespace_resolution_strategy.rb', line 202

def initialize(ns_decl, mapping_rule)
  use_prefix = determine_use_prefix(ns_decl, mapping_rule)
  super(
    use_prefix: use_prefix,
    prefix: use_prefix ? ns_decl.prefix : nil,
    namespace_uri: ns_decl.uri
  )
end