hxxml.h

来自「symbian 下的helix player源代码」· C头文件 代码 · 共 485 行 · 第 1/2 页

H
485
字号
					const char*	/*IN*/	pName,
					IHXValues*	/*IN*/	pAttributes,
					UINT32		/*IN*/	ulLineNumber,
					UINT32		/*IN*/	ulColumnNumber) PURE;

    /************************************************************************
     *	Method:
     *	    IHXXMLParser::HandleEndElement
     *	Purpose:
     *	    Called with an end tag (</tag>)
     *	    Line/column numbers are for the start of the entity
     */
    STDMETHOD(HandleEndElement)		(THIS_
					const char*	/*IN*/	pName,
					UINT32		/*IN*/	ulLineNumber,
					UINT32		/*IN*/	ulColumnNumber) PURE;

    /************************************************************************
     *	Method:
     *	    IHXXMLParser::HandleCharacterData
     *	Purpose:
     *	    Called with stuff outside of tags
     *	    Line/column numbers are for the start of the entity
     */
    STDMETHOD(HandleCharacterData)	(THIS_
					IHXBuffer*	/*IN*/	pBuffer,
					UINT32		/*IN*/	ulLineNumber,
					UINT32		/*IN*/	ulColumnNumber) PURE;


    /************************************************************************
     *	Method:
     *	    IHXXMLParser::HandleProcessingInstruction
     *	Purpose:
     *	    Called with processing instruction (<?foobar flotz="fred" glootz="mary"?>)
     *	    Line/column numbers are for the start of the entity
     */
    STDMETHOD(HandleProcessingInstruction)  (THIS_
					    const char* /*IN*/  pTarget,
					    IHXValues* /*IN*/  pAttributes,
					    UINT32	/*IN*/	ulLineNumber,
					    UINT32	/*IN*/	ulColumnNumber) PURE;


    /************************************************************************
     *	Method:
     *	    IHXXMLParser::HandleUnparsedEntityDecl
     *	Purpose:
     *	    Called with entity info (<!ENTITY hatch-pic SYSTEM "../grafix/OpenHatch.gif" 
     *					NDATA gif>)
     *	    Line/column numbers are for the start of the entity
     */
    STDMETHOD(HandleUnparsedEntityDecl)	    (THIS_
					    const char* /*IN*/  pEntityName,
					    const char* /*IN*/  pSystemID,
					    const char* /*IN*/  pPublicID,
					    const char* /*IN*/  pNotationName,
					    UINT32	/*IN*/	ulLineNumber,
					    UINT32	/*IN*/	ulColumnNumber) PURE;


    /************************************************************************
     *	Method:
     *	    IHXXMLParser::HandleNotationDecl
     *	Purpose:
     *	    Called with notation info (<!NOTATION gif PUBLIC "http://www.gif.com/gif.not">)
     *	    Line/column numbers are for the start of the entity
     *
     */
    STDMETHOD(HandleNotationDecl)	    (THIS_
					    const char* /*IN*/  pNotationName,
					    const char* /*IN*/  pSystemID,
					    const char* /*IN*/  pPublicID,
					    UINT32	/*IN*/	ulLineNumber,
					    UINT32	/*IN*/	ulColumNumber) PURE;

    /************************************************************************
     *	Method:
     *	    IHXXMLParser::HandleComment
     *	Purpose:
     *	    Called with comment info (<!-- this is a comment -->)
     *	    Line/column numbers are for the start of the entity
     *
     */
    STDMETHOD(HandleComment)		    (THIS_
					    const char* /*IN*/  pComment,
					    UINT32	/*IN*/	ulLineNumber,
					    UINT32	/*IN*/	ulColumnNumber) PURE;


    /************************************************************************
     *	Method:
     *	    IHXXMLParser::HandleUnparsedDoctypeDecl
     *	Purpose:
     *	    Called with declaration info (<!DOCTYPE foo SYSTEM "foo.dtd">)
     *	    Line/column numbers are for the start of the entity
     *
     */
    STDMETHOD(HandleUnparsedDoctypeDecl)   (THIS_
					    const char* /*IN*/  pDoctype,
					    const char* /*IN*/  pSystemID,
					    const char* /*IN*/  pPublicID,
					    UINT32	/*IN*/	ulLineNumber,
					    UINT32	/*IN*/	ulColumnNumber) PURE;

    /************************************************************************
     *	Method:
     *	    IHXXMLParser::HandleDefault
     *	Purpose:
     *	    Called with unhandled entitiy data
     *	    Line/column numbers are for the start of the entity
     *
     */
    STDMETHOD(HandleDefault)		    (THIS_
					    IHXBuffer*	/*IN*/	pBuffer,
					    UINT32	/*IN*/	ulLineNumber,
					    UINT32	/*IN*/	ulColumnNumber) PURE;

};

//$ Private:
/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXXMLNamespaceParser
 * 
 *  Purpose:
 * 
 *	Extended XML Parsing to support Namespaces
 * 
 *  IID_IHXXMLNamespaceParser:
 * 
 *	{00002D02-0901-11d1-8B06-00A024406D59}
 * 
 */
DEFINE_GUID(IID_IHXXMLNamespaceParser, 0x00002D02, 0x901, 0x11d1, 
	    0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXXMLNamespaceParser

DECLARE_INTERFACE_(IHXXMLNamespaceParser, IUnknown)
{
    /*
     *	IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     *	IHXXMLNamespaceParser methods
     */
    
    /************************************************************************
     *	Method:
     *	    IHXXMLParser::Init
     *	Purpose:
     *	    Initilizes an XML parser with a response object, an encoding (normally
     *	    NULL, but can be any supported character encoding string such as 
     *	    "Shift_JIS" or "Big5"). The boolean bStrict is set to FALSE if a 'loose'
     *	    interpretation of the XML spec is allowed by the client; this includes
     *	    tag/attribute case insensitivity
     */
    STDMETHOD(InitNamespaceParser)	(THIS_
			IHXXMLParserResponse*	/*IN*/  pResponse,
			IHXXMLNamespaceResponse* /*IN*/pNSResp,
			const char*	    /*IN*/	pEncoding,
			const char	    /*IN*/	cSepChar) PURE;
    STDMETHOD_(char, GetSepChar)		(THIS) PURE;

};

/****************************************************************************
 * 
 *  Interface:
 * 
 *	IHXXMLNamespaceResponse
 * 
 *  Purpose:
 * 
 *	Namespace response object
 * 
 *  IID_IHXXMLNamespaceResponse:
 * 
 *	{00002D03-0901-11d1-8B06-00A024406D59}
 *
 */ 
DEFINE_GUID(IID_IHXXMLNamespaceResponse, 0x00002D03, 0x901, 0x11d1, 
	    0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXXMLNamespaceResponse

DECLARE_INTERFACE_(IHXXMLNamespaceResponse, IUnknown)
{
    /*
     *	IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     *	IHXXMLNamespaceResponse methods
     */

    /************************************************************************
     *	Method:
     *	    IHXXMLNamespaceResponse::HandleStartNamespaceDecl
     *	Purpose:
     *	    Called with xmlns:prefix="uri" or xmlns="uri" when it enters
     *	    scope before the tag in which it was declared
     */
    STDMETHOD(HandleStartNamespaceDecl)	(THIS_
					const char*	/*IN*/	pPrefix,
					const char*	/*IN*/	pURI) PURE;

    /************************************************************************
     *	Method:
     *	    IHXXMLParser::HandleEndElement
     *	Purpose:
     *	    Called when the namespace leaves scope.
     */
    STDMETHOD(HandleEndNamespaceDecl) (THIS_
				      const char* pPrefix) PURE;

};

//$ EndPrivate.

#endif	/* _HXXML_H_ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?