00001
00011 #ifndef P6SAX2CONTENTHANDLER_H__
00012 #define P6SAX2CONTENTHANDLER_H__ 1
00013
00014 #include "p6sax2types.h"
00015 #include "p6sax2locator.h"
00016 #include "p6sax2attributes.h"
00017
00018 namespace P6R {
00019
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023
00031 typedef P6UINT32 P6SAX2METADATA;
00032 const P6SAX2METADATA P6SAX2META_NOFLAGS = 0x00000000;
00033 const P6SAX2METADATA P6SAX2META_INCDATA = 0x00000001;
00034
00035
00060 interface p6ISAX2ContentHandler : public p6ICom
00061 {
00079 P6COMMETHOD characters( P6SAX2STRING* pBuffer, P6SAX2METADATA meta ) = 0;
00080
00090 P6COMMETHOD endDocument() = 0;
00091
00117 P6COMMETHOD endElement( P6SAX2STRING* pURI, P6SAX2STRING* pLocalName, P6SAX2STRING* pQName ) = 0;
00118
00135 P6COMMETHOD endPrefixMapping( P6SAX2STRING* pPrefix ) = 0;
00136
00150 P6COMMETHOD ignorableWhitespace( const P6CHAR* pBuffer, P6UINT32 start, P6UINT32 length )= 0;
00151
00163 P6COMMETHOD processingInstruction( P6SAX2STRING* pTarget, P6SAX2STRING* pData ) = 0;
00164
00177 P6COMMETHOD setDocumentLocator( p6ISAX2Locator* pObject ) = 0;
00178
00191 P6COMMETHOD skippedEntity( P6SAX2STRING* pName ) = 0;
00192
00202 P6COMMETHOD startDocument() = 0;
00203
00232 P6COMMETHOD startElement( P6SAX2STRING* pURI,
00233 P6SAX2STRING* pLocalName,
00234 P6SAX2STRING* pQName,
00235 P6SAX2STRING* pRawElement,
00236 p6ISAX2Attributes* pAtts
00237 ) = 0;
00238
00255 P6COMMETHOD startPrefixMapping( P6SAX2STRING* pPrefix, P6SAX2STRING* pURI ) = 0;
00256 };
00257
00258
00259 #define IF_p6ISAX2ContentHandler {0x6ad46931,0x5d6b,0x4d3a,{0x9d,0x3f,0x43,0xb,0x29,0x91,0x27,0x24}}
00260
00261 #ifdef __cplusplus
00262 }
00263 #endif
00264
00265 }
00266
00267
00268 #endif
00269
00270
00271
00272
00273