Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ZORBA_SAX2_API_H
00017 #define ZORBA_SAX2_API_H
00018
00019 #include <zorba/config.h>
00020 #include <zorba/api_shared_types.h>
00021
00022 namespace zorba{
00023
00024 class SAX2_Attributes;
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 class ZORBA_DLL_PUBLIC SAX2_ContentHandler
00037 {
00038 public:
00039
00040
00041
00042 virtual
00043 ~SAX2_ContentHandler() {}
00044
00045
00046
00047 virtual void
00048 startDocument() = 0;
00049
00050
00051
00052 virtual void
00053 endDocument() = 0;
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068 virtual void
00069 startElement( const String& aURI, const String& aLocalname,
00070 const String& aQName, const SAX2_Attributes& aAttrs ) = 0;
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082 virtual void
00083 endElement( const String& aURI, const String& aLocalname, const String& aQName ) = 0;
00084
00085
00086
00087
00088
00089
00090
00091 virtual void
00092 characters( const String& aText ) = 0;
00093
00094
00095
00096
00097
00098
00099
00100
00101 virtual void
00102 processingInstruction( const String& aTarget, const String& aData ) = 0;
00103
00104
00105
00106
00107
00108 virtual void
00109 ignorableWhitespace( const String& aText ) = 0;
00110
00111
00112
00113
00114
00115
00116 virtual void
00117 startPrefixMapping( const String& aPrefix, const String& aURI ) = 0;
00118
00119
00120
00121
00122
00123 virtual void
00124 endPrefixMapping( const String& aPrefix ) = 0;
00125
00126
00127
00128
00129
00130 virtual void
00131 skippedEntity( const String& aName ) = 0;
00132 };
00133
00134 class ZORBA_DLL_PUBLIC SAX2_Attributes
00135 {
00136 public:
00137 virtual
00138 ~SAX2_Attributes() {}
00139
00140 virtual unsigned int
00141 getLength() const = 0;
00142
00143 virtual const String
00144 getURI( const unsigned int index) const = 0;
00145
00146 virtual const String
00147 getLocalName( const unsigned int index) const = 0;
00148
00149 virtual const String
00150 getQName( const unsigned int index) const = 0;
00151
00152 virtual const String
00153 getType( const unsigned int index) const = 0;
00154
00155 virtual const String
00156 getValue( const unsigned int index) const = 0;
00157
00158 virtual int
00159 getIndex( const String & uri, const String & localPart ) const = 0 ;
00160
00161 virtual int
00162 getIndex(const String & qName ) const = 0 ;
00163
00164 virtual const
00165 String getType(const String & uri, const String & localPart ) const = 0 ;
00166
00167 virtual const
00168 String getType( const String & qName ) const = 0;
00169
00170 virtual const
00171 String getValue( const String & uri, const String & localPart ) const = 0 ;
00172
00173 virtual const
00174 String getValue( const String & qName ) const = 0;
00175 };
00176
00177 class ZORBA_DLL_PUBLIC SAX2_LexicalHandler
00178 {
00179 public:
00180 virtual
00181 ~SAX2_LexicalHandler () {}
00182
00183 virtual void
00184 comment ( const String & chars ) = 0;
00185
00186 virtual void
00187 endCDATA () = 0;
00188
00189 virtual void
00190 endDTD () = 0;
00191
00192 virtual void
00193 endEntity ( const String & name ) = 0;
00194
00195 virtual void
00196 startCDATA () = 0;
00197
00198 virtual void
00199 startDTD ( const String & name, const String & publicId,
00200 const String & systemId ) = 0;
00201
00202 virtual void
00203 startEntity ( const String & name ) = 0;
00204 };
00205 }
00206
00207 #endif
00208