Class: Lutaml::Xml::Decisions::Rules::AttributeUsageRule

Inherits:
DecisionRule
  • Object
show all
Defined in:
lib/lutaml/xml/decisions/rules/attribute_usage_rule.rb

Overview

Priority 4: W3C rule - namespace used in attributes

Namespaces used in attributes REQUIRE prefix format (W3C constraint: only one default namespace per element)

Instance Method Summary collapse

Methods inherited from DecisionRule

#<=>, #name

Instance Method Details

#applies?(context) ⇒ Boolean

Applies when namespace is used in attributes

Returns:

  • (Boolean)


19
20
21
22
23
# File 'lib/lutaml/xml/decisions/rules/attribute_usage_rule.rb', line 19

def applies?(context)
  return false unless context.has_namespace?

  context.used_in_attributes?
end

#decide(context) ⇒ Object

Decision: MUST use prefix format (W3C rule)



26
27
28
29
30
31
32
# File 'lib/lutaml/xml/decisions/rules/attribute_usage_rule.rb', line 26

def decide(context)
  Decision.prefix(
    prefix: context.namespace_class.prefix_default,
    namespace_class: context.namespace_class,
    reason: "Priority 4: W3C rule - namespace used in attributes requires prefix",
  )
end

#priorityObject

Priority 4



14
15
16
# File 'lib/lutaml/xml/decisions/rules/attribute_usage_rule.rb', line 14

def priority
  4
end