Module: Lutaml::Xml::Adapter::NamespaceUriCollector

Included in:
BaseAdapter
Defined in:
lib/lutaml/xml/adapter/namespace_uri_collector.rb

Overview

Collects original namespace URIs from a model tree for namespace alias support.

When parsing XML with alias URIs (e.g., “http://…/”) against a namespace class with canonical URI (e.g., “…/reqif.xsd”), the original alias URI is stored on the model instance as @__xml_original_namespace_uri. This module collects all such mappings from the model tree.

Instance Method Summary collapse

Instance Method Details

#collect_original_namespace_uris(model, mapping = nil) ⇒ Hash<String, String>

Returns Mapping of canonical URI => original alias URI.

Parameters:

  • model (Object)

    the model instance to walk

  • mapping (Xml::Mapping, nil) (defaults to: nil)

    the mapping for the model

Returns:

  • (Hash<String, String>)

    Mapping of canonical URI => original alias URI



16
17
18
19
20
21
22
# File 'lib/lutaml/xml/adapter/namespace_uri_collector.rb', line 16

def collect_original_namespace_uris(model, mapping = nil)
  original_uris = {}
  return original_uris unless model

  collect_from_model(model, mapping, original_uris, Set.new)
  original_uris
end