<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- qabstractxmlnodemodel.cpp --> <title>QXmlItem Class | Qt XML Patterns 5.9</title> <link rel="stylesheet" type="text/css" href="style/offline-simple.css" /> <script type="text/javascript"> document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css"); // loading style sheet breaks anchors that were jumped to before // so force jumping to anchor again setTimeout(function() { var anchor = location.hash; // need to jump to different anchor first (e.g. none) location.hash = "#"; setTimeout(function() { location.hash = anchor; }, 0); }, 0); </script> </head> <body> <div class="header" id="qtdocheader"> <div class="main"> <div class="main-rounded"> <div class="navigationbar"> <table><tr> <td >Qt 5.9</td><td ><a href="qtxmlpatterns-index.html">Qt XML Patterns</a></td><td ><a href="qtxmlpatterns-module.html">C++ Classes</a></td><td >QXmlItem</td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right">Qt 5.9.4 Reference Documentation</td> </tr></table> </div> </div> <div class="content"> <div class="line"> <div class="content mainContent"> <div class="sidebar"> <div class="toc"> <h3><a name="toc">Contents</a></h3> <ul> <li class="level1"><a href="#public-types">Public Types</a></li> <li class="level1"><a href="#public-functions">Public Functions</a></li> <li class="level1"><a href="#details">Detailed Description</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">QXmlItem Class</h1> <!-- $$$QXmlItem-brief --> <p>The <a href="qxmlitem.html">QXmlItem</a> class contains either an XML node or an atomic value. <a href="#details">More...</a></p> <!-- @@@QXmlItem --> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include <QXmlItem></span> </td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += xmlpatterns</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign"> Qt 4.4</td></tr></table></div><ul> <li><a href="qxmlitem-members.html">List of all members, including inherited members</a></li> </ul> <p><b>Note:</b> All functions in this class are reentrant.</p> <a name="public-types"></a> <h2 id="public-types">Public Types</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> typedef </td><td class="memItemRight bottomAlign"><b><a href="qxmlitem.html#Iterator-typedef">Iterator</a></b></td></tr> </table></div> <a name="public-functions"></a> <h2 id="public-functions">Public Functions</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qxmlitem.html#QXmlItem">QXmlItem</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qxmlitem.html#QXmlItem-1">QXmlItem</a></b>(const QXmlItem &<i>other</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qxmlitem.html#QXmlItem-2">QXmlItem</a></b>(const QXmlNodeModelIndex &<i>node</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qxmlitem.html#QXmlItem-3">QXmlItem</a></b>(const QVariant &<i>atomicValue</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qxmlitem.html#dtor.QXmlItem">~QXmlItem</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qxmlitem.html#isAtomicValue">isAtomicValue</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qxmlitem.html#isNode">isNode</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qxmlitem.html#isNull">isNull</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QVariant </td><td class="memItemRight bottomAlign"><b><a href="qxmlitem.html#toAtomicValue">toAtomicValue</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QXmlNodeModelIndex </td><td class="memItemRight bottomAlign"><b><a href="qxmlitem.html#toNodeModelIndex">toNodeModelIndex</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QXmlItem &</td><td class="memItemRight bottomAlign"><b><a href="qxmlitem.html#operator-eq">operator=</a></b>(const QXmlItem &<i>other</i>)</td></tr> </table></div> <a name="details"></a> <!-- $$$QXmlItem-description --> <div class="descr"> <h2 id="details">Detailed Description</h2> <p>The <a href="qxmlitem.html">QXmlItem</a> class contains either an XML node or an atomic value.</p> <p>In <a href="xmlprocessing.html">XQuery</a>, all expressions evaluate to a sequence of items, where each item is either an XML node or an atomic value. The query in the following snippet evaluates to sequence of five items.</p> <pre class="cpp"> <aNode/>, xs:base64Binary("FFFF"), current-date(), 3e3, (: A floating point value :) attribute {"name"} {()} </pre> <p>The five items are: An element, an atomic value (binary data encoded in base64), a date, a float, and an attribute.</p> <p><a href="qxmlitem.html">QXmlItem</a> is the class that represents these <a href="xmlprocessing.html">XQuery</a> items in the Qt XML Patterns API. A non-null instance of <a href="qxmlitem.html">QXmlItem</a> is either a node or an atomic value. Calling <a href="qxmlitem.html#isNode">isNode</a>() or <a href="qxmlitem.html#isAtomicValue">isAtomicValue</a>() tells you which it is. Atomic values are represented elsewhere in the Qt API as instances of QVariant, and an instance of <a href="qxmlitem.html">QXmlItem</a> that represents an atomic value can be converted to a QVariant by calling <a href="qxmlitem.html#toAtomicValue">toAtomicValue</a>(). A <a href="qxmlitem.html">QXmlItem</a> that wraps a node is represented elsewhere as an instance of <a href="qxmlnodemodelindex.html">QXmlNodeModelIndex</a>. A node <a href="qxmlitem.html">QXmlItem</a> can be converted to a <a href="qxmlnodemodelindex.html">QXmlNodeModelIndex</a> by calling <a href="qxmlitem.html#toNodeModelIndex">toNodeModelIndex</a>().</p> <p>A default constructed <a href="qxmlitem.html">QXmlItem</a> instance is neither a node nor an atomic value. It is considered null, in which case <a href="qxmlitem.html#isNull">isNull</a>() returns true.</p> <p>An instance of <a href="qxmlitem.html">QXmlItem</a> will be left dangling if the <a href="qabstractxmlnodemodel.html">XML node model</a> it refers to is deleted, if it is a <a href="qxmlnodemodelindex.html">QXmlNodeModelIndex</a>.</p> </div> <!-- @@@QXmlItem --> <div class="types"> <h2>Member Type Documentation</h2> <!-- $$$Iterator --> <h3 class="fn" id="Iterator-typedef"><a name="Iterator-typedef"></a>typedef QXmlItem::<span class="name">Iterator</span></h3> <p>A QAbstractXmlForwardIterator over <a href="qxmlitem.html">QXmlItem</a>.</p> <!-- @@@Iterator --> </div> <div class="func"> <h2>Member Function Documentation</h2> <!-- $$$QXmlItem[overload1]$$$QXmlItem --> <h3 class="fn" id="QXmlItem"><a name="QXmlItem"></a>QXmlItem::<span class="name">QXmlItem</span>()</h3> <p>Constructs a null <a href="qxmlitem.html">QXmlItem</a> that is neither a node nor an atomic value. <a href="qxmlitem.html#isNull">isNull</a>() returns true for a default constructed instance.</p> <!-- @@@QXmlItem --> <!-- $$$QXmlItem$$$QXmlItemconstQXmlItem& --> <h3 class="fn" id="QXmlItem-1"><a name="QXmlItem-1"></a>QXmlItem::<span class="name">QXmlItem</span>(const <span class="type"><a href="qxmlitem.html#QXmlItem">QXmlItem</a></span> &<i>other</i>)</h3> <p>The copy constructor constructs a copy of <i>other</i>.</p> <!-- @@@QXmlItem --> <!-- $$$QXmlItem$$$QXmlItemconstQXmlNodeModelIndex& --> <h3 class="fn" id="QXmlItem-2"><a name="QXmlItem-2"></a>QXmlItem::<span class="name">QXmlItem</span>(const <span class="type"><a href="qxmlnodemodelindex.html">QXmlNodeModelIndex</a></span> &<i>node</i>)</h3> <p>Constructs a node <a href="qxmlitem.html">QXmlItem</a> that is a copy of <i>node</i>.</p> <p><b>See also </b><a href="qxmlitem.html#isNode">isNode</a>().</p> <!-- @@@QXmlItem --> <!-- $$$QXmlItem$$$QXmlItemconstQVariant& --> <h3 class="fn" id="QXmlItem-3"><a name="QXmlItem-3"></a>QXmlItem::<span class="name">QXmlItem</span>(const <span class="type">QVariant</span> &<i>atomicValue</i>)</h3> <p>Constructs an atomic value <a href="qxmlitem.html">QXmlItem</a> with <i>atomicValue</i>.</p> <p><b>See also </b><a href="qxmlitem.html#isAtomicValue">isAtomicValue</a>().</p> <!-- @@@QXmlItem --> <!-- $$$~QXmlItem[overload1]$$$~QXmlItem --> <h3 class="fn" id="dtor.QXmlItem"><a name="dtor.QXmlItem"></a>QXmlItem::<span class="name">~QXmlItem</span>()</h3> <p>Destructor.</p> <!-- @@@~QXmlItem --> <!-- $$$isAtomicValue[overload1]$$$isAtomicValue --> <h3 class="fn" id="isAtomicValue"><a name="isAtomicValue"></a><span class="type">bool</span> QXmlItem::<span class="name">isAtomicValue</span>() const</h3> <p>Returns true if this item is an atomic value. Returns false if it is a node or null.</p> <p><b>See also </b><a href="qxmlitem.html#isNull">isNull</a>() and <a href="qxmlitem.html#isNode">isNode</a>().</p> <!-- @@@isAtomicValue --> <!-- $$$isNode[overload1]$$$isNode --> <h3 class="fn" id="isNode"><a name="isNode"></a><span class="type">bool</span> QXmlItem::<span class="name">isNode</span>() const</h3> <p>Returns true if this item is a Node. Returns false if it is an atomic value or null.</p> <p><b>See also </b><a href="qxmlitem.html#isNull">isNull</a>() and <a href="qxmlitem.html#isAtomicValue">isAtomicValue</a>().</p> <!-- @@@isNode --> <!-- $$$isNull[overload1]$$$isNull --> <h3 class="fn" id="isNull"><a name="isNull"></a><span class="type">bool</span> QXmlItem::<span class="name">isNull</span>() const</h3> <p>Returns true if this <a href="qxmlitem.html">QXmlItem</a> is neither a node nor an atomic value. Default constructed instances of <a href="qxmlitem.html">QXmlItem</a> are null.</p> <!-- @@@isNull --> <!-- $$$toAtomicValue[overload1]$$$toAtomicValue --> <h3 class="fn" id="toAtomicValue"><a name="toAtomicValue"></a><span class="type">QVariant</span> QXmlItem::<span class="name">toAtomicValue</span>() const</h3> <p>If this <a href="qxmlitem.html">QXmlItem</a> represents an atomic value, it is converted to an appropriate QVariant and returned. If this <a href="qxmlitem.html">QXmlItem</a> is not an atomic value, the return value is a default constructed QVariant. You can call <a href="qxmlitem.html#isAtomicValue">isAtomicValue</a>() to test whether the item is an atomic value.</p> <p><b>See also </b><a href="qxmlitem.html#isAtomicValue">isAtomicValue</a>().</p> <!-- @@@toAtomicValue --> <!-- $$$toNodeModelIndex[overload1]$$$toNodeModelIndex --> <h3 class="fn" id="toNodeModelIndex"><a name="toNodeModelIndex"></a><span class="type"><a href="qxmlnodemodelindex.html">QXmlNodeModelIndex</a></span> QXmlItem::<span class="name">toNodeModelIndex</span>() const</h3> <p>If this <a href="qxmlitem.html">QXmlItem</a> represents a node, it returns the item as a <a href="qxmlnodemodelindex.html">QXmlNodeModelIndex</a>. If this <a href="qxmlitem.html">QXmlItem</a> is not a node, the return value is undefined. You can call <a href="qxmlitem.html#isNode">isNode</a>() to test whether the item is a node.</p> <p><b>See also </b><a href="qxmlitem.html#isNode">isNode</a>().</p> <!-- @@@toNodeModelIndex --> <!-- $$$operator=[overload1]$$$operator=constQXmlItem& --> <h3 class="fn" id="operator-eq"><a name="operator-eq"></a><span class="type"><a href="qxmlitem.html#QXmlItem">QXmlItem</a></span> &QXmlItem::<span class="name">operator=</span>(const <span class="type"><a href="qxmlitem.html#QXmlItem">QXmlItem</a></span> &<i>other</i>)</h3> <p>Assigns <i>other</i> to <code>this</code>.</p> <!-- @@@operator= --> </div> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2017 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.<br> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br> Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners. </p> </div> </body> </html>