'\" t
.TH TQXmlInputSource 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
.\" license file included in the distribution for a complete license
.\" statement.
.\"
.ad l
.nh
.SH NAME
TQXmlInputSource \- The input data for the TQXmlReader subclasses
.SH SYNOPSIS
All the functions in this class are reentrant when TQt is built with thread support.
.PP
\fC#include \fR
.PP
.SS "Public Members"
.in +1c
.ti -1c
.BI "\fBTQXmlInputSource\fR ()"
.br
.ti -1c
.BI "\fBTQXmlInputSource\fR ( TQIODevice * dev )"
.br
.ti -1c
.BI "TQXmlInputSource ( TQFile & file ) \fI(obsolete)\fR"
.br
.ti -1c
.BI "TQXmlInputSource ( TQTextStream & stream ) \fI(obsolete)\fR"
.br
.ti -1c
.BI "virtual \fB~TQXmlInputSource\fR ()"
.br
.ti -1c
.BI "virtual void \fBsetData\fR ( const TQString & dat )"
.br
.ti -1c
.BI "virtual void \fBsetData\fR ( const TQByteArray & dat )"
.br
.ti -1c
.BI "virtual void \fBfetchData\fR ()"
.br
.ti -1c
.BI "virtual TQString \fBdata\fR ()"
.br
.ti -1c
.BI "virtual TQChar \fBnext\fR ()"
.br
.ti -1c
.BI "virtual void \fBreset\fR ()"
.br
.in -1c
.SS "Protected Members"
.in +1c
.ti -1c
.BI "virtual TQString \fBfromRawData\fR ( const TQByteArray & data, bool beginning = FALSE )"
.br
.in -1c
.SH DESCRIPTION
The TQXmlInputSource class provides the input data for the TQXmlReader subclasses.
.PP
All subclasses of TQXmlReader read the input XML document from this class.
.PP
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.
.PP
There are two ways to populate the input source with data: you can construct it with a TQIODevice* so that the input source reads the data from that device. Or you can set the data explicitly with one of the setData() functions.
.PP
Usually you either construct a TQXmlInputSource that works on a TQIODevice* or you construct an empty TQXmlInputSource and set the data with setData(). There are only rare occasions where you would want to mix both methods.
.PP
The TQXmlReader subclasses use the next() function to read the input character by character. If you want to start from the beginning again, use reset().
.PP
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 TQXmlInputClass in such cases is that it tries to use the correct encoding.
.PP
See also TQXmlReader, TQXmlSimpleReader, and XML.
.SH MEMBER FUNCTION DOCUMENTATION
.SH "TQXmlInputSource::TQXmlInputSource ()"
Constructs an input source which contains no data.
.PP
See also setData().
.SH "TQXmlInputSource::TQXmlInputSource ( TQIODevice * dev )"
Constructs an input source and gets the data from device \fIdev\fR. If \fIdev\fR is not open, it is opened in read-only mode. If \fIdev\fR is 0 or it is not possible to read from the device, the input source will contain no data.
.PP
See also setData(), fetchData(), and TQIODevice.
.SH "TQXmlInputSource::TQXmlInputSource ( TQFile & file )"
\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
.PP
Constructs an input source and gets the data from the file \fIfile\fR. If the file cannot be read the input source is empty.
.SH "TQXmlInputSource::TQXmlInputSource ( TQTextStream & stream )"
\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
.PP
Constructs an input source and gets the data from the text stream \fIstream\fR.
.SH "TQXmlInputSource::~TQXmlInputSource ()\fC [virtual]\fR"
Destructor.
.SH "TQString TQXmlInputSource::data ()\fC [virtual]\fR"
Returns the data the input source contains or TQString::null if the input source does not contain any data.
.PP
See also setData(), TQXmlInputSource(), and fetchData().
.SH "void TQXmlInputSource::fetchData ()\fC [virtual]\fR"
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.
.PP
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.
.PP
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).
.PP
You don't normally need to use this function if you use next().
.PP
See also data(), next(), and TQXmlInputSource().
.SH "TQString TQXmlInputSource::fromRawData ( const TQByteArray & data, bool beginning = FALSE )\fC [virtual protected]\fR"
This function reads the XML file from \fIdata\fR and tries to recognize the encoding. It converts the raw data \fIdata\fR into a TQString and returns it. It tries its best to get the correct encoding for the XML file.
.PP
If \fIbeginning\fR is TRUE, this function assumes that the data starts at the beginning of a new XML document and looks for an encoding declaration. If \fIbeginning\fR is FALSE, it converts the raw data using the encoding determined from prior calls.
.SH "TQChar TQXmlInputSource::next ()\fC [virtual]\fR"
Returns the next character of the input source. If this function reaches the end of available data, it returns TQXmlInputSource::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 TQXmlInputSource::EndOfDocument.
.PP
See also reset(), fetchData(), TQXmlSimpleReader::parse(), and TQXmlSimpleReader::parseContinue().
.SH "void TQXmlInputSource::reset ()\fC [virtual]\fR"
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.
.PP
See also next().
.PP
Example: xml/tagreader-with-features/tagreader.cpp.
.SH "void TQXmlInputSource::setData ( const TQString & dat )\fC [virtual]\fR"
Sets the data of the input source to \fIdat\fR.
.PP
If the input source already contains data, this function deletes that data first.
.PP
See also data().
.SH "void TQXmlInputSource::setData ( const TQByteArray & dat )\fC [virtual]\fR"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
The data \fIdat\fR is passed through the correct text-codec, before
it is set.
.SH "SEE ALSO"
.BR http://doc.trolltech.com/tqxmlinputsource.html
.BR http://www.trolltech.com/faq/tech.html
.SH COPYRIGHT
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
license file included in the distribution for a complete license
statement.
.SH AUTHOR
Generated automatically from the source code.
.SH BUGS
If you find a bug in Qt, please report it as described in
.BR http://doc.trolltech.com/bughowto.html .
Good bug reports help us to help you. Thank you.
.P
The definitive TQt documentation is provided in HTML format; it is
located at $TQTDIR/doc/html and can be read using TQt 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.
.P
If you find errors in this manual page, please report them to
.BR qt-bugs@trolltech.com .
Please include the name of the manual page (tqxmlinputsource.3qt) and the Qt
version (3.3.8).