class Lutaml::Model::Xml::Mapping

def map_element(

rubocop:disable Metrics/ParameterLists
def map_element(
  name,
  to: nil,
  render_nil: false,
  render_default: false,
  render_empty: false,
  treat_nil: :nil,
  treat_empty: :empty,
  treat_omitted: :nil,
  with: {},
  delegate: nil,
  cdata: false,
  polymorphic: {},
  namespace: (namespace_set = false
              nil),
  prefix: (prefix_set = false
           nil),
  transform: {},
  value_map: {}
)
  validate!(
    name, to, with, render_nil, render_empty, type: TYPES[:element]
  )
  rule = MappingRule.new(
    name,
    to: to,
    render_nil: render_nil,
    render_default: render_default,
    render_empty: render_empty,
    treat_nil: treat_nil,
    treat_empty: treat_empty,
    treat_omitted: treat_omitted,
    with: with,
    delegate: delegate,
    cdata: cdata,
    namespace: namespace,
    default_namespace: namespace_uri,
    prefix: prefix,
    polymorphic: polymorphic,
    namespace_set: namespace_set != false,
    prefix_set: prefix_set != false,
    transform: transform,
    value_map: value_map,
  )
  @elements[rule.namespaced_name] = rule
end