X-Query was designed as a query language for XML data. The goal was to provide the expressive power of a query language like SQL and to support XML-specific operations such as navigation in hierarchical data. From the very beginning, an important feature of X-Query has been the capability to process untyped data. It can be concluded that X-Query tries to combine the features of existing programming languages like SQL, Java, or even PHP. X-Query allows implementing sophisticated applications in a single tier and with a single uniform technology, thereby avoiding impedance mismatches and improving flexibility and customizability.