diff --git a/src/xercesc/dom/impl/DOMWriterImpl.cpp b/src/xercesc/dom/impl/DOMWriterImpl.cpp index 99a834f7ec28b626baefb67e3bc29c454898f518..641a7c72a0f628dfa3c5a07fa5017d7e80e20fc8 100644 --- a/src/xercesc/dom/impl/DOMWriterImpl.cpp +++ b/src/xercesc/dom/impl/DOMWriterImpl.cpp @@ -17,6 +17,9 @@ /* * $Id$ * $Log$ + * Revision 1.58 2005/04/21 09:05:57 cargilld + * Add detection for UCS-2 and treat as another UTF16 alias. + * * Revision 1.57 2005/03/20 19:02:45 cargilld * Implement versions of uppercase and compareIstring that only check a to z, instead of all characters, and don't rely on functionality provided in the transcoders. * @@ -1824,7 +1827,9 @@ void DOMWriterImpl::processBOM() (XMLString::compareIStringASCII(fEncoding, XMLUni::fgUTF16EncodingString2) == 0) || (XMLString::compareIStringASCII(fEncoding, XMLUni::fgUTF16EncodingString3) == 0) || (XMLString::compareIStringASCII(fEncoding, XMLUni::fgUTF16EncodingString4) == 0) || - (XMLString::compareIStringASCII(fEncoding, XMLUni::fgUTF16EncodingString5) == 0) ) + (XMLString::compareIStringASCII(fEncoding, XMLUni::fgUTF16EncodingString5) == 0) || + (XMLString::compareIStringASCII(fEncoding, XMLUni::fgUTF16EncodingString6) == 0) || + (XMLString::compareIStringASCII(fEncoding, XMLUni::fgUTF16EncodingString7) == 0) ) { #if defined(ENDIANMODE_LITTLE) fFormatter->writeBOM(BOM_utf16le, 2); diff --git a/src/xercesc/internal/XMLReader.cpp b/src/xercesc/internal/XMLReader.cpp index 9cf43a697b27613a060509644997033ecadb1775..c1a5cc43dfb08fb58488e243261b6908707d6e91 100644 --- a/src/xercesc/internal/XMLReader.cpp +++ b/src/xercesc/internal/XMLReader.cpp @@ -1219,7 +1219,9 @@ bool XMLReader::setEncoding(const XMLCh* const newEncoding) || !XMLString::compareString(inputEncoding, XMLUni::fgUTF16EncodingString2) || !XMLString::compareString(inputEncoding, XMLUni::fgUTF16EncodingString3) || !XMLString::compareString(inputEncoding, XMLUni::fgUTF16EncodingString4) - || !XMLString::compareString(inputEncoding, XMLUni::fgUTF16EncodingString5)) + || !XMLString::compareString(inputEncoding, XMLUni::fgUTF16EncodingString5) + || !XMLString::compareString(inputEncoding, XMLUni::fgUTF16EncodingString6) + || !XMLString::compareString(inputEncoding, XMLUni::fgUTF16EncodingString7)) { fMemoryManager->deallocate(inputEncoding); diff --git a/src/xercesc/util/TransService.cpp b/src/xercesc/util/TransService.cpp index 81beb591d251e0517b669ccda03f4632cb31422f..51c53c6b61939fefadb24599a1de5c9502e5a4b2 100644 --- a/src/xercesc/util/TransService.cpp +++ b/src/xercesc/util/TransService.cpp @@ -424,6 +424,24 @@ void XMLTransService::initTransService() ) ); gMappings->put + ( + (void*)XMLUni::fgUTF16EncodingString6, + new EEndianNameMapFor<XMLUTF16Transcoder> + ( + XMLUni::fgUTF16EncodingString6 + , false + ) + ); + gMappings->put + ( + (void*)XMLUni::fgUTF16EncodingString7, + new EEndianNameMapFor<XMLUTF16Transcoder> + ( + XMLUni::fgUTF16EncodingString7 + , false + ) + ); + gMappings->put ( (void*)XMLUni::fgUCS4EncodingString, new EEndianNameMapFor<XMLUCS4Transcoder> diff --git a/src/xercesc/util/Transcoders/Uniconv390/Uniconv390TransService.cpp b/src/xercesc/util/Transcoders/Uniconv390/Uniconv390TransService.cpp index 111848b2ab0ae06d9395b87da38d085ba23f1937..919520f8ca92ec3b126e3cb0c6b8fc1a99aee11c 100644 --- a/src/xercesc/util/Transcoders/Uniconv390/Uniconv390TransService.cpp +++ b/src/xercesc/util/Transcoders/Uniconv390/Uniconv390TransService.cpp @@ -698,6 +698,33 @@ void Uniconv390TransService::initTransService() ) ); gMappings->put + ( + (void*)XMLUni::fgUTF16EncodingString5, + new EEndianNameMapFor<XMLUTF16Transcoder> + ( + XMLUni::fgUTF16EncodingString5 + , false + ) + ); + gMappings->put + ( + (void*)XMLUni::fgUTF16EncodingString6, + new EEndianNameMapFor<XMLUTF16Transcoder> + ( + XMLUni::fgUTF16EncodingString6 + , false + ) + ); + gMappings->put + ( + (void*)XMLUni::fgUTF16EncodingString7, + new EEndianNameMapFor<XMLUTF16Transcoder> + ( + XMLUni::fgUTF16EncodingString7 + , false + ) + ); + gMappings->put ( (void*)XMLUni::fgUCS4EncodingString, new EEndianNameMapFor<XMLUCS4Transcoder> @@ -942,6 +969,33 @@ void Uniconv390TransService::initTransService() ) ); gMappings->put + ( + (void*)XMLUni::fgUTF16EncodingString5, + new EEndianNameMapFor<XMLUTF16Transcoder> + ( + XMLUni::fgUTF16EncodingString5 + , false + ) + ); + gMappings->put + ( + (void*)XMLUni::fgUTF16EncodingString6, + new EEndianNameMapFor<XMLUTF16Transcoder> + ( + XMLUni::fgUTF16EncodingString6 + , false + ) + ); + gMappings->put + ( + (void*)XMLUni::fgUTF16EncodingString7, + new EEndianNameMapFor<XMLUTF16Transcoder> + ( + XMLUni::fgUTF16EncodingString7 + , false + ) + ); + gMappings->put ( (void*)XMLUni::fgUCS4EncodingString, new EEndianNameMapFor<XMLUCS4Transcoder> diff --git a/src/xercesc/util/XMLUni.cpp b/src/xercesc/util/XMLUni.cpp index 4d5da295b84fbcddd0e8ab19ffb061d715d91e68..ef2ca4b9c6367fd5f2fa541bd729602aa7ddcc27 100644 --- a/src/xercesc/util/XMLUni.cpp +++ b/src/xercesc/util/XMLUni.cpp @@ -430,6 +430,17 @@ const XMLCh XMLUni::fgUTF16EncodingString5[] = chLatin_U, chLatin_T, chLatin_F, chDigit_1, chDigit_6, chNull }; +const XMLCh XMLUni::fgUTF16EncodingString6[] = +{ + chLatin_U, chLatin_C, chLatin_S, chDash, chDigit_2, chNull +}; + +const XMLCh XMLUni::fgUTF16EncodingString7[] = +{ + chLatin_I, chLatin_S, chLatin_O, chDash, chDigit_1, chDigit_0, chDigit_6, chDigit_4 + , chDigit_6, chDash, chLatin_U, chLatin_C, chLatin_S, chDash, chDigit_2, chNull +}; + const XMLCh XMLUni::fgUTF16BEncodingString[] = { chLatin_U, chLatin_T, chLatin_F, chDash, chDigit_1, chDigit_6, chSpace, chOpenParen, chLatin_B, chLatin_E, chCloseParen, chNull diff --git a/src/xercesc/util/XMLUni.hpp b/src/xercesc/util/XMLUni.hpp index fd94e44dcf0e3b3ccab54fe351a48576600f3169..6d991f2818eb31a931153a40b1108cf26af0eed4 100644 --- a/src/xercesc/util/XMLUni.hpp +++ b/src/xercesc/util/XMLUni.hpp @@ -119,6 +119,8 @@ public : static const XMLCh fgUTF16EncodingString3[]; static const XMLCh fgUTF16EncodingString4[]; static const XMLCh fgUTF16EncodingString5[]; + static const XMLCh fgUTF16EncodingString6[]; + static const XMLCh fgUTF16EncodingString7[]; static const XMLCh fgUTF16BEncodingString[]; static const XMLCh fgUTF16BEncodingString2[]; static const XMLCh fgUTF16LEncodingString[];