This project's aim is to create an object-oriented database system for which the data definition language, query language, query results, and persistent data storage are all implemented in XML. The starting point for the system's view of data and queries is the relational model, and it aims to provide at least the expressiveness of languages based on the relational algebra/calculus. However, the object-oriented design of the system will hopefully make some data relationships and queries more easily expressible than in such a system. As an increasingly agreed-upon format for data exchange, and a language that has been shown in various applictions to be able to describe other XML content, XML is an ideal choice for a language that is meant to describe all implementation-independent aspects of the system. In addition, as a semi-structured and hierarchical language, XML has various features that make it well-suited to object-oriented data description. The system is designed from scratch, so that there is no need to restrict its capabilities by a need to map a portion of this XML into an existing system's paradigm for storage, query execution, etc., as has been the approach of some published XML-based database systems. This project explores both the theory/design of this system, and implementation details. Java implementation(s) of the system will be a major portion of the project, to explore algorithmic issues raised by the design of the system and to evaluate the actual performance of this system on real data.