<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- qxml.cpp --> <title>QXmlNamespaceSupport Class | Qt XML 5.12.6</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.12</td><td ><a href="qtxml-index.html">Qt XML</a></td><td ><a href="qtxml-module.html">C++ Classes</a></td><td >QXmlNamespaceSupport</td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right"><a href="qtxml-index.html">Qt 5.12.6 Reference Documentation</a></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-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">QXmlNamespaceSupport Class</h1> <!-- $$$QXmlNamespaceSupport-brief --> <p>The <a href="qxmlnamespacesupport.html">QXmlNamespaceSupport</a> class is a helper class for XML readers which want to include namespace support. <a href="#details">More...</a></p> <!-- @@@QXmlNamespaceSupport --> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include <QXmlNamespaceSupport></span> </td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += xml</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="qxmlnamespacesupport-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-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="qxmlnamespacesupport.html#QXmlNamespaceSupport">QXmlNamespaceSupport</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qxmlnamespacesupport.html#dtor.QXmlNamespaceSupport">~QXmlNamespaceSupport</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qxmlnamespacesupport.html#popContext">popContext</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qxmlnamespacesupport.html#prefix">prefix</a></b>(const QString &<i>uri</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QStringList </td><td class="memItemRight bottomAlign"><b><a href="qxmlnamespacesupport.html#prefixes">prefixes</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QStringList </td><td class="memItemRight bottomAlign"><b><a href="qxmlnamespacesupport.html#prefixes-1">prefixes</a></b>(const QString &<i>uri</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qxmlnamespacesupport.html#processName">processName</a></b>(const QString &<i>qname</i>, bool <i>isAttribute</i>, QString &<i>nsuri</i>, QString &<i>localname</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qxmlnamespacesupport.html#pushContext">pushContext</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qxmlnamespacesupport.html#reset">reset</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qxmlnamespacesupport.html#setPrefix">setPrefix</a></b>(const QString &<i>pre</i>, const QString &<i>uri</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qxmlnamespacesupport.html#splitName">splitName</a></b>(const QString &<i>qname</i>, QString &<i>prefix</i>, QString &<i>localname</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qxmlnamespacesupport.html#uri">uri</a></b>(const QString &<i>prefix</i>) const</td></tr> </table></div> <a name="details"></a> <!-- $$$QXmlNamespaceSupport-description --> <div class="descr"> <h2 id="details">Detailed Description</h2> <p>The <a href="qxmlnamespacesupport.html">QXmlNamespaceSupport</a> class is a helper class for XML readers which want to include namespace support.</p> <p>You can set the prefix for the current namespace with <a href="qxmlnamespacesupport.html#setPrefix">setPrefix</a>(), and get the list of current prefixes (or those for a given URI) with <a href="qxmlnamespacesupport.html#prefixes">prefixes</a>(). The namespace URI is available from <a href="qxmlnamespacesupport.html#uri">uri</a>(). Use <a href="qxmlnamespacesupport.html#pushContext">pushContext</a>() to start a new namespace context, and <a href="qxmlnamespacesupport.html#popContext">popContext</a>() to return to the previous namespace context. Use <a href="qxmlnamespacesupport.html#splitName">splitName</a>() or <a href="qxmlnamespacesupport.html#processName">processName</a>() to split a name into its prefix and local name.</p> </div> <p><b>See also </b><a href="xml-sax.html#namespace-support-via-features">Namespace Support via Features</a>.</p> <!-- @@@QXmlNamespaceSupport --> <div class="func"> <h2>Member Function Documentation</h2> <!-- $$$QXmlNamespaceSupport[overload1]$$$QXmlNamespaceSupport --> <h3 class="fn" id="QXmlNamespaceSupport"><a name="QXmlNamespaceSupport"></a>QXmlNamespaceSupport::<span class="name">QXmlNamespaceSupport</span>()</h3> <p>Constructs a <a href="qxmlnamespacesupport.html">QXmlNamespaceSupport</a>.</p> <!-- @@@QXmlNamespaceSupport --> <!-- $$$~QXmlNamespaceSupport[overload1]$$$~QXmlNamespaceSupport --> <h3 class="fn" id="dtor.QXmlNamespaceSupport"><a name="dtor.QXmlNamespaceSupport"></a>QXmlNamespaceSupport::<span class="name">~QXmlNamespaceSupport</span>()</h3> <p>Destroys a <a href="qxmlnamespacesupport.html">QXmlNamespaceSupport</a>.</p> <!-- @@@~QXmlNamespaceSupport --> <!-- $$$popContext[overload1]$$$popContext --> <h3 class="fn" id="popContext"><a name="popContext"></a><span class="type">void</span> QXmlNamespaceSupport::<span class="name">popContext</span>()</h3> <p>Reverts to the previous namespace context.</p> <p>Normally, you should pop the context at the end of each XML element. After popping the context, all namespace prefix mappings that were previously in force are restored.</p> <p><b>See also </b><a href="qxmlnamespacesupport.html#pushContext">pushContext</a>().</p> <!-- @@@popContext --> <!-- $$$prefix[overload1]$$$prefixconstQString& --> <h3 class="fn" id="prefix"><a name="prefix"></a><span class="type"><a href="../qtcore/qstring.html">QString</a></span> QXmlNamespaceSupport::<span class="name">prefix</span>(const <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &<i>uri</i>) const</h3> <p>Returns one of the prefixes mapped to the namespace URI <i>uri</i>.</p> <p>If more than one prefix is currently mapped to the same URI, this function makes an arbitrary selection; if you want all of the prefixes, use <a href="qxmlnamespacesupport.html#prefixes">prefixes</a>() instead.</p> <p>Note: to check for a default prefix, use the <a href="qxmlnamespacesupport.html#uri">uri</a>() function with an argument of "".</p> <p><b>See also </b><a href="qxmlnamespacesupport.html#setPrefix">setPrefix</a>().</p> <!-- @@@prefix --> <!-- $$$prefixes[overload1]$$$prefixes --> <h3 class="fn" id="prefixes"><a name="prefixes"></a><span class="type"><a href="../qtcore/qstringlist.html">QStringList</a></span> QXmlNamespaceSupport::<span class="name">prefixes</span>() const</h3> <p>Returns a list of all the prefixes currently declared.</p> <p>If there is a default prefix, this function does not return it in the list; check for the default prefix using <a href="qxmlnamespacesupport.html#uri">uri</a>() with an argument of "".</p> <!-- @@@prefixes --> <!-- $$$prefixes$$$prefixesconstQString& --> <h3 class="fn" id="prefixes-1"><a name="prefixes-1"></a><span class="type"><a href="../qtcore/qstringlist.html">QStringList</a></span> QXmlNamespaceSupport::<span class="name">prefixes</span>(const <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &<i>uri</i>) const</h3> <p>This is an overloaded function.</p> <p>Returns a list of all prefixes currently declared for the namespace URI <i>uri</i>.</p> <p>The "xml:" prefix is included. If you only want one prefix that is mapped to the namespace URI, and you don't care which one you get, use the <a href="qxmlnamespacesupport.html#prefix">prefix</a>() function instead.</p> <p>Note: The empty (default) prefix is never included in this list; to check for the presence of a default namespace, call <a href="qxmlnamespacesupport.html#uri">uri</a>() with "" as the argument.</p> <!-- @@@prefixes --> <!-- $$$processName[overload1]$$$processNameconstQString&boolQString&QString& --> <h3 class="fn" id="processName"><a name="processName"></a><span class="type">void</span> QXmlNamespaceSupport::<span class="name">processName</span>(const <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &<i>qname</i>, <span class="type">bool</span> <i>isAttribute</i>, <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &<i>nsuri</i>, <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &<i>localname</i>) const</h3> <p>Processes a raw XML 1.0 name in the current context by removing the prefix and looking it up among the prefixes currently declared.</p> <p><i>qname</i> is the raw XML 1.0 name to be processed. <i>isAttribute</i> is true if the name is an attribute name.</p> <p>This function stores the namespace URI in <i>nsuri</i> (which will be set to an empty string if the raw name has an undeclared prefix), and stores the local name (without prefix) in <i>localname</i> (which will be set to an empty string if no namespace is in use).</p> <p>Note that attribute names are processed differently than element names: an unprefixed element name gets the default namespace (if any), while an unprefixed attribute name does not.</p> <!-- @@@processName --> <!-- $$$pushContext[overload1]$$$pushContext --> <h3 class="fn" id="pushContext"><a name="pushContext"></a><span class="type">void</span> QXmlNamespaceSupport::<span class="name">pushContext</span>()</h3> <p>Starts a new namespace context.</p> <p>Normally, you should push a new context at the beginning of each XML element: the new context automatically inherits the declarations of its parent context, and it also keeps track of which declarations were made within this context.</p> <p><b>See also </b><a href="qxmlnamespacesupport.html#popContext">popContext</a>().</p> <!-- @@@pushContext --> <!-- $$$reset[overload1]$$$reset --> <h3 class="fn" id="reset"><a name="reset"></a><span class="type">void</span> QXmlNamespaceSupport::<span class="name">reset</span>()</h3> <p>Resets this namespace support object ready for reuse.</p> <!-- @@@reset --> <!-- $$$setPrefix[overload1]$$$setPrefixconstQString&constQString& --> <h3 class="fn" id="setPrefix"><a name="setPrefix"></a><span class="type">void</span> QXmlNamespaceSupport::<span class="name">setPrefix</span>(const <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &<i>pre</i>, const <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &<i>uri</i>)</h3> <p>This function declares a prefix <i>pre</i> in the current namespace context to be the namespace URI <i>uri</i>. The prefix remains in force until this context is popped, unless it is shadowed in a descendant context.</p> <p>Note that there is an asymmetry in this library. <a href="qxmlnamespacesupport.html#prefix">prefix</a>() does not return the default "" prefix, even if you have declared one; to check for a default prefix, you must look it up explicitly using <a href="qxmlnamespacesupport.html#uri">uri</a>(). This asymmetry exists to make it easier to look up prefixes for attribute names, where the default prefix is not allowed.</p> <p><b>See also </b><a href="qxmlnamespacesupport.html#prefix">prefix</a>().</p> <!-- @@@setPrefix --> <!-- $$$splitName[overload1]$$$splitNameconstQString&QString&QString& --> <h3 class="fn" id="splitName"><a name="splitName"></a><span class="type">void</span> QXmlNamespaceSupport::<span class="name">splitName</span>(const <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &<i>qname</i>, <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &<i>prefix</i>, <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &<i>localname</i>) const</h3> <p>Splits the name <i>qname</i> at the ':' and returns the prefix in <i>prefix</i> and the local name in <i>localname</i>.</p> <p><b>See also </b><a href="qxmlnamespacesupport.html#processName">processName</a>().</p> <!-- @@@splitName --> <!-- $$$uri[overload1]$$$uriconstQString& --> <h3 class="fn" id="uri"><a name="uri"></a><span class="type"><a href="../qtcore/qstring.html">QString</a></span> QXmlNamespaceSupport::<span class="name">uri</span>(const <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &<i>prefix</i>) const</h3> <p>Looks up the prefix <i>prefix</i> in the current context and returns the currently-mapped namespace URI. Use the empty string ("") for the default namespace.</p> <!-- @@@uri --> </div> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2019 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>