See [wiki:Documentation/builder.html Generating Markup Programmatically]