XQUERY ATTRIBUTES()

From Lianjapedia
Jump to: navigation, search

Purpose

Used to search for an XML node in an XML file previously opened with XQUERY_OPEN() and return the complete node and its attributes

Syntax

XQUERY_ATTRIBUTES(<expC1>)

See Also

MQCLOSE(), MQCREATE(), MQCURMSGS(), MQOPEN(), MQSEND(), MQRECEIVE(), MQUNLINK(), PRINT XML(), XML, XML_DECODE(), XML_DECODE_FILE(), XML_ENCODE(), XML_GATHER(), XML_SCATTER(), XQUERY(), XQUERY_CLOSE(), XQUERY_COUNT(), XQUERY_DECODE(), XQUERY_FILE(), XQUERY_FIND(), XQUERY_NODE(), XQUERY_OPEN(), XQUERY_SELECT()

Description

The XQUERY_ATTRIBUTES() function is used to search for an XML node in an XML file previously opened with XQUERY_OPEN() and return the complete node and its attributes. The character expression <expC1> is the XML node.

XQuery functions:

The XQUERY_OPEN() function is used to open an XML file for parsing using XPath notation. After opening using XQUERY_OPEN(), the XQUERY_FIND() or XQUERY_NODE() functions can be used to find and return a specified XML node value. The XQUERY_ATTRIBUTES() function finds and returns a complete node and its attributes. XQUERY_COUNT() returns a count of a specified XML node. The XQUERY_SELECT() function provides the ability to query nodes by attribute and value. The XQUERY_CLOSE() function is closes the XML file.

The XQUERY() function is used to parse XML strings using XPath notation.

The XQUERY_FILE() function is used to parse XML files using XPath notation.

The XQUERY_DECODE() function is used to return an object from an XML string.

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>
// Example using mybooks.xml
xquery_open("mybooks.xml")
nCount = xquery_count("/bookstore/book")
for i=1 to nCount
   cTitle = xquery_node("/bookstore/book[&i]/title")
   ? cTitle
   oTitle = xquery_attributes("/bookstore/book[&i]/title")
   ? xquery_decode(oTitle)
endfor
xquery_close()
 
// Results:
 
Pulse
 
Dynarray (refcnt=0)
(
    [title] => Dynarray (refcnt=1)
        (
            [text] => Pulse
            [attributes] => Dynarray (refcnt=1)
                (
                    [lang] => en
                )
        )
)
Riverford Farm Cook Book
 
Dynarray (refcnt=0)
(
    [title] => Dynarray (refcnt=1)
        (
            [text] => Riverford Farm Cook Book
            [attributes] => Dynarray (refcnt=1)
                (
                    [lang] => en
                )
        )
)
The House At Pooh Corner
 
Dynarray (refcnt=0)
(
    [title] => Dynarray (refcnt=1)
        (
            [text] => The House At Pooh Corner
            [attributes] => Dynarray (refcnt=1)
                (
                    [lang] => en
                )
        )
)
Knots and Crosses
 
Dynarray (refcnt=0)
(
    [title] => Dynarray (refcnt=1)
        (
            [text] => Knots and Crosses
            [attributes] => Dynarray (refcnt=1)
                (
                    [lang] => en
                )
        )
)
Le mythe de Sisyphe
 
Dynarray (refcnt=0)
(
    [title] => Dynarray (refcnt=1)
        (
            [text] => Le mythe de Sisyphe
            [attributes] => Dynarray (refcnt=1)
                (
                    [lang] => fr
                )
        )
)