Represents the presence of a Document Type declaration within a template. The Document type declaration will be
output to the client. In the event that multiple declarations are encountered (a page and one or more nested
components all declare a document type), the first document type declared will be used.
Invoked on an object to request that it render itself. This involves a mix of invoking methods on the writer, and
queueing up additional commands (often, representing children of the object that was invoked) to perform
In this way, rendering is a tail recursive algorithm, but is not implemented using tail recursion.