Output callbacks
There are cases where we want any plugin to contribute to a chunk of the output of any given page. We want this to be loosely coupled so you don't have say an admin tool's code leaking into your theme. There are a variety of callbacks which enable any plugin to add or modify certain parts of the output and at certain stages in the rendering process.
add_htmlattributes
This is used to append extra attributes into the html element of the page which are required elsewhere. An example might be a facebook block plugin which uses the opengraph js libraries which need the xml namespace to be setup. It should return an array of attribute key and values like this:
function tool_facebook_add_htmlattributes() {
return array(
'xmlns:og' => 'http://ogp.me/ns#', # this should be in the page
);
}
before_http_headers
before_standard_html_head
An better API alternative to appending to $CFG->additionalhtmlhead