00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef _ACEXML_ATTRIBUTES_DEF_BUILDER_H_
00013 #define _ACEXML_ATTRIBUTES_DEF_BUILDER_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
00021
00022 #include "ACEXML/common/XML_Types.h"
00023 #include "ACEXML/common/Env.h"
00024 #include "ACEXML/common/SAXExceptions.h"
00025 #include "ace/Auto_Ptr.h"
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 class ACEXML_Export ACEXML_Attribute_Def_Builder
00037 {
00038 public:
00039
00040 typedef auto_ptr<ACEXML_Attribute_Def_Builder> VAR;
00041
00042 enum ATT_TYPE {
00043 CDATA,
00044 ID,
00045 IDREF,
00046 IDREFS,
00047 ENTITY,
00048 ENTITIES,
00049 NMTOKEN,
00050 NMTOKENS,
00051 NOTATION,
00052 ENUMERATION,
00053 ERROR_TYPE
00054 };
00055
00056 enum DEFAULT_DECL {
00057 REQUIRED,
00058 IMPLIED,
00059 FIXED,
00060 INVALID
00061 };
00062
00063 virtual ~ACEXML_Attribute_Def_Builder () = 0;
00064
00065
00066
00067
00068 virtual int setName (const ACEXML_Char *n) = 0;
00069
00070
00071
00072
00073 virtual const ACEXML_Char *getName (void) = 0;
00074
00075
00076
00077
00078 virtual int setAttType (const ATT_TYPE type ACEXML_ENV_ARG_DECL)
00079 ACE_THROW_SPEC ((ACEXML_SAXException)) = 0;
00080
00081
00082
00083
00084 virtual int insertList (const ACEXML_Char *Name ACEXML_ENV_ARG_DECL)
00085 ACE_THROW_SPEC ((ACEXML_SAXException)) = 0;
00086
00087
00088
00089
00090 virtual int setDefault (const DEFAULT_DECL def,
00091 const ACEXML_Char *value ACEXML_ENV_ARG_DECL)
00092 ACE_THROW_SPEC ((ACEXML_SAXException)) = 0;
00093
00094
00095
00096
00097
00098
00099 virtual int validAttr (void) = 0;
00100
00101
00102
00103
00104 virtual void dump (void) = 0;
00105 };
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116 class ACEXML_Export ACEXML_Attributes_Def_Builder
00117 {
00118 public:
00119
00120 typedef auto_ptr<ACEXML_Attributes_Def_Builder> VAR;
00121
00122 virtual ~ACEXML_Attributes_Def_Builder () = 0;
00123
00124
00125
00126
00127
00128
00129 virtual int setElement (const ACEXML_Char *namespaceURI,
00130 const ACEXML_Char *localName,
00131 const ACEXML_Char *qName ACEXML_ENV_ARG_DECL)
00132 ACE_THROW_SPEC ((ACEXML_SAXException)) = 0;
00133
00134
00135
00136
00137 virtual ACEXML_Attribute_Def_Builder *getAttribute_Def_Builder () = 0;
00138
00139
00140
00141
00142 virtual int insertAttribute (ACEXML_Attribute_Def_Builder *def ACEXML_ENV_ARG_DECL) = 0;
00143
00144
00145
00146
00147
00148 virtual void dump (void) = 0;
00149 };
00150
00151 #include "ace/post.h"
00152
00153 #endif