class Metanorma::Utils::Log

def current_location(n)

def current_location(n)
  return "" if n.nil?
  return n if n.is_a? String
  return "Asciidoctor Line #{"%06d" % n.lineno}" if n.respond_to?(:lineno) &&
    !n.lineno.nil? && !n.lineno.empty?
  return "XML Line #{"%06d" % n.line}" if n.respond_to?(:line) &&
    !n.line.nil?
  return "ID #{n.id}" if n.respond_to?(:id) && !n.id.nil?
  while !n.nil? &&
      (!n.respond_to?(:level) || n.level.positive?) &&
      (!n.respond_to?(:context) || n.context != :section)
    n = n.parent
    return "Section: #{n.title}" if n&.respond_to?(:context) &&
      n&.context == :section
  end
  "??"
end