9. The method of claim 1 , wherein the query is performed on a collection of XML documents stored in a database system; wherein the query is expressed using XML constructs; wherein one or more elements of each document of the collection of XML documents is stored in a column of a relational database table; and the method further comprising re-writing the query using relational database constructs.
9. The method of claim 1 , wherein the query is performed on a collection of XML documents stored in a database system; wherein the query is expressed using XML constructs; wherein one or more elements of each document of the collection of XML documents is stored in a column of a relational database table; and the method further comprising re-writing the query using relational database constructs. 10. The method of claim 9 , further comprising: in response to determining that the query contains an XML construct for which there is no equivalent relational construct, determining that functional evaluation of a particular XML fragment cannot be avoided; wherein functional evaluation of the particular XML fragment comprises constructing the particular XML fragment as an in-memory tree structure and performing navigation on the in-memory tree structure; storing as a factor in association with a functional evaluation operator an indication that no relational operator can express the XML construct.