# File lib/marc/xmlreader.rb, line 96
    def self.best_available
      parser = nil
      jruby = [USE_JSTAX, USE_NOKOGIRI, USE_JREXML]
      ruby = [USE_NOKOGIRI, USE_LIBXML]
      if defined? JRUBY_VERSION
        begin
          java.lang.Class.forName("javax.xml.stream.XMLInputFactory")
          parser = USE_JSTAX
        rescue java.lang.ClassNotFoundException
        end
        unless parser
          begin
            require 'nokogiri'
            parser = USE_NOKOGIRI              
          rescue LoadError
          end
        end
        unless parser
          begin
            require 'jrexml'
            parser = USE_JREXML    
          rescue LoadError                        
          end
        end              
      else
        begin
          require 'nokogiri'
          parser = USE_NOKOGIRI        
        rescue LoadError          
        end
        unless parser
          begin
            require 'xml'
            parser = USE_LIBXML
          rescue LoadError
          end
        end        
      end
      parser = USE_REXML unless parser
      parser
    end