Driving templates with metadata

Metadata is the input that customizes a template's output, and it's how users interact with your templates. CodeSmith Generator lets you use many kinds of metadata, each exposed as a template property:

Page Metadata source
Using .NET types Any .NET type, such as String, Boolean or an enumeration.
Using SchemaExplorer Databases: tables, views, columns, commands and their extended properties.
XML support XML files, with a strongly typed object model when you supply an XSD schema.
Custom metadata sources Your own types, with custom editors and property set support.
Generating from source code Existing C# or Visual Basic code, parsed with CodeFileParser.