00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081 #if !defined(QNAME_HPP)
00082 #define QNAME_HPP
00083
00084 #include <xercesc/util/XMLString.hpp>
00085 #include <xercesc/util/XMLUniDefs.hpp>
00086 #include <xercesc/util/XMemory.hpp>
00087 #include <xercesc/util/PlatformUtils.hpp>
00088
00089 #include <xercesc/internal/XSerializable.hpp>
00090
00091 XERCES_CPP_NAMESPACE_BEGIN
00092
00093 class QName : public XSerializable, public XMemory
00094 {
00095 public :
00096
00097
00098
00100 QName(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
00101
00103 QName
00104 (
00105 const XMLCh* const prefix
00106 , const XMLCh* const localPart
00107 , const unsigned int uriId
00108 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00109 );
00110
00112 QName
00113 (
00114 const XMLCh* const rawName
00115 , const unsigned int uriId
00116 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00117 );
00118
00120 QName(const QName& qname);
00121
00122 ~QName();
00123
00124
00125
00126
00127 const XMLCh* getPrefix() const;
00128 XMLCh* getPrefix();
00129
00130 const XMLCh* getLocalPart() const;
00131 XMLCh* getLocalPart();
00132
00133 unsigned int getURI() const;
00134
00135 const XMLCh* getRawName() const;
00136 XMLCh* getRawName();
00137
00138 MemoryManager* getMemoryManager() const;
00139
00140
00141
00142
00143 void setName
00144 (
00145 const XMLCh* const prefix
00146 , const XMLCh* const localPart
00147 , const unsigned int uriId
00148 );
00149
00150 void setName
00151 (
00152 const XMLCh* const rawName
00153 , const unsigned int uriId
00154 );
00155
00156 void setPrefix(const XMLCh*) ;
00157 void setLocalPart(const XMLCh*) ;
00158 void setNPrefix(const XMLCh*, const unsigned int) ;
00159 void setNLocalPart(const XMLCh*, const unsigned int) ;
00160 void setURI(const unsigned int) ;
00161
00162 void setValues(const QName& qname);
00163
00164
00165
00166
00167 bool operator==(const QName&) const;
00168
00169
00170
00171
00172 void cleanUp();
00173
00174
00175
00176
00177 DECL_XSERIALIZABLE(QName)
00178
00179 private :
00180
00181
00182
00183 QName& operator=(const QName&);
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213 MemoryManager* fMemoryManager;
00214 XMLCh* fPrefix;
00215 unsigned int fPrefixBufSz;
00216 XMLCh* fLocalPart;
00217 unsigned int fLocalPartBufSz;
00218 XMLCh* fRawName;
00219 unsigned int fRawNameBufSz;
00220 unsigned int fURIId;
00221 };
00222
00223
00224
00225
00226 inline const XMLCh* QName::getPrefix() const
00227 {
00228 return fPrefix;
00229 }
00230
00231 inline XMLCh* QName::getPrefix()
00232 {
00233 return fPrefix;
00234 }
00235
00236 inline const XMLCh* QName::getLocalPart() const
00237 {
00238 return fLocalPart;
00239 }
00240
00241 inline XMLCh* QName::getLocalPart()
00242 {
00243 return fLocalPart;
00244 }
00245
00246 inline unsigned int QName::getURI() const
00247 {
00248 return fURIId;
00249 }
00250
00251 inline MemoryManager* QName::getMemoryManager() const
00252 {
00253 return fMemoryManager;
00254 }
00255
00256
00257
00258
00259 inline void QName::setURI(const unsigned int uriId)
00260 {
00261 fURIId = uriId;
00262 }
00263
00264 XERCES_CPP_NAMESPACE_END
00265
00266 #endif