• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.10.5 API Reference
  • KDE Home
  • Contact Us
 

Syndication Library

Classes | Typedefs | Enumerations | Functions | Variables
Syndication Namespace Reference

Classes

class  AbstractParser
 
class  Category
 
class  DataRetriever
 
class  DocumentSource
 
class  DocumentVisitor
 
class  ElementWrapper
 
class  Enclosure
 
class  Feed
 
class  FileRetriever
 
class  Image
 
class  Item
 
class  Loader
 
class  Mapper
 
class  OutputRetriever
 
class  ParserCollection
 
class  Person
 
class  SpecificDocument
 
class  SpecificItem
 
class  SpecificItemVisitor
 

Typedefs

typedef boost::shared_ptr
< Category > 
CategoryPtr
 

Enumerations

enum  DateFormat { ISODate, RFCDate }
 
enum  ErrorCode {
  Success = 0, Aborted = 1, Timeout = 2, UnknownHost = 3,
  FileNotFound = 4, OtherRetrieverError = 5, InvalidXml = 6, XmlNotAccepted = 7,
  InvalidFormat = 8
}
 

Functions

unsigned int calcHash (const QString &str)
 
unsigned int calcHash (const QByteArray &array)
 
QString calcMD5Sum (const QString &str)
 
QString commentApiNamespace ()
 
QString contentNameSpace ()
 
QString convertNewlines (const QString &str)
 
QString dateTimeToString (time_t date)
 
QString dublinCoreNamespace ()
 
QString escapeSpecialCharacters (const QString &str)
 
QString htmlToPlainText (const QString &html)
 
bool isHtml (const QString &str)
 
QString itunesNamespace ()
 
QString normalize (const QString &str)
 
QString normalize (const QString &str, bool isCDATA, bool containsMarkup)
 
FeedPtr parse (const DocumentSource &src, const QString &formatHint=QString())
 
time_t parseDate (const QString &str, DateFormat hint=RFCDate)
 
time_t parseISODate (const QString &str)
 
ParserCollection< Feed > * parserCollection ()
 
time_t parseRFCDate (const QString &str)
 
PersonPtr personFromString (const QString &str)
 
QString plainTextToHtml (const QString &plainText)
 
QString resolveEntities (const QString &str)
 
QString slashNamespace ()
 
bool stringContainsMarkup (const QString &str)
 
static time_t toTimeT (KDateTime &kdt)
 
QString xhtmlNamespace ()
 
QString xmlNamespace ()
 

Variables

KMD5 md5Machine
 
static ParserCollectionImpl
< Syndication::Feed > * 
parserColl = 0
 

Detailed Description

TODO.

Enumeration Type Documentation

enum Syndication::DateFormat

date formats supported by date parsers

Enumerator
ISODate 

ISO 8601 extended format.

(date: "2003-12-13",datetime: "2003-12-13T18:30:02.25", datetime with timezone: "2003-12-13T18:30:02.25+01:00")

RFCDate 

RFC 822.

(e.g. "Sat, 07 Sep 2002 00:00:01 GMT")

Definition at line 41 of file tools.h.

enum Syndication::ErrorCode

error code indicating fetching or parsing errors

Enumerator
Success 

No error occurred, feed was fetched and parsed successfully.

Aborted 

file downloading/parsing was aborted by the user

Timeout 

file download timed out

UnknownHost 

The hostname couldn't get resolved to an IP address.

FileNotFound 

the host was contacted successfully, but reported a 404 error

OtherRetrieverError 

retriever error not covered by the error codes above.

This is returned if a custom DataRetriever was used. See the retriever-specific status byte for more information on the occurred error.

InvalidXml 

The XML is invalid.

This is returned if no parser accepts the source and the DOM document can't be parsed. It is not returned if the source is not valid XML but a (non-XML) parser accepts it.

XmlNotAccepted 

The source is valid XML, but no parser accepted it.

InvalidFormat 

the source was accepted by a parser, but the actual parsing failed.

As our parser implementations currently do not validate the source ("parse what you can get"), this code will be rarely seen.

Definition at line 85 of file global.h.

Function Documentation

unsigned int Syndication::calcHash ( const QString &  str)

calculates a hash value for a string

Definition at line 41 of file tools.cpp.

unsigned int Syndication::calcHash ( const QByteArray &  array)

calculates a hash value for a byte array

Definition at line 46 of file tools.cpp.

QString Syndication::calcMD5Sum ( const QString &  str)

calculates a md5 checksum for a string

Definition at line 115 of file tools.cpp.

QString Syndication::commentApiNamespace ( )

wellformedweb.org's RSS namespace for comment functionality "http://wellformedweb.org/CommentAPI/"

Definition at line 54 of file constants.cpp.

QString Syndication::convertNewlines ( const QString &  str)

replaces newlines ("\n") by <br/>

Parameters
strstring to convert

Definition at line 138 of file tools.cpp.

QString Syndication::dateTimeToString ( time_t  date)

returns a string representation of a datetime. this is used internally to create debugging output.

Parameters
datethe date to convert
Returns
string representation of the date, or a null string if date is 0

Definition at line 105 of file tools.cpp.

QString Syndication::escapeSpecialCharacters ( const QString &  str)

replaces the characters < >, &, ", ' with &lt; &gt; &amp;, &quot; &apos;.

Parameters
strthe string to escape

Definition at line 127 of file tools.cpp.

QString Syndication::htmlToPlainText ( const QString &  html)

converts a HTML string to plain text

Parameters
htmlstring in HTML format
Returns
stripped text

Definition at line 156 of file tools.cpp.

bool Syndication::isHtml ( const QString &  str)

guesses whether a string contains plain text or HTML

Parameters
strthe string in unknown format
Returns
true if the heuristic thinks it's HTML, false if thinks it is plain text

Definition at line 188 of file tools.cpp.

QString Syndication::normalize ( const QString &  str)

Ensures HTML formatting for a string.

guesses via isHtml() if str contains HTML or plain text, and returns plainTextToHtml(str) if it thinks it is plain text, or the unmodified str otherwise.

Parameters
stra string with unknown content
Returns
string as HTML (as long as the heuristics work)

Definition at line 209 of file tools.cpp.

QString Syndication::normalize ( const QString &  str,
bool  isCDATA,
bool  containsMarkup 
)

normalizes a string based on feed-wide properties of tag content.

It is based on the assumption that all items in a feed encode their title/description content in the same way (CDATA or not, plain text vs. HTML). isCDATA and containsMarkup are determined once by the feed, and then passed to this method.

The returned string contains HTML, with special characters <, >, &, ", and ' escaped, and all other entities resolved. Whitespace is collapsed, relevant whitespace is replaced by respective HTML tags (<br/>).

Parameters
stra string
isCDATAwhether the feed uses CDATA for the tag str was read from
containsMarkupwhether the feed uses HTML markup in the tag str was read from.
Returns
string as HTML (as long as the heuristics work)

Definition at line 214 of file tools.cpp.

FeedPtr Syndication::parse ( const DocumentSource &  src,
const QString &  formatHint = QString() 
)

parses a document from a source and returns a new Feed object wrapping the feed content.

Shortcut for parserCollection()->parse(). See ParserCollection::parse() for more details.

Parameters
srcthe document source to parse
formatHintan optional hint which format to test first

Definition at line 69 of file global.cpp.

time_t Syndication::parseDate ( const QString &  str,
DateFormat  hint = RFCDate 
)

parses a date string in ISO (see parseISODate()) or RFC 822 (see parseRFCDate()) format.

It tries both parsers and returns the first valid parsing result found (or 0 otherwise). To speed up parsing, you can give a hint which format you expect. The method will try the corresponding parser first then.

Parameters
stra date string
hintthe expected format
Returns
parsed date in seconds since epoch, 0 if no date could be parsed from the string.

Definition at line 88 of file tools.cpp.

time_t Syndication::parseISODate ( const QString &  str)

parses a date string in ISO 8601 extended format.

(date: "2003-12-13",datetime: "2003-12-13T18:30:02.25", datetime with timezone: "2003-12-13T18:30:02.25+01:00")

Parameters
stra string in ISO 8601 format
Returns
parsed date in seconds since epoch, 0 if no date could be parsed from the string.

Definition at line 76 of file tools.cpp.

ParserCollection< Feed > * Syndication::parserCollection ( )

The default ParserCollection instance parsing a DocumentSource into a Feed object.

Use this to parse a local file or a otherwise manually created DocumentSource object.

To retrieve a feed from the web, use Loader instead.

Example code:

...
QFile someFile(somePath);
...
DocumentSource src(someFile.readAll());
someFile.close();
FeedPtr feed = parserCollection()->parse(src);
if (feed)
{
QString title = feed->title();
QList<ItemPtr> items = feed->items();
...
}

Definition at line 55 of file global.cpp.

time_t Syndication::parseRFCDate ( const QString &  str)

parses a date string as defined in RFC 822.

(Sat, 07 Sep 2002 00:00:01 GMT)

Parameters
stra string in RFC 822 format
Returns
parsed date in seconds since epoch, 0 if no date could be parsed from the string.

Definition at line 82 of file tools.cpp.

PersonPtr Syndication::personFromString ( const QString &  str)

Parses a person object from a string by identifying name and email address in the string.

Currently detected variants are: "foo@bar.com", "Foo", "Foo &lt;foo@bar.com>", "foo@bar.com (Foo)".

Parameters
strthe string to parse the person from.
Returns
a Person object containing the parsed information.

Definition at line 237 of file tools.cpp.

QString Syndication::plainTextToHtml ( const QString &  plainText)

converts a plain text string to HTML

Parameters
plainTexta string in plain text.

Definition at line 145 of file tools.cpp.

QString Syndication::resolveEntities ( const QString &  str)

resolves entities to respective unicode chars.

Parameters
stra string

Definition at line 122 of file tools.cpp.

QString Syndication::slashNamespace ( )

"slash" namespace http://purl.org/rss/1.0/modules/slash/

Definition at line 59 of file constants.cpp.

bool Syndication::stringContainsMarkup ( const QString &  str)

guesses whether a string contains (HTML) markup or not.

This implements not an exact check for valid HTML markup, but a simple (and relatively fast) heuristic.

Parameters
strthe string that might or might not contain markup
Returns
true if the heuristic thinks it contains markup, false if thinks it is markup-free plain text

Definition at line 170 of file tools.cpp.

This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Sat Jul 13 2013 01:26:15 by doxygen 1.8.3.1 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Syndication Library

Skip menu "Syndication Library"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • Related Pages

kdepimlibs-4.10.5 API Reference

Skip menu "kdepimlibs-4.10.5 API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal