# File lib/asciidoctor/section.rb, line 72
  def generate_id
    if @document.attr? 'sectids'
      separator = @document.attr('idseparator', '_')
      # FIXME define constants for these regexps
      base_id = @document.attr('idprefix', '_') + title.downcase.gsub(/&#[0-9]+;/, separator).
          gsub(/\W+/, separator).tr_s(separator, separator).chomp(separator)
      gen_id = base_id
      cnt = 2
      while @document.references[:ids].has_key? gen_id 
        gen_id = "#{base_id}#{separator}#{cnt}" 
        cnt += 1
      end 
      gen_id
    else
      nil
    end
  end