Tree-sheets and structured documents
For data to be used effectively, it needs to be structured and annotated to make it amenable to machine processing. The Web Consortium's XML markup language promises to allow this, and increasing quantities of data are now available in the format. XML's support for namespacing allows information from diverse data sources to be combined and communicated reliably, making XML the keystone of the emerging Semantic Web. Rather than searching the web by giving a number of text strings which pages must contain, as is common now, this semantically enriched web will allow searches on precisely specified concepts, identified by the page's meta-data. Inferencing engines can be applied to this web of formally expressed facts, so that searches return information which has been deduced from the knowledge on the web, without it having been stated explicitly. There is a strong need for tools that provide flexible ways to create and manipulate XML documents. Just as the usefulness of having scientific data available in computer-readable CSV (comma separated values) format is greatly enhanced by the existence of the spreadsheet, so this new XML-based data requires a new general purpose end-user processing tool. XML is a tree-structured format, and we propose in this thesis the tree-sheet: a general purpose end-user tool for the manipulation of tree structured data. In this thesis we present Dome, our implementation of a tree-sheet. Dome is operated through a familiar direct manipulation style interface, with a `record' mode being used to create programs. Programming features such as looping and conditional execution are also created while editing samples of actual data, making them easier to comprehend. We demonstrate several uses for Dome, including web harvesting, web page creation and visual programming.