class Lutaml::Xml::Error::NamespaceMismatchError

raise NamespaceMismatchError.new(MyType, OtherNamespace)
@example
namespace, but the type’s configured namespace doesn’t match.
This error is raised when attempting to resolve a type in a specific
Raised when a namespace mismatch occurs during type resolution

def default_message

def default_message
  msg = "Namespace mismatch for type #{@type_class.name}: "
  msg += "expected namespace #{@expected_namespace.uri}"
  msg += if @actual_namespace
           ", but type is configured with namespace #{@actual_namespace.uri}"
         else
           ", but type has no namespace configured"
         end
  msg
end

def initialize(type_class, expected_namespace, message: nil)

Parameters:
  • message (String, nil) -- custom error message
  • expected_namespace (Class) -- the expected namespace class
  • type_class (Class) -- the type class being resolved
def initialize(type_class, expected_namespace, message: nil)
  @type_class = type_class
  @expected_namespace = expected_namespace
  @actual_namespace = if type_class.is_a?(Class) && type_class <= Lutaml::Model::Type::Value
                        type_class.namespace_class
                      end
  super(message || default_message)
end