Lumley, John William (2012) Documents as functions. PhD thesis, University of Nottingham.
Treating variable data documents as functions over their data bindings opens opportunities for building more powerful, robust and flexible document architectures to meet the needs arising from the confluence of developments in document engineering, digital printing technologies and marketing analysis.
This thesis describes a combination of several XML-based technologies both to represent and to process variable documents and their data, leading to extensible, high-quality and 'higher-order' document generation solutions. The architecture (DDF) uses XML uniformly throughout the documents and their processing tools with interspersing of different semantic spaces being achieved through namespacing.
An XML-based functional programming language (XSLT) is used to describe all intra-document variability and for implementing most of the tools. Document layout intent is declared within a document as a hierarchical set of combinators attached to a tree-based graphical presentation. Evaluation of a document bound to an instance of data involves using a compiler to create an executable from the document, running this with the data instance as argument to create a new document with layout intent described, followed by resolution of that layout by an extensible layout processor.
The use of these technologies, with design paradigms and coding protocols, makes it possible to construct documents that not only have high flexibility and quality, but also perform in higher-order ways. A document can be partially bound to data and evaluated, modifying its presentation and still remaining variably responsive to future data. Layout intent can be re-satisfied as presentation trees are modified by programmatic sections embedded within them. The key enablers are described and illustrated through example.
|Item Type:||Thesis (PhD)|
|Uncontrolled Keywords:||Document construction; XML; SVG; XSLT; functional programming|
|Faculties/Schools:||UK Campuses > Faculty of Science > School of Computer Science|
|Deposited By:||Dr John Lumley|
|Deposited On:||27 Sep 2012 10:42|
|Last Modified:||27 Sep 2012 10:42|
Archive Staff Only: item control page