3 //=============================================================================
5 * @file Debug_DTD_Manager.h
7 * @author Nanbor Wang <nanbor@cs.wustl.edu>
9 //=============================================================================
10 #ifndef _ACEXML_DEBUG_DTD_Manager_H_
11 #define _ACEXML_DEBUG_DTD_Manager_H_
13 #include /**/ "ace/pre.h"
14 #include "ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h"
16 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 #endif /* ACE_LACKS_PRAGMA_ONCE */
20 #include "ACEXML/common/DTD_Manager.h"
22 class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Debug_DTD_Manager
: public ACEXML_DTD_Manager
25 ACEXML_Debug_DTD_Manager ();
27 virtual ~ACEXML_Debug_DTD_Manager ();
30 * Acquire a pointer to an element definition builder. The XML parser use
31 * this interface to acquire the definition builder and use the builder
32 * to create the DTD element definition. The resulting builder is then
33 * registered with the DTD Manager or destroyed if error occurred when the
34 * builder encountered errors.
36 * @retval 0 if error occurs creating the builder.
38 virtual ACEXML_Element_Def_Builder
*getElement_Def_Builder ();
41 * Insert a new element definition into the DTD Manager.
43 * @retval 0 if success, -1 if error.
45 virtual int insertElement_Definition (ACEXML_Element_Def_Builder
*def
);
48 * Acquire a pointer to an attributes definition builder.
51 virtual ACEXML_Attributes_Def_Builder
*getAttribute_Def_Builder ();
54 * Insert a new attributes definition into the DTD Manager.
56 * @retval 0 if success, -1 otherwise.
58 virtual int insertAttributes_Definition (ACEXML_Attributes_Def_Builder
*def
);
61 * Acquire an element validator to validate an XML element.
63 * @todo I haven't figured out what memory management scheme
64 * we should use for the acquired validator.
66 virtual ACEXML_Validator
*getValidator (const ACEXML_Char
*namespaceURI
,
67 const ACEXML_Char
*localName
,
68 const ACEXML_Char
*qName
);
71 #include /**/ "ace/post.h"
74 #endif /* _ACEXML_DTD_Manager_H_ */