class Nokogiri::XML::SAX::Parser

def setup_lambdas

def setup_lambdas
  @closures = {} # we need to keep references to the closures to avoid GC
  [ :startDocument, :endDocument, :startElement, :endElement, :characters,
    :comment, :warning, :error, :cdataBlock, :startElementNs, :endElementNs ].each do |sym|
    @closures[sym] = lambda { |*args| send("__internal__#{sym}", *args) } # "i'm your private dancer", etc.
  end
  @closures.each { |k,v| cstruct[k] = v }
  cstruct[:initialized] = Nokogiri::LibXML::XmlSaxHandler::XML_SAX2_MAGIC
end