QXmlInputSource(3qt)QXmlInputSource(3qt)NAMEQXmlInputSource - The input data for the QXmlReader subclasses
SYNOPSIS
All the functions in this class are reentrant when Qt is built with
thread support.</p>
#include <qxml.h>
Public Members
QXmlInputSource ()
QXmlInputSource ( QIODevice * dev )
QXmlInputSource ( QFile & file ) (obsolete)
QXmlInputSource ( QTextStream & stream ) (obsolete)
virtual ~QXmlInputSource ()
virtual void setData ( const QString & dat )
virtual void setData ( const QByteArray & dat )
virtual void fetchData ()
virtual QString data ()
virtual QChar next ()
virtual void reset ()
Protected Members
virtual QString fromRawData ( const QByteArray & data, bool beginning =
FALSE )
DESCRIPTION
The QXmlInputSource class provides the input data for the QXmlReader
subclasses.
All subclasses of QXmlReader read the input XML document from this
class.
This class recognizes the encoding of the data by reading the encoding
declaration in the XML file if it finds one, and reading the data using
the corresponding encoding. If it does not find an encoding
declaration, then it assumes that the data is either in UTF-8 or
UTF-16, depending on whether it can find a byte-order mark.
There are two ways to populate the input source with data: you can
construct it with a QIODevice* so that the input source reads the data
from that device. Or you can set the data explicitly with one of the
setData() functions.
Usually you either construct a QXmlInputSource that works on a
QIODevice* or you construct an empty QXmlInputSource and set the data
with setData(). There are only rare occasions where you would want to
mix both methods.
The QXmlReader subclasses use the next() function to read the input
character by character. If you want to start from the beginning again,
use reset().
The functions data() and fetchData() are useful if you want to do
something with the data other than parsing, e.g. displaying the raw XML
file. The benefit of using the QXmlInputClass in such cases is that it
tries to use the correct encoding.
See also QXmlReader, QXmlSimpleReader, and XML.
MEMBER FUNCTION DOCUMENTATIONQXmlInputSource::QXmlInputSource ()
Constructs an input source which contains no data.
See also setData().
QXmlInputSource::QXmlInputSource ( QIODevice * dev )
Constructs an input source and gets the data from device dev. If dev is
not open, it is opened in read-only mode. If dev is 0 or it is not
possible to read from the device, the input source will contain no
data.
See also setData(), fetchData(), and QIODevice.
QXmlInputSource::QXmlInputSource ( QFile & file )
This function is obsolete. It is provided to keep old source working.
We strongly advise against using it in new code.
Constructs an input source and gets the data from the file file. If the
file cannot be read the input source is empty.
QXmlInputSource::QXmlInputSource ( QTextStream & stream )
This function is obsolete. It is provided to keep old source working.
We strongly advise against using it in new code.
Constructs an input source and gets the data from the text stream
stream.
QXmlInputSource::~QXmlInputSource () [virtual]
Destructor.
QString QXmlInputSource::data () [virtual]
Returns the data the input source contains or QString::null if the
input source does not contain any data.
See also setData(), QXmlInputSource(), and fetchData().
void QXmlInputSource::fetchData () [virtual]
This function reads more data from the device that was set during
construction. If the input source already contained data, this function
deletes that data first.
This object contains no data after a call to this function if the
object was constructed without a device to read data from or if this
function was not able to get more data from the device.
There are two occasions where a fetch is done implicitly by another
function call: during construction (so that the object starts out with
some initial data where available), and during a call to next() (if the
data had run out).
You don't normally need to use this function if you use next().
See also data(), next(), and QXmlInputSource().
QString QXmlInputSource::fromRawData ( const QByteArray & data, bool beginning
= FALSE ) [virtual protected]
This function reads the XML file from data and tries to recognize the
encoding. It converts the raw data data into a QString and returns it.
It tries its best to get the correct encoding for the XML file.
If beginning is TRUE, this function assumes that the data starts at the
beginning of a new XML document and looks for an encoding declaration.
If beginning is FALSE, it converts the raw data using the encoding
determined from prior calls.
QChar QXmlInputSource::next () [virtual]
Returns the next character of the input source. If this function
reaches the end of available data, it returns
QXmlInputSource::EndOfData. If you call next() after that, it tries to
fetch more data by calling fetchData(). If the fetchData() call results
in new data, this function returns the first character of that data;
otherwise it returns QXmlInputSource::EndOfDocument.
See also reset(), fetchData(), QXmlSimpleReader::parse(), and
QXmlSimpleReader::parseContinue().
void QXmlInputSource::reset () [virtual]
This function sets the position used by next() to the beginning of the
data returned by data(). This is useful if you want to use the input
source for more than one parse.
See also next().
Example: xml/tagreader-with-features/tagreader.cpp.
void QXmlInputSource::setData ( const QString & dat ) [virtual]
Sets the data of the input source to dat.
If the input source already contains data, this function deletes that
data first.
See also data().
void QXmlInputSource::setData ( const QByteArray & dat ) [virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
The data dat is passed through the correct text-codec, before it is
set.
SEE ALSO
http://doc.trolltech.com/qxmlinputsource.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
(qxmlinputsource.3qt) and the Qt version (3.3.8).
Trolltech AS 2 February 2007 QXmlInputSource(3qt)