Enclosed Expressions


In literal XML constructors, you can use curly braces ({}) to add content that is computed when the query is run. This is called an enclosed expression. For example, in the previous example, if you want all of the <Name> elements to appear within an XML root element named <ProductNames>. This could be accomplished with the following XQuery expression:

      <ProductNames>        { doc("Products.xml")/Products/Product[@Category="Socks"]//Name }      </ProductNames> 

With this addition, the output would be as follows:

      <ProductNames>          <Name>Mountain Bike Socks, M</Name>          <Name>Mountain Bike Socks, L</Name>      </ProductNames> 

Note that in this query, you used curly braces around the XPath expression within the <ProductNames> element. The braces denote that the content within the braces is an XQuery expression, and not literal content. For example, the following query omits the braces:

      <ProductNames>        doc("Products.xml")/Products/Product[@Category="Socks"]//Name      </ProductNames> 

The output of this query would be as follows:

      <ProductNames>        doc("Products.xml")/Products/Product[@Category="Socks"]//Name      </ProductNames> 




Professional XML
Professional XML (Programmer to Programmer)
ISBN: 0471777773
EAN: 2147483647
Year: 2004
Pages: 215

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net