THL Toolbox > Developers' Zone > THL Database Technologies and Models > Gazetteer Technical Documentation > Gazetteer Technology Overview
Contributor(s): Dan Haig
Implementation of the 1.0 version of the Gazetteer has required the development of a raft of technologies, all of which are new to at least some of the THL staff and/or UVa Library IT staff. This page attempts to spell out briefly how we are using these various technologies today and why such choices were made.
Since its inception, the Gazetteer's data for publishing via the Web has been in the form of XML (leaving aside for now how it gets into that form). The tools for publishing the XML have continued to change, as has the form of the XML and the Document Type Definition that regulates the form of the XML.
The initial publishing method was a simple Saxon transformation that pushed the XML through an XSL stylesheet to generate the XHTML web page for the browse hierarchy. A perl script was used for searching and displaying results. Also, the Gazetteer records were all contained in a single giant XML file, but they were broken into individual files, one per Feature ID, before the attempt to convert the Gazetteer data into an eXist database.
The decision to convert the flat XML Feature files into similarly discreet entries in an eXist database was made in the Fall of 2005, as part of an effort to retool the Gazetteer using all XML native technologies, including XQuery for querying the eXist database, and XForms for data input into the eXist database. The application that was developed worked fairly well on the development server, but failed spectacularly and terminally when ported to the production environment in August of 2006. The production server could not be maximized to the extent necessary for the eXist database to be effectively queried in real time. Rather, it crashed the Tomcat web container that supported the application (as well as large portions of the thdl.org site).