API Overview

Classes, Protocols and Categories by Groups



The ETXMLDeclaration is a ETXMLNode representing the XML header in a form of <?xml version="1.0" encoding="UTF-8" ?>. It only take attributes of 'version', 'encoding', 'standalone' and without any CDATA. NOTE: ETXMLParser does not generate ETXMLDeclaration node. This node is only used for build ETXMLNode tree and write out a string of XML document or serves as a root for ETXMLParser.


An XML writer that outputs to a socket. This sends the data directly after each method call, so may be mixed with other forms of access to the socket.


Description forthcoming.


The ETXMLString class parses XML elements of the form <element>some character data</element>. All child elements will be ignored, and the character data will be returned to the parent as an NSString.


The ETXMLNullHandler class serves two purposes. First, it is used when parsing to ignore an XML element and all of its children. It simply maintains a count of the depth, and ignores everything passed to it.

The second use is as a superclass for other XML parser delegates. The class implements the required functionality for a parser delegate, and so can be easily extended through subclassing.


The ETXMLParserDelegate protocol is a formal protocol that must be implemented by classes used as delegates for XML parsing.


The ETXMLWriting protocol is implemented by any object which consumes SAX-like events, either from a parser or from some other data source.


An XML stream parse class. This parser is statefull, and will cache any unparsed data. Messages are fired off to the delegate for start and end tags as well as character data.

This class might more accurately be called ETXMLScanner or ETXMLTokeniser since the actual parsing is handled by the delegate.

NSAttributedString (HTML)

Description forthcoming.


The ETXMLXHTML_IMParser class constructs an NSAttributedString from a series of XHTML-IM tags handed to the parser.

Not yet finished.


The ETXMLNode class represents a single XML element, which may contain character data or other nodes. It can be used with the parser directly to create an object structure representing the XML hierarchy. More commonly, it is used to generate the tree directly and then output XML.

This class almost certainly uses some non-standard terminology relating to XML, which should probably be fixed at some point. Eventually, this class should probably be retired. Currently, most of the XMPP code only uses the +ETXMLNodeWithType , +ETXMLNodeWithType:attributes: , -addChild:, -addCData: and -stringValue: methods. All others should be considered deprecated.

Note: ETXMLNode objects are always mutable, and should be treated as such.