• Skip to content
  • Skip to link menu
KDE 4.1 API Reference
  • KDE API Reference
  • KDE-PIM Libraries
  • Sitemap
  • Contact Us
 

Syndication Library

Syndication::ElementWrapper

Syndication::ElementWrapper Class Reference

A wrapper for XML elements. More...

#include <elementwrapper.h>

List of all members.


Public Member Functions

QString attribute (const QString &name, const QString &defValue=QString()) const
QString attributeNS (const QString &nsURI, const QString &localName, const QString &defValue=QString()) const
QString childNodesAsXML () const
QString completeURI (const QString &uri) const
const QDomElement & element () const
QList< QDomElement > elementsByTagName (const QString &tagName) const
QList< QDomElement > elementsByTagNameNS (const QString &nsURI, const QString &tagName) const
 ElementWrapper (const QDomElement &element)
 ElementWrapper (const ElementWrapper &other)
 ElementWrapper ()
QString extractElementText (const QString &tagName) const
QString extractElementTextNS (const QString &namespaceURI, const QString &localName) const
QDomElement firstElementByTagNameNS (const QString &nsURI, const QString &tagName) const
bool hasAttribute (const QString &name) const
bool hasAttributeNS (const QString &nsURI, const QString &localName) const
bool isNull () const
ElementWrapper & operator= (const ElementWrapper &other)
bool operator== (const ElementWrapper &other) const
QString text () const
QString xmlBase () const
QString xmlLang () const
virtual ~ElementWrapper ()

Static Public Member Functions

static QString childNodesAsXML (const QDomElement &parent)

Detailed Description

A wrapper for XML elements.

This is the base class for the (lazy) wrappers used in the RSS2 and Atom parsers. The wrapped element can be accessed via element(). It also contains several helper functions for XML processing.

Author:
Frank Osterfeld

Definition at line 43 of file elementwrapper.h.


Constructor & Destructor Documentation

Syndication::ElementWrapper::ElementWrapper (  ) 

creates a element wrapper wrapping a null element.

isNull() will return true for these instances.

Definition at line 44 of file elementwrapper.cpp.

Syndication::ElementWrapper::ElementWrapper ( const ElementWrapper &  other  ) 

Copy constructor.The instances share the same element.

Parameters:
other the element wrapper to copy

Definition at line 50 of file elementwrapper.cpp.

Syndication::ElementWrapper::ElementWrapper ( const QDomElement &  element  ) 

Creates an element wrapper wrapping the DOM element element.

Parameters:
element the element to wrap

Definition at line 55 of file elementwrapper.cpp.

Syndication::ElementWrapper::~ElementWrapper (  )  [virtual]

destructor

Definition at line 62 of file elementwrapper.cpp.


Member Function Documentation

QString Syndication::ElementWrapper::attribute ( const QString &  name,
const QString &  defValue = QString() 
) const

Returns the attribute called name.

If the attribute does not exist defValue is returned. (which is a null string by default).

Parameters:
name tag name
defValue the default value

Definition at line 257 of file elementwrapper.cpp.

QString Syndication::ElementWrapper::attributeNS ( const QString &  nsURI,
const QString &  localName,
const QString &  defValue = QString() 
) const

Returns the attribute with the local name localName and the namespace URI nsURI.

If the attribute does not exist defValue is returned (which is a null string by default).

Parameters:
nsURI namespace URI
localName local tag name
defValue the default value

Definition at line 262 of file elementwrapper.cpp.

QString Syndication::ElementWrapper::childNodesAsXML ( const QDomElement &  parent  )  [static]

concatenates the XML representations of all children.

Example: If parent is an xhtml:body element like

 <xhtml:body><p>foo</p><blockquote>bar</blockquote></xhtml:body>
this function returns
 <p>foo</p><blockquote>bar</blockquote>

namespace and xml:base information are preserved.

Parameters:
parent the DOM element whose children should be returned as XML
Returns:
XML serialization of parent's children

Definition at line 163 of file elementwrapper.cpp.

QString Syndication::ElementWrapper::childNodesAsXML (  )  const

returns the child nodes of the wrapped element as XML.

See childNodesAsXML(const QDomElement& parent) for details

Returns:
XML serialization of the wrapped element's children

Definition at line 195 of file elementwrapper.cpp.

QString Syndication::ElementWrapper::completeURI ( const QString &  uri  )  const

completes relative URIs with a prefix specified via xml:base.

Example:

 xml:base="http://www.foo.org/", uri="announcements/bar.html"

is completed to http://www.foo.org/announcements/bar.html

See also xmlBase().

Parameters:
uri a possibly relative URI
Returns:
the resolved, absolute URI (using xml:base), if uri is a relative, valid URI. If uri is not valid, absolute, or no xml:base is set in the scope of this element, uri is returned unmodified.

Definition at line 115 of file elementwrapper.cpp.

const QDomElement & Syndication::ElementWrapper::element (  )  const

returns the wrapped resource.

Definition at line 82 of file elementwrapper.cpp.

QList< QDomElement > Syndication::ElementWrapper::elementsByTagName ( const QString &  tagName  )  const

returns all child elements with tag name tagName Contrary to QDomElement::elementsByTagName() only direct descendents are returned.

Parameters:
tagName the tag name of the elements to extract
Returns:
a list of child elements with the given tag name

Definition at line 200 of file elementwrapper.cpp.

QList< QDomElement > Syndication::ElementWrapper::elementsByTagNameNS ( const QString &  nsURI,
const QString &  tagName 
) const

returns all child elements with tag name tagname and namespace URI nsURI.

Contrary to QDomElement::elementsByTagNameNS() only direct descendents are returned

Parameters:
nsURI the namespace URI
tagName the local name (local within its namespace) of the element to search for
Returns:
a list of child elements with the given namespace URI and tag name

Definition at line 234 of file elementwrapper.cpp.

QString Syndication::ElementWrapper::extractElementText ( const QString &  tagName  )  const

extracts the text from a child element, ignoring namespaces.

For instance, when the wrapped element is <thisElement>:

 <thisElement>
     <title>Hi there</title>
 </thisElement>
extractElementText("title") will return the text content of title, "Hi there".

Parameters:
tagName the name of the element to extract
Returns:
the (trimmed) text content of tagName, or a null string if there is no such tag

Definition at line 151 of file elementwrapper.cpp.

QString Syndication::ElementWrapper::extractElementTextNS ( const QString &  namespaceURI,
const QString &  localName 
) const

extracts the text from a child element, respecting namespaces.

If there is more than one child with the same tag name, the first one is processed. For instance, when the wrapped element is <hisElement>:

 <thisElement>
     <atom:title>Hi there</atom:title>
 </thisElement>
 extractElementText("http://www.w3.org/2005/Atom", "title")
will return the text content of atom:title, "Hi there". (Assuming that "atom" is defined as "http://www.w3.org/2005/Atom")

Parameters:
namespaceURI the namespace URI of the element to extract
localName the local name (local within its namespace) of the element to extract
Returns:
the (trimmed) text content of localName, or a null string if there is no such tag

Definition at line 157 of file elementwrapper.cpp.

QDomElement Syndication::ElementWrapper::firstElementByTagNameNS ( const QString &  nsURI,
const QString &  tagName 
) const

searches the direct children of the wrapped element for an element with a given namespace and tag name.

Parameters:
nsURI the namespace URI
tagName the local name (local within its namespace) of the element to search for
Returns:
the first child element with the given namespace URI and tag name, or a null element if no such element was found.

Definition at line 215 of file elementwrapper.cpp.

bool Syndication::ElementWrapper::hasAttribute ( const QString &  name  )  const

Returns true if this element has an attribute called name; otherwise returns false.

Parameters:
name the attribute name (without namespace)

Definition at line 267 of file elementwrapper.cpp.

bool Syndication::ElementWrapper::hasAttributeNS ( const QString &  nsURI,
const QString &  localName 
) const

Returns true if this element has an attribute with the local name localName and the namespace URI nsURI; otherwise returns false.

Parameters:
nsURI namespace URI
localName local attribute name

Definition at line 272 of file elementwrapper.cpp.

bool Syndication::ElementWrapper::isNull (  )  const

returns whether the wrapped element is a null element

Returns:
true if isNull() is true for the wrapped element, false otherwise

Definition at line 77 of file elementwrapper.cpp.

ElementWrapper & Syndication::ElementWrapper::operator= ( const ElementWrapper &  other  ) 

Assigns another element wrapper to this one.

Both instances share the same wrapped element instance.

Parameters:
other the element wrapper to assign
Returns:
reference to this instance

Definition at line 66 of file elementwrapper.cpp.

bool Syndication::ElementWrapper::operator== ( const ElementWrapper &  other  )  const

compares two wrappers.

Two wrappers are equal if and only if the wrapped elements are equal.

Parameters:
other another element wrapper to compare to

Definition at line 72 of file elementwrapper.cpp.

QString Syndication::ElementWrapper::text (  )  const

Returns the wrapped element's text or an empty string.

For more information, see QDomElement::text();

Definition at line 252 of file elementwrapper.cpp.

QString Syndication::ElementWrapper::xmlBase (  )  const

returns the xml:base value to be used for the wrapped element.

The xml:base attribute establishes the base URI for resolving any relative references found in its scope (its own element and all descendants). (See also completeURI())

Returns:
the xml:base value, or a null string if not set

Definition at line 87 of file elementwrapper.cpp.

QString Syndication::ElementWrapper::xmlLang (  )  const

returns the xml:lang value to be used for the wrapped element.

The xml:lang attribute indicates the natural language for its element and all descendants.

Returns:
the xml:lang value, or a null string if not set

Definition at line 125 of file elementwrapper.cpp.


The documentation for this class was generated from the following files:
  • elementwrapper.h
  • elementwrapper.cpp

Syndication Library

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

KDE-PIM Libraries

Skip menu "KDE-PIM Libraries"
  • akonadi
  • kabc
  • kblog
  • kcal
  • kimap
  • kioslave
  •   imap4
  •   mbox
  • kldap
  • kmime
  • kpimidentities
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Generated for KDE-PIM Libraries by doxygen 1.5.7.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal