XQUERY FILE()

From Lianjapedia
Revision as of 08:41, 16 February 2016 by Yvonne.milne (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Purpose

Used to parse XML files using Xquery notation

Syntax

XQUERY_FILE(<expC1>, <expC2>)

See Also

MQCLOSE(), MQCREATE(), MQCURMSGS(), MQOPEN(), MQSEND(), MQRECEIVE(), MQUNLINK(), XML_DECODE(), XML_ENCODE(), XML_GATHER(), XML_SCATTER(), XQUERY(), XQUERY_CLOSE(), XQUERY_COUNT(), XQUERY_DECODE(), XQUERY_FIND(), XQUERY_OPEN()

Description

The XQUERY_FILE() function is used to parse XML files using Xquery notation. The XQUERY_FILE() function returns a character string. The character expression <expC1> is the XML file; <expC2> is the XML tag name.

Example

mybooks.xml

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
 
<book category="COOKING">
  <title lang="en">Pulse</title>
  <author>Jenny Chandler</author>
  <year>2013</year>
  <format>Hardback</format>
</book>
 
<book category="COOKING">
  <title lang="en">Riverford Farm Cook Book</title>
  <author>Guy Watson</author>
  <author>Jane Baxter</author>
  <year>2008</year>
  <format>Paperback</format>
</book>
 
<book category="CHILDREN">
  <title lang="en">The House At Pooh Corner</title>
  <author>A. A. Milne</author>
  <year>1928</year>
  <format>Hardback</format>
</book>
 
<book category="CRIME">
  <title lang="en">Knots and Crosses</title>
  <author>Ian Rankin</author>
  <year>2008</year>
  <format>EPUB</format>
</book>
 
<book category="PHILOSOPHY">
  <title lang="fr">Le mythe de Sisyphe</title>
  <author>Albert Camus</author>
  <year>1943</year>
  <format>Paperback</format>
</book>
 
</bookstore>
// Examples using mybooks.xml
cBook = xquery_file("mybooks.xml","/bookstore/book[2]")
? cBook
 
  <title lang="en">Riverford Farm Cook Book</title>
  <author>Guy Watson</author>
  <author>Jane Baxter</author>
  <year>2008</year>
  <format>Paperback</format>
 
cTitle = xquery_file("mybooks.xml","/bookstore/book[2]/title")
? cTitle
 
Riverford Farm Cook Book
 
nCount = 1
do while .T.
    cTitle = xquery_file("mybooks.xml","/bookstore/book[&nCount]/title")
    if empty(cTitle)
        exit
	endif
    ? cTitle
    ++ nCount 
enddo
 
Pulse
Riverford Farm Cook Book
The House At Pooh Corner
Knots and Crosses
Le mythe de Sisyphe