00001 /*
00002 * The Apache Software License, Version 1.1
00003 *
00004 * Copyright (c) 1999-2000 The Apache Software Foundation. All rights
00005 * reserved.
00006 *
00007 * Redistribution and use in source and binary forms, with or without
00008 * modification, are permitted provided that the following conditions
00009 * are met:
00010 *
00011 * 1. Redistributions of source code must retain the above copyright
00012 * notice, this list of conditions and the following disclaimer.
00013 *
00014 * 2. Redistributions in binary form must reproduce the above copyright
00015 * notice, this list of conditions and the following disclaimer in
00016 * the documentation and/or other materials provided with the
00017 * distribution.
00018 *
00019 * 3. The end-user documentation included with the redistribution,
00020 * if any, must include the following acknowledgment:
00021 * "This product includes software developed by the
00022 * Apache Software Foundation (http://www.apache.org/)."
00023 * Alternately, this acknowledgment may appear in the software itself,
00024 * if and wherever such third-party acknowledgments normally appear.
00025 *
00026 * 4. The names "Xerces" and "Apache Software Foundation" must
00027 * not be used to endorse or promote products derived from this
00028 * software without prior written permission. For written
00029 * permission, please contact apache\@apache.org.
00030 *
00031 * 5. Products derived from this software may not be called "Apache",
00032 * nor may "Apache" appear in their name, without prior written
00033 * permission of the Apache Software Foundation.
00034 *
00035 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
00036 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00037 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00038 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
00039 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00040 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00041 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
00042 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00043 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00044 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
00045 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00046 * SUCH DAMAGE.
00047 * ====================================================================
00048 *
00049 * This software consists of voluntary contributions made by many
00050 * individuals on behalf of the Apache Software Foundation, and was
00051 * originally based on software copyright (c) 1999, International
00052 * Business Machines, Inc., http://www.ibm.com . For more information
00053 * on the Apache Software Foundation, please see
00054 * <http://www.apache.org/>.
00055 */
00056
00057 /*
00058 * $Id: XMLUni.hpp,v 1.21 2000/06/15 20:17:32 aruna1 Exp $
00059 */
00060
00061
00062 // ---------------------------------------------------------------------------
00063 // This file contains the grunt work constants for Unicode characters and
00064 // common Unicode constant strings. These cannot be created normally because
00065 // we have to compile on systems that cannot do the L"" style prefix. So
00066 // they must be created as constant values for Unicode code points and the
00067 // strings built up as arrays of those constants.
00068 // ---------------------------------------------------------------------------
00069
00070 #if !defined(XMLUNI_HPP)
00071 #define XMLUNI_HPP
00072
00073 #include <util/XercesDefs.hpp>
00074
00075 // ---------------------------------------------------------------------------
00076 // Constants for the Unicode characters of interest to us in an XML parser
00077 // We don't put these inside the class because then they could not be const
00078 // inline values, which would have significant performance ramifications.
00079 //
00080 // We cannot use a namespace because of the requirement to support old
00081 // compilers.
00082 // ---------------------------------------------------------------------------
00083 const XMLCh chNull = 0x00;
00084 const XMLCh chHTab = 0x09;
00085 const XMLCh chLF = 0x0A;
00086 const XMLCh chCR = 0x0D;
00087 const XMLCh chAmpersand = 0x26;
00088 const XMLCh chAsterisk = 0x2A;
00089 const XMLCh chAt = 0x40;
00090 const XMLCh chBackSlash = 0x5C;
00091 const XMLCh chBang = 0x21;
00092 const XMLCh chCloseAngle = 0x3E;
00093 const XMLCh chCloseCurly = 0x7D;
00094 const XMLCh chCloseParen = 0x29;
00095 const XMLCh chCloseSquare = 0x5D;
00096 const XMLCh chColon = 0x3A;
00097 const XMLCh chComma = 0x2C;
00098 const XMLCh chDash = 0x2D;
00099 const XMLCh chDollarSign = 0x24;
00100 const XMLCh chDoubleQuote = 0x22;
00101 const XMLCh chEqual = 0x3D;
00102 const XMLCh chForwardSlash = 0x2F;
00103 const XMLCh chGrave = 0x60;
00104 const XMLCh chOpenAngle = 0x3C;
00105 const XMLCh chOpenCurly = 0x7B;
00106 const XMLCh chOpenParen = 0x28;
00107 const XMLCh chOpenSquare = 0x5B;
00108 const XMLCh chPercent = 0x25;
00109 const XMLCh chPeriod = 0x2E;
00110 const XMLCh chPipe = 0x7C;
00111 const XMLCh chPlus = 0x2B;
00112 const XMLCh chPound = 0x23;
00113 const XMLCh chQuestion = 0x3F;
00114 const XMLCh chSingleQuote = 0x27;
00115 const XMLCh chSpace = 0x20;
00116 const XMLCh chSemiColon = 0x3B;
00117 const XMLCh chTilde = 0x7E;
00118 const XMLCh chUnderscore = 0x5F;
00119
00120 const XMLCh chSwappedUnicodeMarker = XMLCh(0xFFFE);
00121 const XMLCh chUnicodeMarker = XMLCh(0xFEFF);
00122
00123 const XMLCh chDigit_0 = 0x30;
00124 const XMLCh chDigit_1 = 0x31;
00125 const XMLCh chDigit_2 = 0x32;
00126 const XMLCh chDigit_3 = 0x33;
00127 const XMLCh chDigit_4 = 0x34;
00128 const XMLCh chDigit_5 = 0x35;
00129 const XMLCh chDigit_6 = 0x36;
00130 const XMLCh chDigit_7 = 0x37;
00131 const XMLCh chDigit_8 = 0x38;
00132 const XMLCh chDigit_9 = 0x39;
00133
00134 const XMLCh chLatin_A = 0x41;
00135 const XMLCh chLatin_B = 0x42;
00136 const XMLCh chLatin_C = 0x43;
00137 const XMLCh chLatin_D = 0x44;
00138 const XMLCh chLatin_E = 0x45;
00139 const XMLCh chLatin_F = 0x46;
00140 const XMLCh chLatin_G = 0x47;
00141 const XMLCh chLatin_H = 0x48;
00142 const XMLCh chLatin_I = 0x49;
00143 const XMLCh chLatin_J = 0x4A;
00144 const XMLCh chLatin_K = 0x4B;
00145 const XMLCh chLatin_L = 0x4C;
00146 const XMLCh chLatin_M = 0x4D;
00147 const XMLCh chLatin_N = 0x4E;
00148 const XMLCh chLatin_O = 0x4F;
00149 const XMLCh chLatin_P = 0x50;
00150 const XMLCh chLatin_Q = 0x51;
00151 const XMLCh chLatin_R = 0x52;
00152 const XMLCh chLatin_S = 0x53;
00153 const XMLCh chLatin_T = 0x54;
00154 const XMLCh chLatin_U = 0x55;
00155 const XMLCh chLatin_V = 0x56;
00156 const XMLCh chLatin_W = 0x57;
00157 const XMLCh chLatin_X = 0x58;
00158 const XMLCh chLatin_Y = 0x59;
00159 const XMLCh chLatin_Z = 0x5A;
00160
00161 const XMLCh chLatin_a = 0x61;
00162 const XMLCh chLatin_b = 0x62;
00163 const XMLCh chLatin_c = 0x63;
00164 const XMLCh chLatin_d = 0x64;
00165 const XMLCh chLatin_e = 0x65;
00166 const XMLCh chLatin_f = 0x66;
00167 const XMLCh chLatin_g = 0x67;
00168 const XMLCh chLatin_h = 0x68;
00169 const XMLCh chLatin_i = 0x69;
00170 const XMLCh chLatin_j = 0x6A;
00171 const XMLCh chLatin_k = 0x6B;
00172 const XMLCh chLatin_l = 0x6C;
00173 const XMLCh chLatin_m = 0x6D;
00174 const XMLCh chLatin_n = 0x6E;
00175 const XMLCh chLatin_o = 0x6F;
00176 const XMLCh chLatin_p = 0x70;
00177 const XMLCh chLatin_q = 0x71;
00178 const XMLCh chLatin_r = 0x72;
00179 const XMLCh chLatin_s = 0x73;
00180 const XMLCh chLatin_t = 0x74;
00181 const XMLCh chLatin_u = 0x75;
00182 const XMLCh chLatin_v = 0x76;
00183 const XMLCh chLatin_w = 0x77;
00184 const XMLCh chLatin_x = 0x78;
00185 const XMLCh chLatin_y = 0x79;
00186 const XMLCh chLatin_z = 0x7A;
00187
00188 const XMLCh chYenSign = 0xA5;
00189 const XMLCh chWonSign = 0x20A9;
00190
00191
00192 class XMLUni
00193 {
00194 public :
00195 // -----------------------------------------------------------------------
00196 // These are constant strings that are common in XML data. Because
00197 // of the limitation of the compilers we have to work with, these are
00198 // done as arrays of XMLCh characters, not as constant strings.
00199 // -----------------------------------------------------------------------
00200 static const XMLCh fgAnyString[];
00201 static const XMLCh fgAttListString[];
00202 static const XMLCh fgCommentString[];
00203 static const XMLCh fgCDATAString[];
00204 static const XMLCh fgDefaultString[];
00205 static const XMLCh fgDocTypeString[];
00206 static const XMLCh fgEBCDICEncodingString[];
00207 static const XMLCh fgElemString[];
00208 static const XMLCh fgEmptyString[];
00209 static const XMLCh fgEncodingString[];
00210 static const XMLCh fgEntitString[];
00211 static const XMLCh fgEntityString[];
00212 static const XMLCh fgEntitiesString[];
00213 static const XMLCh fgEnumerationString[];
00214 static const XMLCh fgExceptDomain[];
00215 static const XMLCh fgFixedString[];
00216 static const XMLCh fgGlobalNSURIName[];
00217 static const XMLCh fgIBM037EncodingString[];
00218 static const XMLCh fgIBM037EncodingString2[];
00219 static const XMLCh fgIBM1140EncodingString[];
00220 static const XMLCh fgIESString[];
00221 static const XMLCh fgIDString[];
00222 static const XMLCh fgIDRefString[];
00223 static const XMLCh fgIDRefsString[];
00224 static const XMLCh fgImpliedString[];
00225 static const XMLCh fgIgnoreString[];
00226 static const XMLCh fgIncludeString[];
00227 static const XMLCh fgISO88591EncodingString[];
00228 static const XMLCh fgISO88591EncodingString2[];
00229 static const XMLCh fgISO88591EncodingString3[];
00230 static const XMLCh fgISO88591EncodingString4[];
00231 static const XMLCh fgISO88591EncodingString5[];
00232 static const XMLCh fgISO88591EncodingString6[];
00233 static const XMLCh fgISO88591EncodingString7[];
00234 static const XMLCh fgISO88591EncodingString8[];
00235 static const XMLCh fgLocalHostString[];
00236 static const XMLCh fgNoString[];
00237 static const XMLCh fgNotationString[];
00238 static const XMLCh fgNDATAString[];
00239 static const XMLCh fgNmTokenString[];
00240 static const XMLCh fgNmTokensString[];
00241 static const XMLCh fgPCDATAString[];
00242 static const XMLCh fgPIString[];
00243 static const XMLCh fgPubIDString[];
00244 static const XMLCh fgRefString[];
00245 static const XMLCh fgRequiredString[];
00246 static const XMLCh fgStandaloneString[];
00247 static const XMLCh fgSupportedVersion[];
00248 static const XMLCh fgSysIDString[];
00249 static const XMLCh fgUnknownURIName[];
00250 static const XMLCh fgUCS4EncodingString[];
00251 static const XMLCh fgUCS4EncodingString2[];
00252 static const XMLCh fgUCS4EncodingString3[];
00253 static const XMLCh fgUCS4BEncodingString[];
00254 static const XMLCh fgUCS4BEncodingString2[];
00255 static const XMLCh fgUCS4LEncodingString[];
00256 static const XMLCh fgUCS4LEncodingString2[];
00257 static const XMLCh fgUSASCIIEncodingString[];
00258 static const XMLCh fgUSASCIIEncodingString2[];
00259 static const XMLCh fgUSASCIIEncodingString3[];
00260 static const XMLCh fgUSASCIIEncodingString4[];
00261 static const XMLCh fgUTF8EncodingString[];
00262 static const XMLCh fgUTF8EncodingString2[];
00263 static const XMLCh fgUTF16EncodingString[];
00264 static const XMLCh fgUTF16EncodingString2[];
00265 static const XMLCh fgUTF16EncodingString3[];
00266 static const XMLCh fgUTF16EncodingString4[];
00267 static const XMLCh fgUTF16BEncodingString[];
00268 static const XMLCh fgUTF16BEncodingString2[];
00269 static const XMLCh fgUTF16LEncodingString[];
00270 static const XMLCh fgUTF16LEncodingString2[];
00271 static const XMLCh fgVersionString[];
00272 static const XMLCh fgValidityDomain[];
00273 static const XMLCh fgWin1252EncodingString[];
00274 static const XMLCh fgXMLChEncodingString[];
00275 static const XMLCh fgXMLDeclString[];
00276 static const XMLCh fgXMLString[];
00277 static const XMLCh fgXMLStringSpace[];
00278 static const XMLCh fgXMLStringSpaceU[];
00279 static const XMLCh fgXMLDeclStringSpace[];
00280 static const XMLCh fgXMLNSString[];
00281 static const XMLCh fgXMLNSColonString[];
00282 static const XMLCh fgXMLNSURIName[];
00283 static const XMLCh fgXMLErrDomain[];
00284 static const XMLCh fgXMLURIName[];
00285 static const XMLCh fgYesString[];
00286 static const XMLCh fgZeroLenString[];
00287
00288
00289
00290 static const XMLCh fgArrayIndexOutOfBoundsException_Name[];
00291 static const XMLCh fgEmptyStackException_Name[];
00292 static const XMLCh fgIllegalArgumentException_Name[];
00293 static const XMLCh fgInvalidCastException_Name[];
00294 static const XMLCh fgIOException_Name[];
00295 static const XMLCh fgNoSuchElementException_Name[];
00296 static const XMLCh fgNullPointerException_Name[];
00297 static const XMLCh fgXMLPlatformUtilsException_Name[];
00298 static const XMLCh fgRuntimeException_Name[];
00299 static const XMLCh fgTranscodingException_Name[];
00300 static const XMLCh fgUnexpectedEOFException_Name[];
00301 static const XMLCh fgUnsupportedEncodingException_Name[];
00302 static const XMLCh fgUTFDataFormatException_Name[];
00303 static const XMLCh fgNetAccessorException_Name[];
00304 static const XMLCh fgMalformedURLException_Name[];
00305
00306 };
00307
00308 #endif