GPlate is a template engine written in C using glib and the GObject system. It was started due to the inability to find a template engine that was GPL compatible and callable from C. Since these requirements couldn't be met, I (Gary Kramlich), decided to write my own that was easier to use in applications that are already using glib.
The idea behind gplate is to be extendable by the applications using it so that it can fit whatever you needs may arise. You can customize the tags and the functions bound to them. You can also create easily your own functions and variables.