There are some predefined attributes in every model. Any built-in attribute can be overridden by an explicit attribute definition. Scripts can make use of recursion to access the relations and attributes of supertypes. As I write this, Codegen scripts use a rather ugly, but simple, syntax. Meta-content is the term I use for the commands embedded in scripts to direct the traversal of, and access to, the model.
Scripts begin in literal content by default.
Use whichever is more convenient. Literal content is always copied as-is to the output file, whitespace and all. Meta-content looks more like a normal programming language, and until I write some better documentation, the best advice is to look at the .cgs files included with this project to get an idea of what they can do. For instance, keywords in scripts are all-caps, and attribute names are lowercase. Semgen was developed in October 1998 during my undergraduate thesis project which involved writing a compiler for a language that we were making up as we went along.