M.Sc. thesis

XPath evaluation using XML schemas rather than XML documents themselves

The thesis I submitted in partial fulfilment of an M.Sc. in Informatics at the University of Edinburgh

In September 2003, as I was nearing the end of my M.Sc. studies at the University of Edinburgh’s School of Informatics, I finished the thesis that was the culmination of six months’ research. Supervised by Dr Henry S Thompson, the thesis concerned itself with XPath and XML Schema, two cutting-edge Web technologies of the time.

You can download the original PDF or you can read the individual chapters online below.


XPath, the XML path language, consists of expressions denoting paths that locate elements or attributes in an XML document tree. As an example, the expression /a//b/c picks out any c attribute of a b element at any depth under an a document root element. But what if the document is constrained by its document type — a DTD or an XML schema — so b elements don’t have c attributes? Or if a elements don’t have b descendents, at any depth? Then evaluation is pointless.

Taking this into consideration, this thesis sets out to evaluate XPath expressions against XML schemas, not against the documents they describe, to determine whether in principle they could be satisfied.

Table of contents

  1. Introduction
  2. Literature review
  3. Materials and methods
  4. Implementation
  5. Analysis
  6. Summary
  7. Appendices
  8. Bibliography

[The process of converting the thesis to HTML is ongoing — MJR.]


I would like to thank Dr Henry Thompson for his help and supervision throughout this project; thanks also to Dr Wenfei Fan of Bell Laboratories for making some suggestions on useful reading matter. On a personal level, this project would not have been possible without the unconditional support from my mother, my father, and Sarah — words cannot express my gratitude. And of course, many thanks to Suzie for proofreading what to her must have been an inordinately dull thesis.


I declare that this thesis was composed by myself, that the work contained herein is my own except where explicitly stated otherwise in the text, and that this work has not been submitted for any other degree or professional qualification except as specified.


If you want to cite this thesis in your work you can use this BibTeX entry:

  title    = {XPath evaluation using XML schemas rather than XML documents themselves},
  author   = {Riggott, Matt},
  school   = {University of Edinburgh},
  month    = {9},
  year     = {2003},
  language = {en-gb},
  url      = {https://www.flother.is/2003/msc/}