Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions

QXmlNamespaceSupport Class Reference
[XML module]

The QXmlNamespaceSupport class is a helper class for XML readers which want to include namespace support. More...

#include <qxml.h>

List of all member functions.

Public Members


Detailed Description

The QXmlNamespaceSupport class is a helper class for XML readers which want to include namespace support.

It provides some functions that makes it easy to handle namespaces. Its main use is for subclasses of QXmlReader which want to provide namespace support.

See also the namespace description.

See also XML.


Member Function Documentation

QXmlNamespaceSupport::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.

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 the prefixes() function instead.

Note: this function never returns the empty (default) prefix; to check for a default prefix, use the uri() function with an argument of "".

QStringList QXmlNamespaceSupport::prefixes () const

Returns a list of all prefixes currently declared.

Note: 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 "".

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 want only 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 enumeration; to check for the presence of a default namespace, use uri() with an argument of "".

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 and isAttribute is a flag that specifies wheter the name is the name of an attribute (TRUE) or not (FALSE).

This function stores the return values the last two parameters as follows: It stores the namespace URI in nsuri and the local name (without prefix) in localname. If no namespace is in use, it stores a null string.

If the raw name has a prefix that has not been declared, then the return value is empty.

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 inherits automatically the declarations of its parent context, but it also keeps track of which declarations were made within this context.

void QXmlNamespaceSupport::reset ()

Resets this namespace support object 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: while prefix() does not return the default "" prefix, even if you have declared one; to check for a default prefix, you have to 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.

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.

This file is part of the Qt toolkit, copyright © 1995-2001 Trolltech, all rights reserved.


Copyright © 2001 TrolltechTrademarks
Qt version 3.0.0-beta4