1. A computer-implemented method of creating a document comprising: receiving, by a computer, a request to create a document, the request comprising at least a document type; creating, by the computer, a primary data object (“PDO”); associating, by the computer, the PDO with a document schema corresponding to the document type, the document schema comprising information relating to allowable node data object types and allowable node data object relationships; receiving, by the computer, a first metadata data object comprising document-type dependent information; associating, by the computer, the first metadata data object with the PDO; receiving, by the computer, a node data object comprising type, content, and relationship information; determining, by the computer, the received node data object is allowed, based on the document schema and the type and relationship information of the received node data object; associating, by the computer, the received node data object with the PDO; selecting, by the computer, a document template, based on the document type; and creating, by the computer, a storable document, based on the document template, the PDO, the first metadata data object, and the node data object.
11. A computer-implemented method according to claim 1 , wherein the storable document is an intermediate document, and further comprising interpreting the intermediate document to create a rendered document.