eXcelon provides two types of indexes - value indexes and text indexes. The query facility uses value indexes when it compares values, while using text indexes when it searches text. What is an Index? You define an index on an element of an XML document. If you invoke a query that compares elements and you previously defined value indexes on those elements, eXcelon uses the value indexes when it executes the query. If you invoke a query that searches for text, and you previously defined text indexes on the elements being searched, eXcelon uses the text indexes to execute the query. What makes up an index? An index is made up of the * Index element. eXcelon uses the index element to define the collection or set of elements you want the query to return. for example, if you write a query that returns some set of books, /bookstore/book is the index element. If the query returns some set of authors, /bookstore/book/author is the index element. * Index key. The index key specifies a path from the index element to a subelement or an attribute. eXcelon uses the index key to sort the set identified by the index element; for example, all books with a specific author or all magazine articles with a certain word in the title. In addition to an index element and index key, * A value index includes a data type. * A text index includes option settings and a tokenizer.