Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
P6R::p6ISAX2Attributes Interface Referenceabstract

#include <p6sax2attributes.h>

Inherits P6R::p6ICom.

Public Member Functions

virtual P6INT32 addref (void)=0
 
virtual P6R::P6ERR getIndexByQName (P6SAX2STRING *pQName, P6UINT32 *pIndex)=0
 
virtual P6R::P6ERR getIndexByURI (P6SAX2STRING *pURI, P6SAX2STRING *pLocalName, P6UINT32 *pIndex)=0
 
virtual P6R::P6ERR getLength (P6UINT32 *pLength)=0
 
virtual P6R::P6ERR getLocalName (P6UINT32 index, P6SAX2STRING *pString)=0
 
virtual P6R::P6ERR getQName (P6UINT32 index, P6SAX2STRING *pString)=0
 
virtual P6R::P6ERR getTypeByIndex (P6UINT32 index, P6SAX2STRING *pString)=0
 
virtual P6R::P6ERR getTypeByQName (P6SAX2STRING *pQName, P6SAX2STRING *pString)=0
 
virtual P6R::P6ERR getTypeByURI (P6SAX2STRING *pURI, P6SAX2STRING *pLocalName, P6SAX2STRING *pString)=0
 
virtual P6R::P6ERR getURI (P6UINT32 index, P6SAX2STRING *pString)=0
 
virtual P6R::P6ERR getValueByIndex (P6UINT32 index, P6SAX2STRING *pString)=0
 
virtual P6R::P6ERR getValueByQName (P6SAX2STRING *pQName, P6SAX2STRING *pString)=0
 
virtual P6R::P6ERR getValueByURI (P6SAX2STRING *pURI, P6SAX2STRING *pLocalName, P6SAX2STRING *pString)=0
 
virtual P6R::P6ERR queryInterface (const P6R::P6IID &iid, P6VOID **ppIface)=0
 
virtual P6INT32 release (void)=0
 

Detailed Description

This interface is created by the p6ISAX2XMLReader component and returned to the application via the P6R::p6ISAX2ContentHandler::startElement() method.

Note, that P6SAX2STRING points into the application's buffer passed into the p6IDataStream::processStream() method. Thus these pointers are only valid as long as the XML Reader holds the buffer. Also P6SAX2STRING variables that define namespace items (i.e., URI) are only valid as long as that namespace is in scope. Once the namespace goes out of scope then all strings for that namespace are freed.

The benefits of this pointer design is that the XML Reader does very few internal memory allocations and copying of XML data. The using application should use the pointers immediately when they are provided during a callback to p6ISAX2ContentHandler component or make a copy of the data itself.

Definition at line 40 of file p6sax2attributes.h.


The documentation for this interface was generated from the following file: