Matt Sergeant

OK, here's some things we need to support:

/bar/foo (contents of foo element beneeth the bar root element)

author (contents of author element after previous query - if prev query was relative, look at same level, otherwise look at child of previous)

/myroot (any text at start of root element)

//author (contents of author elements anywhere within XML)

book[/bookstore/author/@genre != @genre] (a book relative query, where the author's genre attribute is not the same as the book's genre. The /bookstore/authors MUST be in the same hierarchy as the book element. i.e. the following XML will not result in a hit:

<bookstore> <author genre="horror"> <name>Stephen King</name> </author> <book genre="comedy"> <name>Blott on the Landscape</name> </book> </bookstore>

Whereas the following would:

<bookstore> <author genre="horror"> <name>Stephen King</name> <book genre="sci-fi"> <name>The Running Man</name> </book> </author> </bookstore>

This is simply a restriction of this module - not of XQL. Normally XQL would be fine with that query. Sorry)

book/@genre (contents of genre attribute on the book element)

/bookstore//title (contents of title element that is a descendant of bookstore)

/bookstore/*/title (contents of title element that is a grandchild (and no deeper) of bookstore)

/bookstore//book/excerpt//emph (work it out <g>)

.//title (relative query - dot needed because we have the preceeding //)

author/* (all author's children - returns element names?)

*[@speciality] (contents of all elements with a speciality attribute)

==========

Specific things we don't support:

author[degree and publication] (contents of author elements that have a degree and publication child)

ne and eq for != and = respectively. Why bother.

Content comparisons (only attribute comparisons supported)