Simple XQuery FLWOR Expressions

The simplest XQuery FLWOR expression might be something like this:


              for $v in $doc//video return $v
               

            

This returns all of the video elements in $doc.

We can add a bit of substance by adding XQuery where and return clauses:


              for $v in $doc//video
               

              where $v/year = 1999
               

              return $v/title
               

            

This returns all of the titles of videos released in 1999.

If you know SQL, that XQuery probably looks reassuringly similar to the equivalent SQL statement:


              SELECT v.title 
               

              FROM video v 
               

              WHERE v.year = 1999
               

            

And if you know XPath, you might be wondering why our XQuery cannot be written as this:


              $doc//video[year=1999]/title
               

            

Well, you can. This XPath expression is completely equivalent to the FLWOR expression above, and furthermore, it is a legal XQuery query. In fact, every legal XPath expression is also legal in XQuery. Thus the first query in this section can be written as:


              $doc//video
               

            

Which style you prefer seems to depend on where you are coming from: if you have been using XML for years, especially XML with a deep hierarchy as found in "narrative" documents, then you will probably be comfortable with path expressions. But if you are more used to thinking of your data as representing a table, then the FLWOR style might suit you better.

As you will see, FLWOR expressions are a lot more powerful than path expressions when it comes to doing joins. But for simple queries, the capabilities overlap and you have a choice. Although it might be true that in SQL every query is a SELECT statement, it is not so that in XQuery every query has to be a FLWOR expression.

Semiconductors & E-Components

Buuuuuzzzzz, zappp! There sure is a lot of electiricty flying with these semiconductors & c-component producers. It is because these top companies use Stylus Studio 2006 to light up their work day!

EDIFACT Sample Converted to XML

A sample EDIFACT document before and after conversion to XML, showing markup and full automatically-generated internal documentation.

Introduction to the XQuery Mapper

This free online video demonstration covers Stylus Studio's synchronized XQuery editing and mapping tool which allows you to create any XQuery expression, either manually using Stylus Studio's XQuery editor.

XML File Explorer

The XML File Explorer provides a productive, consistent, and easy-to-use interface for working with any data sources (relational data, EDI, binary, XML, CSV, and more) used in enterprise data integration projects.

Stylus Most Wanted

 
Free Stylus Studio XML Training:
W3C Member