DTD_Manager.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    DTD_Manager.h
00006  *
00007  *  DTD_Manager.h,v 1.7 2003/07/19 19:04:10 dhinton Exp
00008  *
00009  *  @author Nanbor Wang <nanbor@cs.wustl.edu>
00010  */
00011 //=============================================================================
00012 #ifndef _ACEXML_DTD_Manager_H_
00013 #define _ACEXML_DTD_Manager_H_
00014 
00015 #include /**/ "ace/pre.h"
00016 #include "ACEXML/common/ACEXML_Export.h"
00017 
00018 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00019 #pragma once
00020 #endif /* ACE_LACKS_PRAGMA_ONCE */
00021 
00022 #include "ACEXML/common/Attributes_Def_Builder.h"
00023 #include "ACEXML/common/Element_Def_Builder.h"
00024 #include "ACEXML/common/Validator.h"
00025 
00026 /**
00027  * @class ACEXML_DTD_Manager DTD_Manager.h "common/DTD_Manager.h"
00028  *
00029  * @todo Fill in the blank.
00030  */
00031 class ACEXML_Export ACEXML_DTD_Manager
00032 {
00033 public:
00034   virtual ~ACEXML_DTD_Manager () = 0;
00035 
00036   /**
00037    * Acquire a pointer to an element definition builder.
00038    * The XML parser use this interface to acquire the
00039    * definition builder and use the builder to create
00040    * the DTD element definition.  The resulting builder
00041    * is then registered with the DTD Manager or destroyed
00042    * if error occured when the builder encountered errors.
00043    *
00044    * @retval 0 if error occurs creating the builder.
00045    */
00046   virtual ACEXML_Element_Def_Builder *getElement_Def_Builder () = 0;
00047 
00048   /**
00049    * Insert a new element definition into the DTD Manager.
00050    *
00051    * @retval 0 if success, -1 if error.
00052    */
00053   virtual int insertElement_Definition (ACEXML_Element_Def_Builder *def ACEXML_ENV_ARG_DECL) = 0;
00054 
00055   /**
00056    * Acquire a pointer to an attributes definition builder.
00057    *
00058    */
00059   virtual ACEXML_Attributes_Def_Builder *getAttribute_Def_Builder () = 0;
00060 
00061   /**
00062    * Insert a new attributes definition into the DTD Manager.
00063    *
00064    * @retval 0 if success, -1 otherwise.
00065    */
00066   virtual int insertAttributes_Definition (ACEXML_Attributes_Def_Builder *def ACEXML_ENV_ARG_DECL) = 0;
00067 
00068   /**
00069    * Acquire an element validator to validate an XML element.
00070    *
00071    * @todo I haven't figured out what memory management scheme
00072    *       we should use for the acquired validator.
00073    */
00074   virtual ACEXML_Validator *getValidator (const ACEXML_Char *namespaceURI,
00075                                           const ACEXML_Char *localName,
00076                                           const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) = 0;
00077 };
00078 
00079 
00080 #include /**/ "ace/post.h"
00081 
00082 #endif /* _ACEXML_DTD_Manager_H_ */

Generated on Thu Nov 9 11:45:35 2006 for ACEXML by doxygen 1.3.6