|
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 |
|
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.