[GME-commit] GMESRC/GME/Include/xercesc/util/Transcoders/Uniconv390 Uniconv390TransService.hpp, NONE, 1.1 XML256TableTranscoder390.hpp, NONE, 1.1 XML88591Transcoder390.hpp, NONE, 1.1 XMLASCIITranscoder390.hpp, NONE, 1.1 XMLEBCDICTranscoder390.hpp, NONE, 1.1 XMLIBM1047Transcoder390.hpp, NONE, 1.1 XMLIBM1140Transcoder390.hpp, NONE, 1.1 XMLUTF8Transcoder390.hpp, NONE, 1.1 XMLWin1252Transcoder390.hpp, NONE, 1.1 ccsid.h, NONE, 1.1 uniconv.h, NONE, 1.1

Log messages of CVS commits gme-commit at list.isis.vanderbilt.edu
Tue Feb 19 14:16:33 CST 2008


Update of /project/gme-repository/GMESRC/GME/Include/xercesc/util/Transcoders/Uniconv390
In directory escher:/tmp/cvs-serv26529/util/Transcoders/Uniconv390

Added Files:
	Uniconv390TransService.hpp XML256TableTranscoder390.hpp 
	XML88591Transcoder390.hpp XMLASCIITranscoder390.hpp 
	XMLEBCDICTranscoder390.hpp XMLIBM1047Transcoder390.hpp 
	XMLIBM1140Transcoder390.hpp XMLUTF8Transcoder390.hpp 
	XMLWin1252Transcoder390.hpp ccsid.h uniconv.h 
Log Message:
Xerces2.7 includes checkin.


CVS User: Zoltan Molnar, ISIS (zolmol)

--- NEW FILE: XMLEBCDICTranscoder390.hpp ---
/*
 * Copyright 2004,2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * $Id: XMLEBCDICTranscoder390.hpp,v 1.1 2008/02/19 20:16:31 zolmol Exp $
 */

#ifndef XMLEBCDICTRANSCODER390_HPP
#define XMLEBCDICTRANSCODER390_HPP

#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/util/Transcoders/Uniconv390/XML256TableTranscoder390.hpp>

XERCES_CPP_NAMESPACE_BEGIN

//
//  This class provides an implementation of the XMLTranscoder interface
//  for a simple EBCDIC-US transcoder. The parser does some encodings
//  intrinsically without depending upon external transcoding services.
//  To make everything more orthagonal, we implement these internal
//  transcoders using the same transcoder abstraction as the pluggable
//  transcoding services do.
//
//  EBCDIC-US is the same as IBM037, CP37, EBCDIC-CP-US, etc...
//
class XMLUTIL_EXPORT XMLEBCDICTranscoder390 : public XML256TableTranscoder390
{
public :
    // -----------------------------------------------------------------------
    //  Public, static methods
    // -----------------------------------------------------------------------
    static XMLCh xlatThisOne(const XMLByte toXlat);


    // -----------------------------------------------------------------------
    //  Public constructors and destructor
    // -----------------------------------------------------------------------
    XMLEBCDICTranscoder390
    (
        const   XMLCh* const    encodingName
        , const unsigned int    blockSize
        , MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
    );

    virtual ~XMLEBCDICTranscoder390();


private :
    // -----------------------------------------------------------------------
    //  Unimplemented constructors and operators
    // -----------------------------------------------------------------------
    XMLEBCDICTranscoder390();
    XMLEBCDICTranscoder390(const XMLEBCDICTranscoder390&);
    XMLEBCDICTranscoder390& operator=(const XMLEBCDICTranscoder390&);
};

XERCES_CPP_NAMESPACE_END

#endif

--- NEW FILE: ccsid.h ---

/*
 * Copyright 1999-2004 The Apache Software Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/*
 * $Id: ccsid.h,v 1.1 2008/02/19 20:16:31 zolmol Exp $
 */

/*****************************************************************
 * Do not manually change this file. It is generated automatically.
 *****************************************************************/
 
#define _AE_MAX_CODESET_NAME_LENGTH    40
#define _AE_NUM_OF_CODESETS   613

struct ccsid_mapping {
   char NAME[_AE_MAX_CODESET_NAME_LENGTH];
   int CCSID;
};

struct ccsid_mapping CCSID_MAPPING[_AE_NUM_OF_CODESETS] =
{ {"ADOBELATIN1ENCODING", 1277}, 
{"ADOBESTANDARDENCODING", 1276}, 
{"ARABIC", 1089}, 
{"ASMO708", 1089}, 
{"BIG5", 1370}, 
{"CCSID00858", 858}, 
{"CCSID01140", 1140}, 
{"CCSID01141", 1141}, 
{"CCSID01142", 1142}, 
{"CCSID01143", 1143}, 
{"CCSID01144", 1144}, 
{"CCSID01145", 1145}, 
{"CCSID01146", 1146}, 
{"CCSID01147", 1147}, 
{"CCSID01148", 1148}, 
{"CCSID01149", 1149}, 
{"CHINESE", 1383}, 
{"CP00858", 858}, 
{"CP01140", 1140}, 
{"CP01141", 1141}, 
{"CP01142", 1142}, 
{"CP01143", 1143}, 
{"CP01144", 1144}, 
{"CP01145", 1145}, 
{"CP01146", 1146}, 
{"CP01147", 1147}, 
{"CP01148", 1148}, 
{"CP01149", 1149}, 
{"CP037", 37}, 
{"CP1006", 1006}, 
{"CP1008", 5104}, 
{"CP1025", 1025}, 
{"CP1027", 5123}, 
{"CP1046", 9238}, 
{"CP1089", 1089}, 
{"CP1097", 1097}, 
{"CP1098", 1098}, 
{"CP1112", 1112}, 
{"CP1122", 1122}, 
{"CP1123", 1123}, 
{"CP1124", 1124}, 
{"CP1125", 1125}, 
{"CP1130", 1164}, 
{"CP1131", 1131}, 
{"CP1140", 1140}, 
{"CP1141", 1141}, 
{"CP1142", 1142}, 
{"CP1143", 1143}, 
{"CP1144", 1144}, 
{"CP1145", 1145}, 
{"CP1146", 1146}, 
{"CP1147", 1147}, 
{"CP1148", 1148}, 
{"CP1149", 1149}, 
{"CP1208", 1208}, 
{"CP1250", 5346}, 
{"CP1251", 5347}, 
{"CP1252", 5348}, 
{"CP1253", 1253}, 
{"CP1254", 5350}, 
{"CP1255", 5351}, 
{"CP1256", 5352}, 
{"CP1257", 5353}, 
{"CP1258", 5354}, 
{"CP1363", 1363}, 
{"CP1364", 1364}, 
{"CP1383", 1383}, 
{"CP1386", 1386}, 
{"CP273", 273}, 
{"CP277", 277}, 
{"CP278", 278}, 
{"CP280", 280}, 
{"CP284", 284}, 
{"CP285", 285}, 
{"CP28709", 1159}, 
{"CP297", 297}, 
{"CP33722", 33722}, 
{"CP37", 37}, 
{"CP420", 420}, 
{"CP424", 424}, 
{"CP437", 437}, 
{"CP500", 500}, 
{"CP65001", 1208}, 
{"CP813", 813}, 
{"CP819", 819}, 
{"CP838", 9030}, 
{"CP850", 850}, 
{"CP851", 851}, 
{"CP852", 852}, 
{"CP855", 855}, 
{"CP856", 856}, 
{"CP857", 857}, 
{"CP858", 858}, 
{"CP859", 859}, 
{"CP860", 860}, 
{"CP861", 861}, 
{"CP862", 862}, 
{"CP863", 863}, 
{"CP864", 864}, 
{"CP865", 865}, 
{"CP866", 866}, 
{"CP867", 867}, 
{"CP868", 868}, 
{"CP869", 869}, 
{"CP870", 870}, 
{"CP871", 871}, 
{"CP874", 874}, 
{"CP875", 875}, 
{"CP878", 878}, 
{"CP9030", 1160}, 
{"CP9066", 874}, 
{"CP912", 912}, 
{"CP913", 913}, 
{"CP914", 914}, 
{"CP915", 915}, 
{"CP916", 916}, 
{"CP918", 918}, 
{"CP920", 920}, 
{"CP921", 921}, 
{"CP922", 922}, 
{"CP923", 923}, 
{"CP932", 942}, 
{"CP933", 933}, 
{"CP935", 935}, 
{"CP936", 1386}, 
{"CP937", 937}, 
{"CP939", 939}, 
{"CP943", 943}, 
{"CP943C", 943}, 
{"CP949", 949}, 
{"CP949C", 949}, 
{"CP950", 1370}, 
{"CPAR", 868}, 
{"CPGR", 869}, 
{"CPIBM1047", 1047}, 
{"CPIBM1123", 1123}, 
{"CPIBM1140", 1140}, 
{"CPIBM1141", 1141}, 
{"CPIBM1142", 1142}, 
{"CPIBM1143", 1143}, 
{"CPIBM1144", 1144}, 
{"CPIBM1145", 1145}, 
{"CPIBM1146", 1146}, 
{"CPIBM1147", 1147}, 
{"CPIBM1148", 1148}, 
{"CPIBM1149", 1149}, 
{"CPIBM1153", 1153}, 
{"CPIBM1154", 1154}, 
{"CPIBM1156", 1156}, 
{"CPIBM1157", 1157}, 
{"CPIBM1158", 1123}, 
{"CPIBM1160", 1160}, 
{"CPIBM1164", 1164}, 
{"CPIBM12712", 12712}, 
{"CPIBM1371", 1371}, 
{"CPIBM16804", 16804}, 
{"CPIBM273", 273}, 
{"CPIBM277", 277}, 
{"CPIBM278", 278}, 
{"CPIBM280", 280}, 
{"CPIBM284", 284}, 
{"CPIBM285", 285}, 
{"CPIBM297", 297}, 
{"CPIBM37", 37}, 
{"CPIBM4971", 4971}, 
{"CPIBM500", 500}, 
{"CPIBM871", 871}, 
{"CPIBM933", 933}, 
{"CPIBM935", 935}, 
{"CPIBM937", 937}, 
{"CPIS", 861}, 
{"CSADOBESTANDARDENCODING", 1276}, 
{"CSBIG5", 1370}, 
{"CSEUCKR", 970}, 
{"CSEUCPKDFMTJAPANESE", 33722}, 
{"CSGB2312", 1383}, 
{"CSHALFWIDTHKATAKANA", 897}, 
{"CSHPROMAN8", 1051}, 
{"CSIBM037", 37}, 
{"CSIBM273", 273}, 
{"CSIBM277", 277}, 
{"CSIBM278", 278}, 
{"CSIBM280", 280}, 
{"CSIBM284", 284}, 
{"CSIBM285", 285}, 
{"CSIBM297", 297}, 
{"CSIBM420", 420}, 
{"CSIBM424", 424}, 
{"CSIBM500", 500}, 
{"CSIBM855", 855}, 
{"CSIBM857", 857}, 
{"CSIBM860", 860}, 
{"CSIBM861", 861}, 
{"CSIBM863", 863}, 
{"CSIBM864", 864}, 
{"CSIBM865", 865}, 
{"CSIBM866", 866}, 
{"CSIBM868", 868}, 
{"CSIBM869", 869}, 
{"CSIBM870", 870}, 
{"CSIBM871", 871}, 
{"CSIBM918", 918}, 
{"CSIBMTHAI", 9030}, 
{"CSISO58GB231280", 1383}, 
{"CSISOLATIN0", 923}, 
{"CSISOLATIN1", 819}, 
{"CSISOLATIN2", 912}, 
{"CSISOLATIN3", 913}, 
{"CSISOLATIN4", 914}, 
{"CSISOLATIN5", 920}, 
{"CSISOLATIN9", 923}, 
{"CSISOLATINARABIC", 1089}, 
{"CSISOLATINCYRILLIC", 915}, 
{"CSISOLATINGREEK", 813}, 
{"CSISOLATINHEBREW", 916}, 
{"CSKOI8R", 878}, 
{"CSKSC56011987", 1363}, 
{"CSMACINTOSH", 1275}, 
{"CSPC850MULTILINGUAL", 850}, 
{"CSPC851", 851}, 
{"CSPC862LATINHEBREW", 862}, 
{"CSPC8CODEPAGE437", 437}, 
{"CSPCP852", 852}, 
{"CSPCP855", 855}, 
{"CSSHIFTJIS", 943}, 
{"CSUNICODE", 1200}, 
{"CSWINDOWS31J", 943}, 
{"CYRILLIC", 915}, 
{"DOS862", 862}, 
{"EBCDICAR", 16804}, 
{"EBCDICCPAR1", 420}, 
{"EBCDICCPAR2", 918}, 
{"EBCDICCPBE", 500}, 
{"EBCDICCPCA", 37}, 
{"EBCDICCPCH", 500}, 
{"EBCDICCPDK", 277}, 
{"EBCDICCPES", 284}, 
{"EBCDICCPFI", 278}, 
{"EBCDICCPFR", 297}, 
{"EBCDICCPGB", 285}, 
{"EBCDICCPHE", 424}, 
{"EBCDICCPIS", 871}, 
{"EBCDICCPIT", 280}, 
{"EBCDICCPNL", 37}, 
{"EBCDICCPNO", 277}, 
{"EBCDICCPROECE", 870}, 
{"EBCDICCPSE", 278}, 
{"EBCDICCPUS", 37}, 
{"EBCDICCPWT", 37}, 
{"EBCDICCPYU", 870}, 
{"EBCDICDE", 273}, 
{"EBCDICDK", 277}, 
{"EBCDICGB", 285}, 
{"EBCDICHE", 12712}, 
{"EBCDICIS", 871}, 
{"EBCDICSV", 278}, 
{"ECMA114", 1089}, 
{"ECMA118", 813}, 
{"ECMA128", 920}, 
{"ELOT928", 813}, 
{"EUCCN", 1383}, 
{"EUCJIS", 33722}, 
{"EUCJP", 33722}, 
{"EUCKR", 970}, 
{"EUCTH", 874}, 
{"EXTENDEDUNIXCODEPACKEDFORMATFORJAPANESE", 33722}, 
{"GB", 1383}, 
{"GB2312", 1383}, 
{"GB23121980", 1383}, 
{"GB231280", 1383}, 
{"GBK", 1386}, 
{"GREEK", 813}, 
{"GREEK8", 813}, 
{"HEBREW", 916}, 
{"HP15CN", 1383}, 
{"HPROMAN8", 1051}, 
{"IBM00858", 858}, 
{"IBM01140", 1140}, 
{"IBM01141", 1141}, 
{"IBM01142", 1142}, 
{"IBM01143", 1143}, 
{"IBM01144", 1144}, 
{"IBM01145", 1145}, 
{"IBM01146", 1146}, 
{"IBM01147", 1147}, 
{"IBM01148", 1148}, 
{"IBM01149", 1149}, 
{"IBM037", 37}, 
{"IBM037S390", 37}, 
{"IBM1006", 1006}, 
{"IBM1006VPUA", 1006}, 
{"IBM1025", 1025}, 
{"IBM1025STD", 1025}, 
{"IBM1047", 1047}, 
{"IBM1047S390", 1047}, 
{"IBM1051", 1051}, 
{"IBM1089", 1089}, 
{"IBM1097", 1097}, 
{"IBM1097VPUA", 1097}, 
{"IBM1098", 1098}, 
{"IBM1098VSUBVPUA", 1098}, 
{"IBM1112", 1112}, 
{"IBM1112STD", 1112}, 
{"IBM1122", 1122}, 
{"IBM1122STD", 1122}, 
{"IBM1123", 1123}, 
{"IBM1123STD", 1123}, 
{"IBM1124", 1124}, 
{"IBM1124STD", 1124}, 
{"IBM1125", 1125}, 
{"IBM1125VSUB", 1125}, 
{"IBM1129", 1129}, 
{"IBM1129STD", 1129}, 
{"IBM1130", 1130}, 
{"IBM1130STD", 1130}, 
{"IBM1131", 1131}, 
{"IBM1131VSUB", 1131}, 
{"IBM1132", 1132}, 
{"IBM1132STD", 1132}, 
{"IBM1133", 1133}, 
{"IBM1133STD", 1133}, 
{"IBM1137", 1137}, 
{"IBM1137STD", 1137}, 
{"IBM1140", 1140}, 
{"IBM1140S390", 1140}, 
{"IBM1141", 1141}, 
{"IBM1142", 1142}, 
{"IBM1142S390", 1142}, 
{"IBM1143", 1143}, 
{"IBM1143S390", 1143}, 
{"IBM1144", 1144}, 
{"IBM1144S390", 1144}, 
{"IBM1145", 1145}, 
{"IBM1145S390", 1145}, 
{"IBM1146", 1146}, 
{"IBM1146S390", 1146}, 
{"IBM1147", 1147}, 
{"IBM1147S390", 1147}, 
{"IBM1148", 1148}, 
{"IBM1148S390", 1148}, 
{"IBM1149", 1149}, 
{"IBM1149S390", 1149}, 
{"IBM1153", 1153}, 
{"IBM1154", 1154}, 
{"IBM1156", 1156}, 
{"IBM1157", 1157}, 
{"IBM1158", 1123}, 
{"IBM1159", 1159}, 
{"IBM1160", 1160}, 
{"IBM1164", 1164}, 
{"IBM1208", 1208}, 
{"IBM1209", 1208}, 
{"IBM1250", 1250}, 
{"IBM1251", 1251}, 
{"IBM1252", 1252}, 
{"IBM1253", 1253}, 
{"IBM1254", 1254}, 
{"IBM1255", 1255}, 
{"IBM1256", 1256}, 
{"IBM1257", 1257}, 
{"IBM1258", 1258}, 
{"IBM12712", 12712}, 
{"IBM1275", 1275}, 
{"IBM1276", 1276}, 
{"IBM1277", 1277}, 
{"IBM1280", 1280}, 
{"IBM1281", 1281}, 
{"IBM1282", 1282}, 
{"IBM1283", 1283}, 
{"IBM1363", 1363}, 
{"IBM1363VASCIIVSUBVPUA", 1363}, 
{"IBM1364", 1364}, 
{"IBM1364VPUA", 1364}, 
{"IBM1370", 1370}, 
{"IBM1371", 1371}, 
{"IBM1381", 1381}, 
{"IBM1381VSUBVPUA", 1381}, 
{"IBM1383", 1383}, 
{"IBM1386", 1386}, 
{"IBM1386P1002002", 1386}, 
{"IBM1386VSUBVPUA", 1386}, 
{"IBM1388", 1388}, 
{"IBM1388VPUA", 1388}, 
{"IBM1399", 1399}, 
{"IBM16804", 16804}, 
{"IBM17248", 17248}, 
{"IBM273", 273}, 
{"IBM277", 277}, 
{"IBM278", 278}, 
{"IBM280", 280}, 
{"IBM284", 284}, 
{"IBM285", 285}, 
{"IBM297", 297}, 
{"IBM33722", 33722}, 
{"IBM33722VPUA", 33722}, 
{"IBM367", 367}, 
{"IBM37", 37}, 
{"IBM37S390", 37}, 
{"IBM420", 420}, 
{"IBM424", 424}, 
{"IBM437", 437}, 
{"IBM4909", 4909}, 
{"IBM4971", 4971}, 
{"IBM500", 500}, 
{"IBM5035", 939}, 
{"IBM5050", 33722}, 
{"IBM5104", 5104}, 
{"IBM5123", 5123}, 
{"IBM5304", 1208}, 
{"IBM5305", 1208}, 
{"IBM5346", 5346}, 
{"IBM5347", 5347}, 
{"IBM5348", 5348}, 
{"IBM5349", 5349}, 
{"IBM5350", 5350}, 
{"IBM5351", 5351}, 
{"IBM5352", 5352}, 
{"IBM5353", 5353}, 
{"IBM5354", 5354}, 
{"IBM808", 808}, 
{"IBM813", 813}, 
{"IBM819", 819}, 
{"IBM838", 9030}, 
{"IBM848", 848}, 
{"IBM849", 849}, 
{"IBM850", 850}, 
{"IBM851", 851}, 
{"IBM852", 852}, 
{"IBM855", 855}, 
{"IBM856", 856}, 
{"IBM857", 857}, 
{"IBM858", 858}, 
{"IBM859", 859}, 
{"IBM860", 860}, 
{"IBM861", 861}, 
{"IBM862", 862}, 
{"IBM863", 863}, 
{"IBM864", 864}, 
{"IBM865", 865}, 
{"IBM866", 866}, 
{"IBM867", 867}, 
{"IBM868", 868}, 
{"IBM869", 869}, 
{"IBM870", 870}, 
{"IBM870STD", 870}, 
{"IBM871", 871}, 
{"IBM872", 872}, 
{"IBM874", 874}, 
{"IBM875", 875}, 
{"IBM875STD", 875}, 
{"IBM878", 878}, 
{"IBM897", 897}, 
{"IBM901", 901}, 
{"IBM902", 902}, 
{"IBM9030", 9030}, 
{"IBM9030STD", 9030}, 
{"IBM9044", 9044}, 
{"IBM9049", 9049}, 
{"IBM9061", 9061}, 
{"IBM9066", 874}, 
{"IBM912", 912}, 
{"IBM913", 913}, 
{"IBM914", 914}, 
{"IBM915", 915}, 
{"IBM916", 916}, 
{"IBM918", 918}, 
{"IBM918VPUA", 918}, 
{"IBM920", 920}, 
{"IBM921", 921}, 
{"IBM922", 922}, 
{"IBM923", 923}, 
{"IBM9238", 9238}, 
{"IBM931", 939}, 
{"IBM932", 942}, 
{"IBM932VSUBVPUA", 942}, 
{"IBM933", 933}, 
{"IBM935", 935}, 
{"IBM937", 937}, 
{"IBM939", 939}, 
{"IBM942", 942}, 
{"IBM942VSUBVPUA", 942}, 
{"IBM943", 943}, 
{"IBM943C", 943}, 
{"IBM943VSUBVPUA", 943}, 
{"IBM949", 949}, 
{"IBM949VSUBVPUA", 949}, 
{"IBM950", 950}, 
{"IBM9580", 1388}, 
{"IBM970", 970}, 
{"IBM970P1102000", 970}, 
{"IBMEUCCN", 1383}, 
{"IBMEUCJP", 33722}, 
{"IBMEUCKR", 970}, 
{"IBMTHAI", 9030}, 
{"ISO10646UCS2", 1200}, 
{"ISO88591", 819}, 
{"ISO885913", 921}, 
{"ISO885915", 923}, 
{"ISO885915FDIS", 923}, 
{"ISO88592", 912}, 
{"ISO88593", 913}, 
{"ISO88594", 914}, 
{"ISO88595", 915}, 
{"ISO88596", 1089}, 
{"ISO88596E", 1089}, 
{"ISO88596I", 1089}, 
{"ISO88597", 813}, 
{"ISO88598", 916}, 
{"ISO88598E", 916}, 
{"ISO88598I", 916}, 
{"ISO88599", 920}, 
{"ISOIR100", 819}, 
{"ISOIR101", 912}, 
{"ISOIR109", 913}, 
{"ISOIR110", 914}, 
{"ISOIR126", 813}, 
{"ISOIR127", 1089}, 
{"ISOIR138", 916}, 
{"ISOIR144", 915}, 
{"ISOIR148", 920}, 
{"ISOIR149", 1363}, 
{"ISOIR58", 1383}, 
{"JISX0201", 897}, 
{"KOI8", 878}, 
{"KOI8R", 878}, 
{"KOREAN", 1363}, 
{"KSC", 1363}, 
{"KSC5601", 970}, 
{"KSC56011987", 970}, 
{"KSC56011989", 1363}, 
{"KSC56011992", 949}, 
{"L1", 819}, 
{"L2", 912}, 
{"L3", 913}, 
{"L4", 914}, 
{"L5", 920}, 
{"L9", 923}, 
{"LATIN0", 923}, 
{"LATIN1", 819}, 
{"LATIN2", 912}, 
{"LATIN3", 913}, 
{"LATIN4", 914}, 
{"LATIN5", 920}, 
{"LATIN9", 923}, 
{"MAC", 1275}, 
{"MACCE", 1282}, 
{"MACCY", 1283}, 
{"MACGR", 1280}, 
{"MACINTOSH", 1275}, 
{"MACTR", 1281}, 
{"MS932", 943}, 
{"MSKANJI", 943}, 
{"PCK", 943}, 
{"R8", 1051}, 
{"ROMAN8", 1051}, 
{"SHIFTJIS", 943}, 
{"SHIFTJIS78", 942}, 
{"SJIS", 943}, 
{"SJIS78", 942}, 
{"TIS620", 874}, 
{"TIS620.2533", 874}, 
{"UCS2", 1200}, 
{"UNICODE", 1200}, 
{"UTF8", 1208}, 
{"WINDOWS10000", 1275}, 
{"WINDOWS10006", 1280}, 
{"WINDOWS10007", 1283}, 
{"WINDOWS10029", 1282}, 
{"WINDOWS10081", 1281}, 
{"WINDOWS1250", 1250}, 
{"WINDOWS1251", 1251}, 
{"WINDOWS1252", 1252}, 
{"WINDOWS1253", 1253}, 
{"WINDOWS1254", 1254}, 
{"WINDOWS1255", 5351}, 
{"WINDOWS1256", 5352}, 
{"WINDOWS1257", 5353}, 
{"WINDOWS1258", 1258}, 
{"WINDOWS28592", 912}, 
{"WINDOWS28593", 913}, 
{"WINDOWS28594", 914}, 
{"WINDOWS28595", 915}, 
{"WINDOWS28596", 1089}, 
{"WINDOWS28597", 813}, 
{"WINDOWS28598", 916}, 
{"WINDOWS28599", 920}, 
{"WINDOWS28605", 923}, 
{"WINDOWS31J", 943}, 
{"WINDOWS437", 437}, 
{"WINDOWS51932", 33722}, 
{"WINDOWS51949", 970}, 
{"WINDOWS65001", 1208}, 
{"WINDOWS850", 850}, 
{"WINDOWS852", 852}, 
{"WINDOWS857", 857}, 
{"WINDOWS861", 861}, 
{"WINDOWS862", 862}, 
{"WINDOWS866", 866}, 
{"WINDOWS869", 869}, 
{"WINDOWS936", 1386}, 
{"WINDOWS949", 1363}, 
{"X0201", 897}, 
{"XBIG5", 1370}, 
{"XEUCJP", 33722}, 
{"XMACCE", 1282}, 
{"XMACCENTRALEURROMAN", 1282}, 
{"XMACCYRILLIC", 1283}, 
{"XMACGREEK", 1280}, 
{"XMACTURKISH", 1281}, 
{"XMSCP932", 943}, 
{"XSJIS", 943}, 
{"ZHCN", 1386}, 
{"", 0} };


--- NEW FILE: XML256TableTranscoder390.hpp ---
/*
 * Copyright 2004,2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * $Id: XML256TableTranscoder390.hpp,v 1.1 2008/02/19 20:16:31 zolmol Exp $
 */

#ifndef XML256TABLETRANSCODER390_HPP
#define XML256TABLETRANSCODER390_HPP

#include <xercesc/util/TransService.hpp>

XERCES_CPP_NAMESPACE_BEGIN

//
//  This class implements the functionality of a common type of transcoder
//  for an 8 bit, single byte encoding based on a set of 'to' and 'from'
//  translation tables. Actual derived classes are trivial and just have to
//  provide us with pointers to their tables and we do all the work.
//
class XMLUTIL_EXPORT XML256TableTranscoder390 : public XMLTranscoder
{
public :
    // -----------------------------------------------------------------------
    //  Public constructors and destructor
    // -----------------------------------------------------------------------
    virtual ~XML256TableTranscoder390();


    // -----------------------------------------------------------------------
    //  The virtual transcoding interface
    // -----------------------------------------------------------------------
    virtual unsigned int transcodeFrom
    (
        const   XMLByte* const          srcData
        , const unsigned int            srcCount
        ,       XMLCh* const            toFill
        , const unsigned int            maxChars
        ,       unsigned int&           bytesEaten
        ,       unsigned char* const    charSizes
    );

    virtual unsigned int transcodeTo
    (
        const   XMLCh* const    srcData
        , const unsigned int    srcCount
        ,       XMLByte* const  toFill
        , const unsigned int    maxBytes
        ,       unsigned int&   charsEaten
        , const UnRepOpts       options
    );

    virtual bool canTranscodeTo
    (
        const   unsigned int    toCheck
    )   const;


protected :
    // -----------------------------------------------------------------------
    //  Hidden constructors
    // -----------------------------------------------------------------------
    XML256TableTranscoder390
    (
        const   XMLCh* const                        encodingName
        , const unsigned int                        blockSize
        , const XMLCh* const                        fromTable
        , const XMLTransService::TransRec* const    toTable
        , const unsigned int                        toTableSize
        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    );


    // -----------------------------------------------------------------------
    //  Protected helper methods
    // -----------------------------------------------------------------------
    XMLByte xlatOneTo
    (
        const   XMLCh       toXlat
    )   const;


private :
    // -----------------------------------------------------------------------
    //  Unimplemented constructors and operators
    // -----------------------------------------------------------------------
    XML256TableTranscoder390();
    XML256TableTranscoder390(const XML256TableTranscoder390&);
    XML256TableTranscoder390& operator=(const XML256TableTranscoder390&);


    // -----------------------------------------------------------------------
    //  Private data members
    //
    //  fFromTable
    //      This is the 'from' table that we were given during construction.
    //      It is a 256 entry table of XMLCh chars. Each entry is the
    //      Unicode code point for the external encoding point of that value.
    //      So fFromTable[N] is the Unicode translation of code point N of
    //      the source encoding.
    //
    //      We don't own this table, we just refer to it. It is assumed that
    //      the table is static, for performance reasons.
    //
    //  fToSize
    //      The 'to' table is variable sized. This indicates how many records
    //      are in it.
    //
    //  fToTable
    //      This is a variable sized table of TransRec structures. It must
    //      be sorted by the intCh field, i.e. the XMLCh field. It is searched
    //      binarily to find the record for a particular Unicode char. Then
    //      that record's extch field is the translation record.
    //
    //      We don't own this table, we just refer to it. It is assumed that
    //      the table is static, for performance reasons.
    //
    //      NOTE: There may be dups of the extCh field, since there might be
    //      multiple Unicode code points which map to the same external code
    //      point. Normally this won't happen, since the parser assumes that
    //      internalization is normalized, but we have to be prepared to do
    //      the right thing if some client code gives us non-normalized data
    //      itself.
    // -----------------------------------------------------------------------
    const XMLCh*                        fFromTable;
    unsigned int                        fToSize;
    const XMLTransService::TransRec*    fToTable;
};

XERCES_CPP_NAMESPACE_END

#endif

--- NEW FILE: XML88591Transcoder390.hpp ---
/*
 * Copyright 2004,2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * $Id: XML88591Transcoder390.hpp,v 1.1 2008/02/19 20:16:31 zolmol Exp $
 */

#ifndef XML88591TRANSCODER390_HPP
#define XML88591TRANSCODER390_HPP

#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/util/TransService.hpp>

XERCES_CPP_NAMESPACE_BEGIN

//
//  This class provides an implementation of the XMLTranscoder interface
//  for a simple 8859-1 transcoder. The parser does some encodings
//  intrinsically without depending upon external transcoding services.
//  To make everything more orthagonal, we implement these internal
//  transcoders using the same transcoder abstraction as the pluggable
//  transcoding services do.
//
class XMLUTIL_EXPORT XML88591Transcoder390 : public XMLTranscoder
{
public :
    // -----------------------------------------------------------------------
    //  Public constructors and destructor
    // -----------------------------------------------------------------------
    XML88591Transcoder390
    (
        const   XMLCh* const    encodingName
        , const unsigned int    blockSize
        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    );

    virtual ~XML88591Transcoder390();


    // -----------------------------------------------------------------------
    //  Implementation of the XMLTranscoder interface
    // -----------------------------------------------------------------------
    virtual unsigned int transcodeFrom
    (
        const   XMLByte* const          srcData
        , const unsigned int            srcCount
        ,       XMLCh* const            toFill
        , const unsigned int            maxChars
        ,       unsigned int&           bytesEaten
        ,       unsigned char* const    charSizes
    );

    virtual unsigned int transcodeTo
    (
        const   XMLCh* const    srcData
        , const unsigned int    srcCount
        ,       XMLByte* const  toFill
        , const unsigned int    maxBytes
        ,       unsigned int&   charsEaten
        , const UnRepOpts       options
    );

    virtual bool canTranscodeTo
    (
        const   unsigned int    toCheck
    )   const;


private :
    // -----------------------------------------------------------------------
    //  Unimplemented constructors and operators
    // -----------------------------------------------------------------------
    XML88591Transcoder390(const XML88591Transcoder390&);
    XML88591Transcoder390& operator=(const XML88591Transcoder390&);
};

XERCES_CPP_NAMESPACE_END

#endif

--- NEW FILE: XMLUTF8Transcoder390.hpp ---
/*
 * Copyright 2004,2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * $Id: XMLUTF8Transcoder390.hpp,v 1.1 2008/02/19 20:16:31 zolmol Exp $
 */

#ifndef XMLUTF8TRANSCODER390_HPP
#define XMLUTF8TRANSCODER390_HPP

#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/util/TransService.hpp>
#include <xercesc/util/UTFDataFormatException.hpp>

XERCES_CPP_NAMESPACE_BEGIN

//
//  This class provides an implementation of the XMLTranscoder interface
//  for a simple UTF8 transcoder. The parser does some encodings
//  intrinsically without depending upon external transcoding services.
//  To make everything more orthagonal, we implement these internal
//  transcoders using the same transcoder abstraction as the pluggable
//  transcoding services do.
//
class XMLUTIL_EXPORT XMLUTF8Transcoder390 : public XMLTranscoder
{
public :
    // -----------------------------------------------------------------------
    //  Public constructors and destructor
    // -----------------------------------------------------------------------
    XMLUTF8Transcoder390
    (
        const   XMLCh* const    encodingName
        , const unsigned int    blockSize
        , MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
    );

    virtual ~XMLUTF8Transcoder390();


    // -----------------------------------------------------------------------
    //  Implementation of the XMLTranscoder interface
    // -----------------------------------------------------------------------
    virtual unsigned int transcodeFrom
    (
        const   XMLByte* const          srcData
        , const unsigned int            srcCount
        ,       XMLCh* const            toFill
        , const unsigned int            maxChars
        ,       unsigned int&           bytesEaten
        ,       unsigned char* const    charSizes
    );

    virtual unsigned int transcodeTo
    (
        const   XMLCh* const    srcData
        , const unsigned int    srcCount
        ,       XMLByte* const  toFill
        , const unsigned int    maxBytes
        ,       unsigned int&   charsEaten
        , const UnRepOpts       options
    );

    virtual bool canTranscodeTo
    (
        const   unsigned int    toCheck
    )   const;


private :

    inline void checkTrailingBytes(
                                    const XMLByte      toCheck
                                  , const unsigned int trailingBytes
                                  , const unsigned int position       
                                  ) const;

private :
    // -----------------------------------------------------------------------
    //  Unimplemented constructors and operators
    // -----------------------------------------------------------------------
    XMLUTF8Transcoder390(const XMLUTF8Transcoder390&);
    XMLUTF8Transcoder390& operator=(const XMLUTF8Transcoder390&);
};

inline 
void XMLUTF8Transcoder390::checkTrailingBytes(const XMLByte      toCheck
                                            , const unsigned int trailingBytes
                                            , const unsigned int position) const
{

    if((toCheck & 0xC0) != 0x80) 
    {
        char len[2]  = {(char)(trailingBytes+0x31), 0};
        char pos[2]  = {(char)(position+0x31), 0};
        char byte[2] = {toCheck,0};
        ThrowXMLwithMemMgr3(UTFDataFormatException, XMLExcepts::UTF8_FormatError, pos, byte, len, getMemoryManager());
    }

}

XERCES_CPP_NAMESPACE_END

#endif

--- NEW FILE: XMLIBM1140Transcoder390.hpp ---
/*
 * Copyright 2004,2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * $Id: XMLIBM1140Transcoder390.hpp,v 1.1 2008/02/19 20:16:31 zolmol Exp $
 */

#ifndef XMLIBM1140TRANSCODER390_HPP
#define XMLIBM1140TRANSCODER390_HPP

#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/util/Transcoders/Uniconv390/XML256TableTranscoder390.hpp>

XERCES_CPP_NAMESPACE_BEGIN

//
//  This class provides an implementation of the XMLTranscoder interface
//  for a simple ibm-1140 transcoder. The parser does some encodings
//  intrinsically without depending upon external transcoding services.
//  To make everything more orthagonal, we implement these internal
//  transcoders using the same transcoder abstraction as the pluggable
//  transcoding services do.
//
class XMLUTIL_EXPORT XMLIBM1140Transcoder390 : public XML256TableTranscoder390
{
public :
    // -----------------------------------------------------------------------
    //  Public, static methods
    // -----------------------------------------------------------------------
    static XMLCh xlatThisOne(const XMLByte toXlat);


    // -----------------------------------------------------------------------
    //  Public constructors and destructor
    // -----------------------------------------------------------------------
    XMLIBM1140Transcoder390
    (
        const   XMLCh* const    encodingName
        , const unsigned int    blockSize
        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    );

    virtual ~XMLIBM1140Transcoder390();


private :
    // -----------------------------------------------------------------------
    //  Unimplemented constructors and operators
    // -----------------------------------------------------------------------
    XMLIBM1140Transcoder390();
    XMLIBM1140Transcoder390(const XMLIBM1140Transcoder390&);
    XMLIBM1140Transcoder390& operator=(const XMLIBM1140Transcoder390&);
};

XERCES_CPP_NAMESPACE_END

#endif

--- NEW FILE: Uniconv390TransService.hpp ---
/*
 * Copyright 2002-2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * $Id: Uniconv390TransService.hpp,v 1.1 2008/02/19 20:16:31 zolmol Exp $
 */

#ifndef UNICONV390TRANSSERVICE_HPP
#define UNICONV390TRANSSERVICE_HPP

#include <xercesc/util/Mutexes.hpp>
#include <xercesc/util/TransService.hpp>
#include <xercesc/util/Transcoders/ICU/ICUTransService.hpp>
#include "uniconv.h"

XERCES_CPP_NAMESPACE_BEGIN

typedef struct uniconvconverter {
   XMLMutex               fMutex;
   uniconv_t                fIconv390DescriptorFrom;
   uniconv_t                fIconv390DescriptorTo;
} uniconvconverter_t;

typedef struct uniconvcaseconverter {
   XMLMutex  fcaseMutex;
   uniconv_t ftoupperhand;
   uniconv_t ftolowerhand;
} uniconvcaseconverter_t;

class XMLUTIL_EXPORT Uniconv390TransService : public XMLTransService
{
public :
    // -----------------------------------------------------------------------
    //  Constructors and Destructor
    // -----------------------------------------------------------------------
    Uniconv390TransService();
    ~Uniconv390TransService();


    // -----------------------------------------------------------------------
    //  Implementation of the virtual transcoding service API
    // -----------------------------------------------------------------------
    virtual int compareIString
    (
        const   XMLCh* const    comp1
        , const XMLCh* const    comp2
    );

    virtual int compareNIString
    (
        const   XMLCh* const    comp1
        , const XMLCh* const    comp2
        , const unsigned int    maxChars
    );

    virtual const XMLCh* getId() const;

    virtual bool isSpace(const XMLCh toCheck) const;

    virtual XMLLCPTranscoder* makeNewLCPTranscoder();

    virtual bool supportsSrcOfs() const;

    virtual void upperCase(XMLCh* const toUpperCase) const;
    virtual void lowerCase(XMLCh* const toLowerCase) const;

protected :
    // -----------------------------------------------------------------------
    //  Protected virtual methods
    // -----------------------------------------------------------------------
    virtual XMLTranscoder* makeNewXMLTranscoder
    (
        const   XMLCh* const            encodingName
        ,       XMLTransService::Codes& resValue
        , const unsigned int            blockSize
        ,       MemoryManager* const    manager
    );

    virtual void initTransService();

private :
    // -----------------------------------------------------------------------
    //  Unimplemented constructors and operators
    // -----------------------------------------------------------------------
    Uniconv390TransService(const Uniconv390TransService&);
    Uniconv390TransService& operator=(const Uniconv390TransService&);
    ICUTransService * fICUService;
    XMLLCPTranscoder* fLCPTranscoder;
    uniconvcaseconverter_t *fCaseConverter;
};



class XMLUTIL_EXPORT Uniconv390Transcoder : public XMLTranscoder
{
public :
    // -----------------------------------------------------------------------
    //  Constructors and Destructor
    // -----------------------------------------------------------------------
    Uniconv390Transcoder
    (
        const   XMLCh* const        encodingName
        ,        uniconvconverter_t* const   toAdopt
        , const unsigned int        blockSize
        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    );
    ~Uniconv390Transcoder();


    // -----------------------------------------------------------------------
    //  Implementation of the virtual transcoder interface
    // -----------------------------------------------------------------------
    virtual unsigned int transcodeFrom
    (
        const   XMLByte* const          srcData
        , const unsigned int            srcCount
        ,       XMLCh* const            toFill
        , const unsigned int            maxChars
        ,       unsigned int&           bytesEaten
        ,       unsigned char* const    charSizes
    );

    virtual unsigned int transcodeTo
    (
        const   XMLCh* const    srcData
        , const unsigned int    srcCount
        ,       XMLByte* const  toFill
        , const unsigned int    maxBytes
        ,       unsigned int&   charsEaten
        , const UnRepOpts       options
    );

    virtual bool canTranscodeTo
    (
        const   unsigned int    toCheck
    )   const;



private :
    // -----------------------------------------------------------------------
    //  Unimplemented constructors and operators
    // -----------------------------------------------------------------------
    Uniconv390Transcoder();
    Uniconv390Transcoder(const Uniconv390Transcoder&);
    Uniconv390Transcoder& operator=(const Uniconv390Transcoder&);

    ICUTranscoder * fICUTranscoder;

    // -----------------------------------------------------------------------
    //  Private data members
    //
    //  fConverter
    //      This is a pointer to the converter structure that this transcoder
    //      uses.
    //
    // -----------------------------------------------------------------------
    uniconvconverter_t *fConverter;
};


class XMLUTIL_EXPORT Uniconv390LCPTranscoder : public XMLLCPTranscoder
{
public :
    // -----------------------------------------------------------------------
    //  Constructors and Destructor
    // -----------------------------------------------------------------------
    Uniconv390LCPTranscoder( uniconvconverter_t* const toAdopt);
    ~Uniconv390LCPTranscoder();


    // -----------------------------------------------------------------------
    //  Implementation of the virtual transcoder interface
    // -----------------------------------------------------------------------
    virtual unsigned int calcRequiredSize(const char* const srcText
        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);

    virtual unsigned int calcRequiredSize(const XMLCh* const srcText
        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);

    virtual char* transcode(const XMLCh* const toTranscode);
    virtual char* transcode(const XMLCh* const toTranscode,
                            MemoryManager* const manager);

    virtual XMLCh* transcode(const char* const toTranscode);
    virtual XMLCh* transcode(const char* const toTranscode,
                             MemoryManager* const manager);

    virtual bool transcode
    (
        const   char* const     toTranscode
        ,       XMLCh* const    toFill
        , const unsigned int    maxChars
        , MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
    );

    virtual bool transcode
    (
        const   XMLCh* const    toTranscode
        ,       char* const     toFill
        , const unsigned int    maxChars
        , MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
    );



private :
    // -----------------------------------------------------------------------
    //  Unimplemented constructors and operators
    // -----------------------------------------------------------------------
    Uniconv390LCPTranscoder();
    Uniconv390LCPTranscoder(const Uniconv390LCPTranscoder&);
    Uniconv390LCPTranscoder& operator=(const Uniconv390LCPTranscoder&);

    ICULCPTranscoder * fICULCPTranscoder;

    // -----------------------------------------------------------------------
    //  Private data members
    //
    //  fConverter
    //      This is a pointer to the converter structure that this transcoder
    //      uses.
    // -----------------------------------------------------------------------
    uniconvconverter_t *fConverter;
};

XERCES_CPP_NAMESPACE_END

#endif

--- NEW FILE: XMLASCIITranscoder390.hpp ---
/*
 * Copyright 2004,2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * $Id: XMLASCIITranscoder390.hpp,v 1.1 2008/02/19 20:16:31 zolmol Exp $
 */

#ifndef XMLASCIITRANSCODER390_HPP
#define XMLASCIITRANSCODER390_HPP

#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/util/TransService.hpp>

XERCES_CPP_NAMESPACE_BEGIN

//
//  This class provides an implementation of the XMLTranscoder interface
//  for a simple ASCII transcoder. The parser does some encodings
//  intrinsically without depending upon external transcoding services.
//  To make everything more orthagonal, we implement these internal
//  transcoders using the same transcoder abstraction as the pluggable
//  transcoding services do.
//
class XMLUTIL_EXPORT XMLASCIITranscoder390 : public XMLTranscoder
{
public :
    // -----------------------------------------------------------------------
    //  Constructors and destructor
    // -----------------------------------------------------------------------
    XMLASCIITranscoder390
    (
        const   XMLCh* const    encodingName
        , const unsigned int    blockSize
        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    );

    virtual ~XMLASCIITranscoder390();


    // -----------------------------------------------------------------------
    //  Implementation of the XMLTranscoder interface
    // -----------------------------------------------------------------------
    virtual unsigned int transcodeFrom
    (
        const   XMLByte* const          srcData
        , const unsigned int            srcCount
        ,       XMLCh* const            toFill
        , const unsigned int            maxChars
        ,       unsigned int&           bytesEaten
        ,       unsigned char* const    charSizes
    );

    virtual unsigned int transcodeTo
    (
        const   XMLCh* const    srcData
        , const unsigned int    srcCount
        ,       XMLByte* const  toFill
        , const unsigned int    maxBytes
        ,       unsigned int&   charsEaten
        , const UnRepOpts       options
    );

    virtual bool canTranscodeTo
    (
        const   unsigned int    toCheck
    )   const;


private :
    // -----------------------------------------------------------------------
    //  Unimplemented constructors and operators
    // -----------------------------------------------------------------------
    XMLASCIITranscoder390(const XMLASCIITranscoder390&);
    XMLASCIITranscoder390& operator=(const XMLASCIITranscoder390&);
};

XERCES_CPP_NAMESPACE_END

#endif

--- NEW FILE: uniconv.h ---
/*
 * Copyright 2002,2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * $Id: uniconv.h,v 1.1 2008/02/19 20:16:31 zolmol Exp $
 */

#ifndef UNICONV_HPP
#define UNICONV_HPP

#include <xercesc/util/XercesDefs.hpp>

XERCES_CPP_NAMESPACE_BEGIN

// This is the type for the returned handles
typedef void * uniconv_t;
#define UNICONV_ERROR (uniconv_t)-1
#define UNICONV_NOHANDLE (uniconv_t)0

// These are the character conversion services APIs. They are modeled
// after the iconv() APIs.
uniconv_t uniconv_open(const char *,const char *);
int uniconv_close(uniconv_t);
int uniconv(uniconv_t cd, char **inbuf,  size_t *inbytesleft,
                          char **outbuf, size_t *outbytesleft);

// These are the case conversion APIs. They use the same handle type as the
// conversion APIs above.
typedef unsigned short unichar_t;
uniconv_t uniconv_toupper_open();
uniconv_t uniconv_tolower_open();
#define uniconv_toupper_close(_a) _uniconv_case_close(_a)
#define uniconv_tolower_close(_a) _uniconv_case_close(_a)
int _uniconv_case_close(uniconv_t handle_area);
unichar_t uniconv_caseit(uniconv_t cd, unichar_t inchar);

XERCES_CPP_NAMESPACE_END

#endif

--- NEW FILE: XMLWin1252Transcoder390.hpp ---
/*
 * Copyright 2004,2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * $Id: XMLWin1252Transcoder390.hpp,v 1.1 2008/02/19 20:16:31 zolmol Exp $
 */

#ifndef XMLWIN1252TRANSCODER390_HPP
#define XMLWIN1252TRANSCODER390_HPP

#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/util/Transcoders/Uniconv390/XML256TableTranscoder390.hpp>

XERCES_CPP_NAMESPACE_BEGIN


//
//  This class provides an implementation of the XMLTranscoder interface
//  for the Windows variant of Latin1, called Windows-1252. Its close to
//  Latin1, but is somewhat different.
//
class XMLUTIL_EXPORT XMLWin1252Transcoder390 : public XML256TableTranscoder390
{
public :
    // -----------------------------------------------------------------------
    //  Public constructors and destructor
    // -----------------------------------------------------------------------
    XMLWin1252Transcoder390
    (
        const   XMLCh* const    encodingName
        , const unsigned int    blockSize
        , MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
    );

    virtual ~XMLWin1252Transcoder390();


private :
    // -----------------------------------------------------------------------
    //  Unimplemented constructors and operators
    // -----------------------------------------------------------------------
    XMLWin1252Transcoder390();
    XMLWin1252Transcoder390(const XMLWin1252Transcoder390&);
    XMLWin1252Transcoder390& operator=(const XMLWin1252Transcoder390&);
};

XERCES_CPP_NAMESPACE_END

#endif

--- NEW FILE: XMLIBM1047Transcoder390.hpp ---
/*
 * Copyright 2004,2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*
 * $Id: XMLIBM1047Transcoder390.hpp,v 1.1 2008/02/19 20:16:31 zolmol Exp $
 */

#ifndef XMLIBM1047TRANSCODER390_HPP
#define XMLIBM1047TRANSCODER390_HPP

#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/util/Transcoders/Uniconv390/XML256TableTranscoder390.hpp>

XERCES_CPP_NAMESPACE_BEGIN

//
//  This class provides an implementation of the XMLTranscoder interface
//  for a simple 1047-US transcoder. The parser does some encodings
//  intrinsically without depending upon external transcoding services.
//  To make everything more orthagonal, we implement these internal
//  transcoders using the same transcoder abstraction as the pluggable
//  transcoding services do.
//
//
class XMLUTIL_EXPORT XMLIBM1047Transcoder390 : public XML256TableTranscoder390
{
public :
    // -----------------------------------------------------------------------
    //  Public, static methods
    // -----------------------------------------------------------------------
    static XMLCh xlatThisOne(const XMLByte toXlat);


    // -----------------------------------------------------------------------
    //  Public constructors and destructor
    // -----------------------------------------------------------------------
    XMLIBM1047Transcoder390
    (
        const   XMLCh* const    encodingName
        , const unsigned int    blockSize
        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    );

    virtual ~XMLIBM1047Transcoder390();


private :
    // -----------------------------------------------------------------------
    //  Unimplemented constructors and operators
    // -----------------------------------------------------------------------
    XMLIBM1047Transcoder390();
    XMLIBM1047Transcoder390(const XMLIBM1047Transcoder390&);
    void operator=(const XMLIBM1047Transcoder390&);
};

XERCES_CPP_NAMESPACE_END

#endif



More information about the GME-commit mailing list