home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / xml4j.jar / com / ibm / xml / internal / EBCDICRecognizer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-08-30  |  1.9 KB  |  60 lines

  1. package com.ibm.xml.internal;
  2.  
  3. import com.ibm.xml.framework.ChunkyByteArray;
  4. import com.ibm.xml.framework.ParserState;
  5. import com.ibm.xml.framework.XMLDeclRecognizer;
  6. import com.ibm.xml.framework.XMLReader;
  7. import java.io.InputStreamReader;
  8. import java.io.UnsupportedEncodingException;
  9. import org.xml.sax.InputSource;
  10.  
  11. public class EBCDICRecognizer extends XMLDeclRecognizer {
  12.    public XMLReader recognize(ParserState var1, InputSource var2, ChunkyByteArray var3, boolean var4) throws Exception {
  13.       CharReader var5 = null;
  14.       byte var6 = var3.byteAt(0);
  15.       byte var7 = var3.byteAt(1);
  16.       byte var8 = var3.byteAt(2);
  17.       byte var9 = var3.byteAt(3);
  18.       if (var6 == 76 && var7 == 111 && var8 == -89 && var9 == -108) {
  19.          CharReader var10 = new CharReader(var1, var2.getPublicId(), var2.getSystemId(), new InputStreamReader(var3, "CP037"));
  20.          int var11 = ((XMLDeclRecognizer)this).prescanXMLDeclOrTextDecl(var10, var4);
  21.          if (var11 == -1) {
  22.             var3.rewind();
  23.             var5 = new CharReader(var1, var2.getPublicId(), var2.getSystemId(), new InputStreamReader(var3, "UTF8"));
  24.             return var5;
  25.          } else {
  26.             String var12 = var1.getStringPool().orphanString(var11).toUpperCase();
  27.             if ("ISO-10646-UCS-2".equals(var12)) {
  28.                throw new UnsupportedEncodingException(var12);
  29.             } else if ("ISO-10646-UCS-4".equals(var12)) {
  30.                throw new UnsupportedEncodingException(var12);
  31.             } else if ("UTF-16".equals(var12)) {
  32.                throw new UnsupportedEncodingException(var12);
  33.             } else {
  34.                String var13 = MIME2Java.convert(var12);
  35.                if (var13 == null) {
  36.                   if (!var1.getAllowJavaEncodingName()) {
  37.                      throw new UnsupportedEncodingException(var12);
  38.                   }
  39.  
  40.                   var13 = var12;
  41.                }
  42.  
  43.                try {
  44.                   var3.rewind();
  45.                   var5 = new CharReader(var1, var2.getPublicId(), var2.getSystemId(), new InputStreamReader(var3, var13));
  46.                } catch (UnsupportedEncodingException var15) {
  47.                   throw var15;
  48.                } catch (Exception var16) {
  49.                   ((Throwable)var16).printStackTrace();
  50.                }
  51.  
  52.                return var5;
  53.             }
  54.          }
  55.       } else {
  56.          return var5;
  57.       }
  58.    }
  59. }
  60.