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