QXmlNamespaceSupport(3qt)QXmlNamespaceSupport(3qt)NAMEQXmlNamespaceSupport - Helper class for XML readers which want to
include namespace support
SYNOPSIS
All the functions in this class are reentrant when Qt is built with
thread support.</p>
#include <qxml.h>
Public Members
QXmlNamespaceSupport ()
~QXmlNamespaceSupport ()
void setPrefix ( const QString & pre, const QString & uri )
QString prefix ( const QString & uri ) const
QString uri ( const QString & prefix ) const
void splitName ( const QString & qname, QString & prefix, QString &
localname ) const
void processName ( const QString & qname, bool isAttribute, QString &
nsuri, QString & localname ) const
QStringList prefixes () const
QStringList prefixes ( const QString & uri ) const
void pushContext ()
void popContext ()
void reset ()
DESCRIPTION
The QXmlNamespaceSupport class is a helper class for XML readers which
want to include namespace support.
You can set the prefix for the current namespace with setPrefix(), and
get the list of current prefixes (or those for a given URI) with
prefixes(). The namespace URI is available from uri(). Use
pushContext() to start a new namespace context, and popContext() to
return to the previous namespace context. Use splitName() or
processName() to split a name into its prefix and local name.
See also the namespace description.
See also XML.
MEMBER FUNCTION DOCUMENTATIONQXmlNamespaceSupport::QXmlNamespaceSupport ()
Constructs a QXmlNamespaceSupport.
QXmlNamespaceSupport::~QXmlNamespaceSupport ()
Destroys a QXmlNamespaceSupport.
void QXmlNamespaceSupport::popContext ()
Reverts to the previous namespace context.
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.
See also pushContext().
QString QXmlNamespaceSupport::prefix ( const QString & uri ) const
Returns one of the prefixes mapped to the namespace URI uri.
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 prefixes() instead.
Note: to check for a default prefix, use the uri() function with an
argument of "".
QStringList QXmlNamespaceSupport::prefixes () const
Returns a list of all the prefixes currently declared.
If there is a default prefix, this function does not return it in the
list; check for the default prefix using uri() with an argument of "".
Note that if you want to iterate over the list, you should iterate over
a copy, e.g.
QStringList list = myXmlNamespaceSupport.prefixes();
QStringList::iterator it = list.begin();
while ( it != list.end() ) {
myProcessing( *it );
++it;
}
QStringList QXmlNamespaceSupport::prefixes ( const QString & uri ) const
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
Returns a list of all prefixes currently declared for the namespace URI
uri.
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 prefix() function instead.
Note: the empty (default) prefix is never included in this list; to
check for the presence of a default namespace, use uri() with an
argument of "".
Note that if you want to iterate over the list, you should iterate over
a copy, e.g.
QStringList list = myXmlNamespaceSupport.prefixes( "" );
QStringList::Iterator it = list.begin();
while( it != list.end() ) {
myProcessing( *it );
++it;
}
void QXmlNamespaceSupport::processName ( const QString & qname, bool
isAttribute, QString & nsuri, QString & localname ) const
Processes a raw XML 1.0 name in the current context by removing the
prefix and looking it up among the prefixes currently declared.
qname is the raw XML 1.0 name to be processed. isAttribute is TRUE if
the name is an attribute name.
This function stores the namespace URI in nsuri (which will be set to
QString::null if the raw name has an undeclared prefix), and stores the
local name (without prefix) in localname (which will be set to
QString::null if no namespace is in use).
Note that attribute names are processed differently than element names:
an unprefixed element name gets the default namespace (if any), while
an unprefixed element name does not.
void QXmlNamespaceSupport::pushContext ()
Starts a new namespace context.
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.
See also popContext().
void QXmlNamespaceSupport::reset ()
Resets this namespace support object ready for reuse.
void QXmlNamespaceSupport::setPrefix ( const QString & pre, const QString &
uri )
This function declares a prefix pre in the current namespace context to
be the namespace URI uri. The prefix remains in force until this
context is popped, unless it is shadowed in a descendant context.
Note that there is an asymmetry in this library. prefix() 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 uri(). This
asymmetry exists to make it easier to look up prefixes for attribute
names, where the default prefix is not allowed.
void QXmlNamespaceSupport::splitName ( const QString & qname, QString &
prefix, QString & localname ) const
Splits the name qname at the ':' and returns the prefix in prefix and
the local name in localname.
See also processName().
QString QXmlNamespaceSupport::uri ( const QString & prefix ) const
Looks up the prefix prefix in the current context and returns the
currently-mapped namespace URI. Use the empty string ("") for the
default namespace.
SEE ALSO
http://doc.trolltech.com/qxmlnamespacesupport.html
http://www.trolltech.com/faq/tech.html
COPYRIGHT
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
license file included in the distribution for a complete license
statement.
AUTHOR
Generated automatically from the source code.
BUGS
If you find a bug in Qt, please report it as described in
http://doc.trolltech.com/bughowto.html. Good bug reports help us to
help you. Thank you.
The definitive Qt documentation is provided in HTML format; it is
located at $QTDIR/doc/html and can be read using Qt Assistant or with a
web browser. This man page is provided as a convenience for those users
who prefer man pages, although this format is not officially supported
by Trolltech.
If you find errors in this manual page, please report them to qt-
bugs@trolltech.com. Please include the name of the manual page
(qxmlnamespacesupport.3qt) and the Qt version (3.3.8).
Trolltech AS 2 February 2007 QXmlNamespaceSupport(3qt)