transservice.cpp

来自「IBM的解析xml的工具Xerces的源代码」· C++ 代码 · 共 546 行 · 第 1/2 页

CPP
546
字号
    gMappings->put((void*)XMLUni::fgISO88591EncodingString11, new ENameMapFor<XML88591Transcoder>(XMLUni::fgISO88591EncodingString11));    gMappings->put((void*)XMLUni::fgISO88591EncodingString12, new ENameMapFor<XML88591Transcoder>(XMLUni::fgISO88591EncodingString12));    //    //  Add in our mappings for UTF-16 and UCS-4, little endian    //    bool swapped = false;    #if defined(ENDIANMODE_BIG)    swapped = true;    #endif    gMappingsRecognizer->setElementAt(new EEndianNameMapFor<XMLUTF16Transcoder>(XMLUni::fgUTF16LEncodingString, swapped), XMLRecognizer::UTF_16L);    gMappings->put    (		(void*)XMLUni::fgUTF16LEncodingString,        new EEndianNameMapFor<XMLUTF16Transcoder>        (            XMLUni::fgUTF16LEncodingString            , swapped        )    );    gMappings->put    (		(void*)XMLUni::fgUTF16LEncodingString2,        new EEndianNameMapFor<XMLUTF16Transcoder>        (            XMLUni::fgUTF16LEncodingString2            , swapped        )    );    gMappingsRecognizer->setElementAt(new EEndianNameMapFor<XMLUCS4Transcoder>(XMLUni::fgUCS4LEncodingString, swapped), XMLRecognizer::UCS_4L);    gMappings->put    (		(void*)XMLUni::fgUCS4LEncodingString,        new EEndianNameMapFor<XMLUCS4Transcoder>        (            XMLUni::fgUCS4LEncodingString            , swapped        )    );    gMappings->put    (		(void*)XMLUni::fgUCS4LEncodingString2,        new EEndianNameMapFor<XMLUCS4Transcoder>        (            XMLUni::fgUCS4LEncodingString2            , swapped        )    );    //    //  Add in our mappings for UTF-16 and UCS-4, big endian    //    swapped = false;    #if defined(ENDIANMODE_LITTLE)    swapped = true;    #endif    gMappingsRecognizer->setElementAt(new EEndianNameMapFor<XMLUTF16Transcoder>(XMLUni::fgUTF16BEncodingString, swapped), XMLRecognizer::UTF_16B);    gMappings->put    (		(void*)XMLUni::fgUTF16BEncodingString,        new EEndianNameMapFor<XMLUTF16Transcoder>        (            XMLUni::fgUTF16BEncodingString            , swapped        )    );    gMappings->put    (		(void*)XMLUni::fgUTF16BEncodingString2,        new EEndianNameMapFor<XMLUTF16Transcoder>        (            XMLUni::fgUTF16BEncodingString2            , swapped        )    );    gMappingsRecognizer->setElementAt(new EEndianNameMapFor<XMLUCS4Transcoder>(XMLUni::fgUCS4BEncodingString, swapped), XMLRecognizer::UCS_4B);    gMappings->put    (		(void*)XMLUni::fgUCS4BEncodingString,        new EEndianNameMapFor<XMLUCS4Transcoder>        (            XMLUni::fgUCS4BEncodingString            , swapped        )    );    gMappings->put    (		(void*)XMLUni::fgUCS4BEncodingString2,        new EEndianNameMapFor<XMLUCS4Transcoder>        (            XMLUni::fgUCS4BEncodingString2            , swapped        )    );    //    //  Add in our mappings for UTF-16 and UCS-4 which does not indicate endian    //  assumes the same endian encoding as the OS    //    gMappings->put    (		(void*)XMLUni::fgUTF16EncodingString,        new EEndianNameMapFor<XMLUTF16Transcoder>        (            XMLUni::fgUTF16EncodingString            , false        )    );    gMappings->put    (		(void*)XMLUni::fgUTF16EncodingString2,        new EEndianNameMapFor<XMLUTF16Transcoder>        (            XMLUni::fgUTF16EncodingString2            , false        )    );    gMappings->put    (		(void*)XMLUni::fgUTF16EncodingString3,        new EEndianNameMapFor<XMLUTF16Transcoder>        (            XMLUni::fgUTF16EncodingString3            , false        )    );    gMappings->put    (		(void*)XMLUni::fgUTF16EncodingString4,        new EEndianNameMapFor<XMLUTF16Transcoder>        (            XMLUni::fgUTF16EncodingString4            , false        )    );    gMappings->put    (		(void*)XMLUni::fgUTF16EncodingString5,        new EEndianNameMapFor<XMLUTF16Transcoder>        (            XMLUni::fgUTF16EncodingString5            , false        )    );    gMappings->put    (		(void*)XMLUni::fgUCS4EncodingString,        new EEndianNameMapFor<XMLUCS4Transcoder>        (            XMLUni::fgUCS4EncodingString            , false        )    );    gMappings->put    (		(void*)XMLUni::fgUCS4EncodingString2,        new EEndianNameMapFor<XMLUCS4Transcoder>        (            XMLUni::fgUCS4EncodingString2            , false        )    );    gMappings->put    (		(void*)XMLUni::fgUCS4EncodingString3,        new EEndianNameMapFor<XMLUCS4Transcoder>        (            XMLUni::fgUCS4EncodingString3            , false        )    );    //    //  Add in our mappings for IBM037, and the one alias we support for    //  it, which is EBCDIC-CP-US.    //    gMappingsRecognizer->setElementAt(new ENameMapFor<XMLEBCDICTranscoder>(XMLUni::fgEBCDICEncodingString), XMLRecognizer::EBCDIC);    gMappings->put((void*)XMLUni::fgIBM037EncodingString, new ENameMapFor<XMLEBCDICTranscoder>(XMLUni::fgIBM037EncodingString));    gMappings->put((void*)XMLUni::fgIBM037EncodingString2, new ENameMapFor<XMLEBCDICTranscoder>(XMLUni::fgIBM037EncodingString2));    //hhe    gMappings->put((void*)XMLUni::fgIBM1047EncodingString, new ENameMapFor<XMLIBM1047Transcoder>(XMLUni::fgIBM1047EncodingString));    gMappings->put((void*)XMLUni::fgIBM1047EncodingString2, new ENameMapFor<XMLIBM1047Transcoder>(XMLUni::fgIBM1047EncodingString2));    //    //  Add in our mappings for IBM037 with Euro update, i.e. IBM1140. It    //  has alias IBM01140, the one suggested by IANA    //    gMappings->put((void*)XMLUni::fgIBM1140EncodingString, new ENameMapFor<XMLIBM1140Transcoder>(XMLUni::fgIBM1140EncodingString));    gMappings->put((void*)XMLUni::fgIBM1140EncodingString2, new ENameMapFor<XMLIBM1140Transcoder>(XMLUni::fgIBM1140EncodingString2));    gMappings->put((void*)XMLUni::fgIBM1140EncodingString3, new ENameMapFor<XMLIBM1140Transcoder>(XMLUni::fgIBM1140EncodingString3));    gMappings->put((void*)XMLUni::fgIBM1140EncodingString4, new ENameMapFor<XMLIBM1140Transcoder>(XMLUni::fgIBM1140EncodingString4));    //    //  Add in our mappings for Windows-1252. We don't have any aliases for    //  this one, so there is just one mapping.    //    gMappings->put((void*)XMLUni::fgWin1252EncodingString, new ENameMapFor<XMLWin1252Transcoder>(XMLUni::fgWin1252EncodingString));}// ---------------------------------------------------------------------------//  XMLTransService: IANA encoding setting// ---------------------------------------------------------------------------void XMLTransService::strictIANAEncoding(const bool newState){    gStrictIANAEncoding = newState;}bool XMLTransService::isStrictIANAEncoding(){    return gStrictIANAEncoding;}// ---------------------------------------------------------------------------//  XMLTranscoder: Public Destructor// ---------------------------------------------------------------------------XMLTranscoder::~XMLTranscoder(){    fMemoryManager->deallocate(fEncodingName);//delete [] fEncodingName;}// ---------------------------------------------------------------------------//  XMLTranscoder: Hidden Constructors// ---------------------------------------------------------------------------XMLTranscoder::XMLTranscoder(const  XMLCh* const    encodingName                            , const unsigned int    blockSize                            , MemoryManager* const  manager) :      fBlockSize(blockSize)    , fEncodingName(0)        , fMemoryManager(manager){    fEncodingName = XMLString::replicate(encodingName, fMemoryManager);}// ---------------------------------------------------------------------------//  XMLTranscoder: Protected helpers// ---------------------------------------------------------------------------void XMLTranscoder::checkBlockSize(const unsigned int){//    if (toCheck > fBlockSize)//        ThrowXML(TranscodingException, XMLExcepts::Trans_BadBlockSize);}// ---------------------------------------------------------------------------//  XMLLCPTranscoder: Public Destructor// ---------------------------------------------------------------------------XMLLCPTranscoder::XMLLCPTranscoder(){}// ---------------------------------------------------------------------------//  XMLLCPTranscoder: Hidden Constructors// ---------------------------------------------------------------------------XMLLCPTranscoder::~XMLLCPTranscoder(){}XERCES_CPP_NAMESPACE_END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?