@Pascal
Because every class that inherit from rml_parse, it's inheriting the __init__ method too, and if that class does not override the __init__ method it will be called or also like the case of Overdue class it's calling the super
super(Overdue, self).__init__(cr, uid, name, context=context)
The __init__ method of the rml_parse creates the localecontext with this code:
self.localcontext = {
'user': user,
'setCompany': self.setCompany,
'repeatIn': self.repeatIn,
'setLang': self.setLang,
'setTag': self.setTag,
'removeParentNode': self.removeParentNode,
'format': self.format,
'formatLang': self.formatLang,
'lang' : user.company_id.partner_id.lang,
'translate' : self._translate,
'setHtmlImage' : self.set_html_image,
'strip_name' : self._strip_name,
'time' : time,
'display_address': self.display_address,
# more context members are setup in setCompany() below:
# - company_id
# - logo
}
So after the super call, self.localcontext exist. The rml_parse class it's defined in your /openerp/report/report_sxw.py file