Anastasia home

What is Anastasia?

Anastasia is designed for the publication of large, highly-complex XML documents and document collections. It has been developed in the context of academic electronic publication, particularly of scholarly editions of texts in many versions. However, it can be used for publication of any texts encoded in XML (and SGML, also).

The philosophy behind Anastasia is simple. You should be able to extract any section of any XML document and publish it any way you like. Regardless of where you are in a document, you should be able to move to any other part of the document; to retrieve any other part of it; to publish it any way you like. This is particularly useful where you have complex XML and wish to retrieve elements from many parts of the document and amalgamate them into a single display. See also "How Anastasia works: the processing model".

You could think of Anastasia as a supercharged XML translation system, which you can use to amalgamate and present the source XML into any format you want. Anastasia is completely aware of the XML structure of your document, and allows you to perform (if you wish) the most complex transformations on it. Further, it is optimized for speed: in microseconds, Anastasia can carry out demanding searches and then use its awareness of the document structure to control exactly how the XML should be presented. As a result, it is suitable for dynamic 'on the fly' publication, selecting and presenting data in response to specific user requests.

Anastasia differs from most (perhaps, all) other XML systems in that it does not just see the document as a set of elements arranged hierarchically, 'from the top down'. It also sees a document as a series of events, arranged one after another. Thus, Anastasia is not bound by an 'element' model. Rather, it can begin processing at any arbitrary point, and carry on to any other arbitrary point, with complete awareness of the document structure and sequence at each point it traverses. As a result, Anastasia can create complex effects such as "Key Word in Context" displays, with appropriate formatting of embedded encoding, which other systems find difficult or impossible. See also "How Anastasia differs from XSLT".

The web version of Anastasia is designed to allow you to make exactly the HTML you want from your XML. Further, you can publish identically on CD-ROM (both Windows and Macintosh systems), on intranet, and over the internet, from the one set of scripts. The web version also gives you complete access to all the tools of the http protocol: the GET and POST methods, forms, host and user information, and more. You can use this information to personalize the pages sent back by Anastasia to the reader -- even, to let the reader decide exactly how the pages should be formatted. Both CD-ROM and web versions give you access to Anastasia's own built-in, fully XML aware search engine.

You control how Anastasia formats your XML through style files, written in the widely-supported and easy to use Tcl (Tool Control Language) system. Because Tcl is a full programming language in its own right, you have many additional tools: you can set up loops, if/then/else and switch/case statements, do string searches and replacements, have global and local variables, look up values in other files and include other files, and much more. Currently (July 2004) in preparation is a database-enabled version of Anastasia, permitting XML data to be loaded into, processed by, and retrived from SQL databases.

You can gain some idea of what Anastasia can do from the demonstration of the Hengwrt Chaucer on Scholarly Digital Editions site. You can see Anastasia running over the web in the Hockliffe catalogue, in the Münster Greek New Testament site, and in the Laures Rare Book catalogue from Sophia University, Tokyo.

There is documentation online to help you get started. The full reference documentation is also online, and you can learn online how to publish a simple TEI Document with Anastasia.