From ffa8f8da351babf5d23e039de1a24e4e8ae4829e Mon Sep 17 00:00:00 2001
From: "Unknown (roddey)" <dev-null@apache.org>
Date: Tue, 8 Feb 2000 01:00:28 +0000
Subject: [PATCH] Support for new intrinsic encoder for IBM-1047 code page.

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@171718 13f79535-47bb-0310-9956-ffa450edef68
---
 .../Win32/Unsupported/IntVC6/XMLUtil/XMLUtil.dsp    |  8 ++++++++
 src/util/TransService.cpp                           | 13 +++++++++++--
 src/util/XMLUni.cpp                                 | 13 +++++++++++++
 src/util/XMLUni.hpp                                 |  5 +++++
 4 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/Projects/Win32/Unsupported/IntVC6/XMLUtil/XMLUtil.dsp b/Projects/Win32/Unsupported/IntVC6/XMLUtil/XMLUtil.dsp
index 593443142..55ef07aa9 100644
--- a/Projects/Win32/Unsupported/IntVC6/XMLUtil/XMLUtil.dsp
+++ b/Projects/Win32/Unsupported/IntVC6/XMLUtil/XMLUtil.dsp
@@ -157,6 +157,10 @@ SOURCE=..\..\..\..\..\src\util\XMLException.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\..\..\..\src\util\XMLIBM1047Transcoder.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\..\..\..\src\util\XMLString.cpp
 # End Source File
 # Begin Source File
@@ -365,6 +369,10 @@ SOURCE=..\..\..\..\..\src\util\XMLExceptMsgs.hpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\..\..\..\src\util\XMLIBM1047Transcoder.hpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\..\..\..\src\util\XMLMsgLoader.hpp
 # End Source File
 # Begin Source File
diff --git a/src/util/TransService.cpp b/src/util/TransService.cpp
index 1b01e4771..dd63b96f2 100644
--- a/src/util/TransService.cpp
+++ b/src/util/TransService.cpp
@@ -62,6 +62,7 @@
 #include <util/XML88591Transcoder.hpp>
 #include <util/XMLASCIITranscoder.hpp>
 #include <util/XMLEBCDICTranscoder.hpp>
+#include <util/XMLIBM1047Transcoder.hpp>
 #include <util/XMLUCS4Transcoder.hpp>
 #include <util/XMLUTF8Transcoder.hpp>
 #include <util/XMLUTF16Transcoder.hpp>
@@ -300,11 +301,19 @@ void XMLTransService::initTransService()
         )
     );
 
-
     //
-    //  Add in our mappings for EBCDIC-US
+    //  Add in our mappings for EBCDIC-US. We map all the default EBCDIC
+    //  encodings to our intrinsic encoder, which is IBM-037. And of course
+    //  we map the IBM-037 encoding itself here as well.
     //
     gMappings->put(new ENameMapFor<XMLEBCDICTranscoder>(XMLUni::fgDefaultEBCDICEncodingString));
     gMappings->put(new ENameMapFor<XMLEBCDICTranscoder>(XMLUni::fgEBCDICEncodingString));
     gMappings->put(new ENameMapFor<XMLEBCDICTranscoder>(XMLUni::fgEBCDICEncodingString2));
+    gMappings->put(new ENameMapFor<XMLEBCDICTranscoder>(XMLUni::fgIBM037EncodingString));
+
+    //
+    //  And we intrinsically support the OE EBCDIC native page, which is IBM-1047.
+    //  It must be explicitly indicated as IBM-1047.
+    //
+    gMappings->put(new ENameMapFor<XMLIBM1047Transcoder>(XMLUni::fgIBM1047EncodingString));
 }
diff --git a/src/util/XMLUni.cpp b/src/util/XMLUni.cpp
index 580234092..1703ff130 100644
--- a/src/util/XMLUni.cpp
+++ b/src/util/XMLUni.cpp
@@ -56,6 +56,9 @@
 
 /**
  * $Log$
+ * Revision 1.7  2000/02/08 00:59:19  roddey
+ * Support for new intrinsic encoder for IBM-1047 code page.
+ *
  * Revision 1.6  2000/02/06 07:48:06  rahulj
  * Year 2K copyright swat.
  *
@@ -201,6 +204,16 @@ const XMLCh XMLUni::fgGlobalNSURIName[] =
     ,   chLatin_N, chLatin_S, chNull
 };
 
+const XMLCh XMLUni::fgIBM037EncodingString[] =
+{
+    chLatin_I, chLatin_B, chLatin_M, chDash, chDigit_0, chDigit_3, chDigit_7, chNull
+};
+
+const XMLCh XMLUni::fgIBM1047EncodingString[] =
+{
+    chLatin_I, chLatin_B, chLatin_M, chDash, chDigit_1, chDigit_0, chDigit_4, chDigit_7, chNull
+};
+
 const XMLCh XMLUni::fgIESString[] =
 {
     chLatin_I, chLatin_E, chLatin_S, chNull
diff --git a/src/util/XMLUni.hpp b/src/util/XMLUni.hpp
index a654c4c86..5a9da9044 100644
--- a/src/util/XMLUni.hpp
+++ b/src/util/XMLUni.hpp
@@ -56,6 +56,9 @@
 
 /**
  * $Log$
+ * Revision 1.6  2000/02/08 00:59:19  roddey
+ * Support for new intrinsic encoder for IBM-1047 code page.
+ *
  * Revision 1.5  2000/02/06 07:48:06  rahulj
  * Year 2K copyright swat.
  *
@@ -234,6 +237,8 @@ public :
     static const XMLCh fgExceptDomain[];
     static const XMLCh fgFixedString[];
     static const XMLCh fgGlobalNSURIName[];
+    static const XMLCh fgIBM037EncodingString[];
+    static const XMLCh fgIBM1047EncodingString[];
     static const XMLCh fgIESString[];
     static const XMLCh fgIDString[];
     static const XMLCh fgIDRefString[];
-- 
GitLab