Class: Lutaml::Xml::SchemaQualifiedStrategy

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

Overview

Strategy for elements qualified by schema’s element_form_default

Used when element inherits parent namespace due to schema’s ‘element_form_default: :qualified` setting (not explicit directive).

CRITICAL DIFFERENCE from InheritedNamespaceStrategy:

  • InheritedNamespaceStrategy: explicit ‘namespace: :inherit` directive

  • SchemaQualifiedStrategy: implicit qualification from schema default

Both inherit parent’s namespace AND prefix format (presentation).

Examples:

Schema-qualified element with parent using prefix

class ParentNamespace < Lutaml::Xml::W3c::XmlNamespace
  uri "http://example.com"
  prefix_default "ex"
  element_form_default :qualified
end

<ex:parent xmlns:ex="http://example.com">
  <ex:child>value</ex:child>  <!-- inherits prefix from schema default -->
</ex:parent>

Schema-qualified element with parent using default

<parent xmlns="http://example.com">
  <child>value</child>  <!-- inherits default namespace from schema -->
</parent>

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(parent_ns_decl) ⇒ SchemaQualifiedStrategy

Initialize from parent namespace declaration

Parameters:



176
177
178
179
180
181
182
# File 'lib/lutaml/xml/namespace_resolution_strategy.rb', line 176

def initialize(parent_ns_decl)
  super(
    use_prefix: parent_ns_decl.prefix_format?,
    prefix: parent_ns_decl.prefix,
    namespace_uri: parent_ns_decl.uri
  )
end