|
|
Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |
The QXmlNamespaceSupport class is a helper class for XML readers which want to include namespace support. More...
All the functions in this class are reentrant when Qt is built with thread support.
#include <qxml.h>
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.
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().
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 "".
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; }
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; }
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.
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().
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.
See also processName().
This file is part of the Qt toolkit. Copyright © 1995-2007 Trolltech. All Rights Reserved.
Copyright © 2007 Trolltech | Trademarks | Qt 3.3.8
|