Tuesday, October 23, 2007

XQuery: The Search Language For A Multi-Platform Future

The advent of wireless internet access has made web design a very complicated matter. Previously, all web browsers were created equal. HTML was the only language used to create web sites, and it was only possible to go online with a desktop PC.


Since the turn of the century, cyberspace has changed. It is now possible to surf the world wide web using a wide variety of wireless gadgets, such as cell phones, palm tops, laptops, computer screens in automobiles, etc. As a result, new programming languages and specifications that are more versatile than HTML have evolved to create websites that can be displayed on the new web browsers utilized by these various devices.


Languages such as XML, XHTML, XSL, and a host of other programming innovations were developed because web sites coded in basic HTML were not being displayed properly on the browsers installed on all these neat gadgets. XML is a language that enables data to be displayed across all platforms because XML is a simple text file that merely defines data, it does not tell the web browser how to display the data. XSL and XHTML were created so that XML could be transformed into a web page.


Now that you have a basic understanding of how and why programming has changed, you are ready for a brief introduction to the main topic of this article, XQuery. XQuery was invented so that there was a way to query data stored in an XML document, much the same way SQL is used to query a database.


XQuery uses simple functions to query a document. An XQuery function looks a little like a javascript function in that it uses parentheses containing an element that is to be the object of the function. With XQuery, the element in parentheses is typically the name of the document or file to be queried.


To find what it is looking for within that file, XQuery narrows its search by using path expressions that look a lot like the path for an ordinary file stored on your computer, with the various subsets of data within the XML file separated by backslashes. The predicate is the final component of an XQuery function. The predicate tells the function exactly what information, data, or range of data within a particular subset is to be extracted and returned to the user.


For example, an XML file for a dating website would contain a list of men and women who have posted their profiles on the website. Some of the people in the XML file might be classified as single, while others might classified as divorced. The XML file would also contain the age of each man and woman.


If a woman were to visit that dating website and perform a search for profiles of only single men who are over the age of 30, that search request would be converted into an XQuery function that would contain a path that would tell the function to search through the list of men who are classified as single, and the predicate would instruct the function to return only the profiles of the single men who are older than 30.


Learning how to use XML, XHTML, and XQuery is of critical importance to every web designer or programmer. There are now so many ways to connect to the internet using computers that run on different platforms that are no longer compatible with many elements of the HTML programming language. Web designers need to be conscious of this and start designing web sites that utilize XML and XQuery.


About the Author: Jim Pretin is the owner of http://www.forms4free.com, a service that helps programmers make an HTML form.

No comments: