📄 sax2xmlfilterimpl.hpp
字号:
* @see #characters */ virtual void ignorableWhitespace ( const XMLCh* const chars , const unsigned int length ); /** * Receive notification of a processing instruction. * * <p>The Parser will invoke this method once for each processing * instruction found: note that processing instructions may occur * before or after the main document element.</p> * * <p>A SAX parser should never report an XML declaration (XML 1.0, * section 2.8) or a text declaration (XML 1.0, section 4.3.1) * using this method.</p> * * @param target The processing instruction target. * @param data The processing instruction data, or null if * none was supplied. * @exception SAXException Any SAX exception, possibly * wrapping another exception. */ virtual void processingInstruction ( const XMLCh* const target , const XMLCh* const data ); /** * Receive an object for locating the origin of SAX document events. * * SAX parsers are strongly encouraged (though not absolutely * required) to supply a locator: if it does so, it must supply * the locator to the application by invoking this method before * invoking any of the other methods in the DocumentHandler * interface. * * The locator allows the application to determine the end * position of any document-related event, even if the parser is * not reporting an error. Typically, the application will * use this information for reporting its own errors (such as * character content that does not match an application's * business rules). The information returned by the locator * is probably not sufficient for use with a search engine. * * Note that the locator will return correct information only * during the invocation of the events in this interface. The * application should not attempt to use it at any other time. * * @param locator An object that can return the location of * any SAX document event. The object is only * 'on loan' to the client code and they are not * to attempt to delete or modify it in any way! * * @see Locator#Locator */ virtual void setDocumentLocator(const Locator* const locator); /** * Receive notification of the beginning of a document. * * <p>The SAX parser will invoke this method only once, before any * other methods in this interface or in DTDHandler (except for * setDocumentLocator).</p> * * @exception SAXException Any SAX exception, possibly * wrapping another exception. */ virtual void startDocument(); /** * Receive notification of the beginning of an element. * * <p>The Parser will invoke this method at the beginning of every * element in the XML document; there will be a corresponding * endElement() event for every startElement() event (even when the * element is empty). All of the element's content will be * reported, in order, before the corresponding endElement() * event.</p> * * <p>Note that the attribute list provided will * contain only attributes with explicit values (specified or * defaulted): #IMPLIED attributes will be omitted.</p> * * @param uri The URI of the asscioated namespace for this element * @param localname The local part of the element name * @param qname The QName of this element * @param attrs The attributes attached to the element, if any. * @exception SAXException Any SAX exception, possibly * wrapping another exception. * @see #endElement * @see Attributes#Attributes */ virtual void startElement ( const XMLCh* const uri, const XMLCh* const localname, const XMLCh* const qname, const Attributes& attrs ); /** * Receive notification of the start of an namespace prefix mapping. * * <p>By default, do nothing. Application writers may override this * method in a subclass to take specific actions at the start of * each namespace prefix mapping.</p> * * @param prefix The namespace prefix used * @param uri The namespace URI used. * @exception SAXException Any SAX exception, possibly * wrapping another exception. */ virtual void startPrefixMapping ( const XMLCh* const prefix, const XMLCh* const uri ); /** * Receive notification of the end of an namespace prefix mapping. * * <p>By default, do nothing. Application writers may override this * method in a subclass to take specific actions at the end of * each namespace prefix mapping.</p> * * @param prefix The namespace prefix used * @exception SAXException Any SAX exception, possibly * wrapping another exception. */ virtual void endPrefixMapping ( const XMLCh* const prefix ); /** * Receive notification of a skipped entity * * <p>The parser will invoke this method once for each entity * skipped. All processors may skip external entities, * depending on the values of the features:<br> * http://xml.org/sax/features/external-general-entities<br> * http://xml.org/sax/features/external-parameter-entities</p> * * <p>Note: Xerces (specifically) never skips any entities, regardless * of the above features. This function is never called in the * Xerces implementation of SAX2.</p> * * <p>Introduced with SAX2</p> * * @param name The name of the skipped entity. If it is a parameter entity, * the name will begin with %, and if it is the external DTD subset, * it will be the string [dtd]. * @exception SAXException Any SAX exception, possibly * wrapping another exception. */ virtual void skippedEntity ( const XMLCh* const name ); //@} // ----------------------------------------------------------------------- // Implementation of the ErrorHandler interface // ----------------------------------------------------------------------- /** @name The error handler interface */ //@{ /** * Receive notification of a warning. * * <p>SAX parsers will use this method to report conditions that * are not errors or fatal errors as defined by the XML 1.0 * recommendation. The default behaviour is to take no action.</p> * * <p>The SAX parser must continue to provide normal parsing events * after invoking this method: it should still be possible for the * application to process the document through to the end.</p> * * @param exc The warning information encapsulated in a * SAX parse exception. * @exception SAXException Any SAX exception, possibly * wrapping another exception. * @see SAXParseException#SAXParseException */ virtual void warning(const SAXParseException& exc); /** * Receive notification of a recoverable error. * * <p>This corresponds to the definition of "error" in section 1.2 * of the W3C XML 1.0 Recommendation. For example, a validating * parser would use this callback to report the violation of a * validity constraint. The default behaviour is to take no * action.</p> * * <p>The SAX parser must continue to provide normal parsing events * after invoking this method: it should still be possible for the * application to process the document through to the end. If the * application cannot do so, then the parser should report a fatal * error even if the XML 1.0 recommendation does not require it to * do so.</p> * * @param exc The error information encapsulated in a * SAX parse exception. * @exception SAXException Any SAX exception, possibly * wrapping another exception. * @see SAXParseException#SAXParseException */ virtual void error(const SAXParseException& exc); /** * Receive notification of a non-recoverable error. * * <p>This corresponds to the definition of "fatal error" in * section 1.2 of the W3C XML 1.0 Recommendation. For example, a * parser would use this callback to report the violation of a * well-formedness constraint.</p> * * <p>The application must assume that the document is unusable * after the parser has invoked this method, and should continue * (if at all) only for the sake of collecting addition error * messages: in fact, SAX parsers are free to stop reporting any * other events once this method has been invoked.</p> * * @param exc The error information encapsulated in a * SAX parse exception. * @exception SAXException Any SAX exception, possibly * wrapping another exception. * @see SAXParseException#SAXParseException */ virtual void fatalError(const SAXParseException& exc); /** * Reset the Error handler object on its reuse * * <p>This method helps in reseting the Error handler object * implementational defaults each time the Error handler is begun.</p> * */ virtual void resetErrors(); //@}private : // ----------------------------------------------------------------------- // Unimplemented constructors and operators // ----------------------------------------------------------------------- SAX2XMLFilterImpl(const SAX2XMLFilterImpl&); SAX2XMLFilterImpl& operator=(const SAX2XMLFilterImpl&); // ----------------------------------------------------------------------- // Private data members // // fParentReader // The object that we are filtering // // fDocHandler // The installed SAX content handler, if any. Null if none. // // fDTDHandler // The installed SAX DTD handler, if any. Null if none. // // fEntityResolver // The installed SAX entity handler, if any. Null if none. // // fErrorHandler // The installed SAX error handler, if any. Null if none. // // ----------------------------------------------------------------------- SAX2XMLReader* fParentReader; ContentHandler* fDocHandler; DTDHandler* fDTDHandler; EntityResolver* fEntityResolver; ErrorHandler* fErrorHandler;};// ---------------------------------------------------------------------------// SAX2XMLReader: Getter methods// ---------------------------------------------------------------------------inline SAX2XMLReader* SAX2XMLFilterImpl::getParent() const{ return fParentReader;}inline ContentHandler* SAX2XMLFilterImpl::getContentHandler() const{ return fDocHandler;}inline DTDHandler* SAX2XMLFilterImpl::getDTDHandler() const{ return fDTDHandler;}inline EntityResolver* SAX2XMLFilterImpl::getEntityResolver() const{ return fEntityResolver;}inline ErrorHandler* SAX2XMLFilterImpl::getErrorHandler() const{ return fErrorHandler;}inline LexicalHandler* SAX2XMLFilterImpl::getLexicalHandler() const{ return 0;}inline DeclHandler* SAX2XMLFilterImpl::getDeclarationHandler() const{ return 0;}inline void SAX2XMLFilterImpl::setContentHandler(ContentHandler* const handler){ fDocHandler = handler;}inline void SAX2XMLFilterImpl::setDTDHandler(DTDHandler* const handler){ fDTDHandler = handler;}inline void SAX2XMLFilterImpl::setErrorHandler(ErrorHandler* const handler){ fErrorHandler = handler;}inline void SAX2XMLFilterImpl::setEntityResolver(EntityResolver* const resolver){ fEntityResolver = resolver;}inline void SAX2XMLFilterImpl::setLexicalHandler(LexicalHandler* const /*handler*/){}inline void SAX2XMLFilterImpl::setDeclarationHandler(DeclHandler* const /*handler*/){}inline void SAX2XMLFilterImpl::installAdvDocHandler(XMLDocumentHandler* const /*toInstall*/){}inline bool SAX2XMLFilterImpl::removeAdvDocHandler(XMLDocumentHandler* const /*toRemove*/){ return false;}XERCES_CPP_NAMESPACE_END#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -