Class: Lutaml::Xml::NamespaceResolutionStrategy
- Inherits:
-
Object
- Object
- Lutaml::Xml::NamespaceResolutionStrategy
- Defined in:
- lib/lutaml/xml/namespace_resolution_strategy.rb
Overview
Strategy for resolving namespace for an XML element
Encapsulates the logic for determining:
-
Whether element should use prefix
-
Which prefix to use
-
Which namespace URI applies
-
Whether xmlns=“” should be explicitly added
This is created by DeclarationPlanner and stored in DeclarationPlan for execution by adapters.
Direct Known Subclasses
BlankNamespaceStrategy, ExplicitNamespaceStrategy, InheritedNamespaceStrategy, SchemaQualifiedStrategy, TypeNamespaceStrategy
Instance Attribute Summary collapse
-
#namespace_uri ⇒ Object
readonly
Returns the value of attribute namespace_uri.
-
#prefix ⇒ Object
readonly
Returns the value of attribute prefix.
-
#requires_blank_xmlns ⇒ Object
readonly
Returns the value of attribute requires_blank_xmlns.
-
#use_prefix ⇒ Object
readonly
Returns the value of attribute use_prefix.
Instance Method Summary collapse
-
#initialize(use_prefix:, prefix: nil, namespace_uri: nil, requires_blank_xmlns: false) ⇒ NamespaceResolutionStrategy
constructor
Initialize the strategy with namespace resolution info.
-
#resolve ⇒ Hash
Returns namespace info ready for adapter use.
Constructor Details
#initialize(use_prefix:, prefix: nil, namespace_uri: nil, requires_blank_xmlns: false) ⇒ NamespaceResolutionStrategy
Initialize the strategy with namespace resolution info
30 31 32 33 34 35 36 |
# File 'lib/lutaml/xml/namespace_resolution_strategy.rb', line 30 def initialize(use_prefix:, prefix: nil, namespace_uri: nil, requires_blank_xmlns: false) @use_prefix = use_prefix @prefix = prefix @namespace_uri = namespace_uri @requires_blank_xmlns = requires_blank_xmlns end |
Instance Attribute Details
#namespace_uri ⇒ Object (readonly)
Returns the value of attribute namespace_uri.
22 23 24 |
# File 'lib/lutaml/xml/namespace_resolution_strategy.rb', line 22 def namespace_uri @namespace_uri end |
#prefix ⇒ Object (readonly)
Returns the value of attribute prefix.
22 23 24 |
# File 'lib/lutaml/xml/namespace_resolution_strategy.rb', line 22 def prefix @prefix end |
#requires_blank_xmlns ⇒ Object (readonly)
Returns the value of attribute requires_blank_xmlns.
22 23 24 |
# File 'lib/lutaml/xml/namespace_resolution_strategy.rb', line 22 def requires_blank_xmlns @requires_blank_xmlns end |
#use_prefix ⇒ Object (readonly)
Returns the value of attribute use_prefix.
22 23 24 |
# File 'lib/lutaml/xml/namespace_resolution_strategy.rb', line 22 def use_prefix @use_prefix end |
Instance Method Details
#resolve ⇒ Hash
Returns namespace info ready for adapter use
41 42 43 44 45 46 47 48 |
# File 'lib/lutaml/xml/namespace_resolution_strategy.rb', line 41 def resolve { use_prefix: @use_prefix, prefix: @prefix, uri: @namespace_uri, requires_blank_xmlns: @requires_blank_xmlns, } end |