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 / parsers / SAXParser.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-08-30  |  4.4 KB  |  190 lines

  1. package com.ibm.xml.parsers;
  2.  
  3. import com.ibm.xml.framework.EntityPool;
  4. import com.ibm.xml.framework.ParserState;
  5. import com.ibm.xml.framework.StringPool;
  6. import com.ibm.xml.framework.XMLParser;
  7. import java.io.IOException;
  8. import org.xml.sax.DTDHandler;
  9. import org.xml.sax.DocumentHandler;
  10. import org.xml.sax.EntityResolver;
  11. import org.xml.sax.InputSource;
  12. import org.xml.sax.SAXException;
  13.  
  14. public class SAXParser extends XMLParser {
  15.    private DTDHandler fDTDHandler;
  16.    private DocumentHandler fDocumentHandler;
  17.    protected boolean fRootElement;
  18.  
  19.    public SAXParser() {
  20.       ParserState var1 = ((XMLParser)this).getParserState();
  21.       var1.useDefaultStringPool();
  22.       var1.useDefaultAttrPool();
  23.       var1.useDefaultEntityPool();
  24.       var1.useDefaultElementDeclPool();
  25.       ((XMLParser)this).setDocumentHandler(this);
  26.       ((XMLParser)this).setDocumentTypeHandler(this);
  27.    }
  28.  
  29.    public void setEntityResolver(EntityResolver var1) {
  30.       ((XMLParser)this).getEntityHandler().setEntityResolver(var1);
  31.    }
  32.  
  33.    public void setDTDHandler(DTDHandler var1) {
  34.       this.fDTDHandler = var1;
  35.    }
  36.  
  37.    public void setDocumentHandler(DocumentHandler var1) {
  38.       this.fDocumentHandler = var1;
  39.    }
  40.  
  41.    public void doctypeDecl(int var1) throws Exception {
  42.    }
  43.  
  44.    public void startInternalSubset() throws Exception {
  45.    }
  46.  
  47.    public void endInternalSubset() throws Exception {
  48.    }
  49.  
  50.    public void startExternalSubset(int var1, int var2) throws Exception {
  51.    }
  52.  
  53.    public void endExternalSubset() throws Exception {
  54.    }
  55.  
  56.    public void elementDecl(int var1) throws Exception {
  57.    }
  58.  
  59.    public void attlistDecl(int var1, int var2) throws Exception {
  60.    }
  61.  
  62.    public void internalEntityDecl(int var1) throws Exception {
  63.    }
  64.  
  65.    public void externalEntityDecl(int var1) throws Exception {
  66.    }
  67.  
  68.    public void unparsedEntityDecl(int var1) throws Exception {
  69.       if (this.fDTDHandler != null) {
  70.          ParserState var2 = ((XMLParser)this).getParserState();
  71.          EntityPool var3 = var2.getEntityPool();
  72.          StringPool var4 = var2.getStringPool();
  73.          String var5 = var4.toString(var3.getEntityName(var1));
  74.          String var6 = var4.toString(var3.getPublicId(var1));
  75.          String var7 = var4.toString(var3.getSystemId(var1));
  76.          String var8 = var4.toString(var3.getNotationName(var1));
  77.          this.fDTDHandler.unparsedEntityDecl(var5, var6, var7, var8);
  78.       }
  79.  
  80.    }
  81.  
  82.    public void parameterEntityDecl(int var1) {
  83.    }
  84.  
  85.    public void notationDecl(int var1) throws Exception {
  86.       if (this.fDTDHandler != null) {
  87.          ParserState var2 = ((XMLParser)this).getParserState();
  88.          EntityPool var3 = var2.getEntityPool();
  89.          StringPool var4 = var2.getStringPool();
  90.          String var5 = var4.toString(var3.getNotationName(var1));
  91.          String var6 = var4.toString(var3.getPublicId(var1));
  92.          String var7 = var4.toString(var3.getSystemId(var1));
  93.          this.fDTDHandler.notationDecl(var5, var6, var7);
  94.       }
  95.  
  96.    }
  97.  
  98.    public boolean sendCharDataAsCharArray() {
  99.       return true;
  100.    }
  101.  
  102.    public void startDocument(int var1, int var2, int var3) throws Exception {
  103.       StringPool var4 = ((XMLParser)this).getParserState().getStringPool();
  104.       var4.orphanString(var1);
  105.       var4.orphanString(var2);
  106.       var4.orphanString(var3);
  107.       if (this.fDocumentHandler != null) {
  108.          this.fDocumentHandler.setDocumentLocator(((XMLParser)this).getLocator());
  109.          this.fDocumentHandler.startDocument();
  110.       }
  111.  
  112.    }
  113.  
  114.    public void endDocument() throws Exception {
  115.       if (this.fDocumentHandler != null) {
  116.          this.fDocumentHandler.endDocument();
  117.       }
  118.  
  119.    }
  120.  
  121.    public void startElement(int var1, int var2) throws Exception {
  122.       this.fRootElement = true;
  123.       if (this.fDocumentHandler != null) {
  124.          ParserState var3 = ((XMLParser)this).getParserState();
  125.          this.fDocumentHandler.startElement(var3.getStringPool().toString(var1), var3.getAttrPool().getAttributeList(var2));
  126.       }
  127.  
  128.       ((XMLParser)this).getParserState().getAttrPool().releaseAttrList(var2);
  129.    }
  130.  
  131.    public void endElement(int var1) throws Exception {
  132.       if (this.fDocumentHandler != null) {
  133.          this.fDocumentHandler.endElement(((XMLParser)this).getParserState().getStringPool().toString(var1));
  134.       }
  135.  
  136.    }
  137.  
  138.    public void startEntityReference(int var1) throws Exception {
  139.    }
  140.  
  141.    public void endEntityReference(int var1) throws Exception {
  142.    }
  143.  
  144.    public void characters(int var1, boolean var2) throws Exception {
  145.    }
  146.  
  147.    public void ignorableWhitespace(int var1, boolean var2) throws Exception {
  148.    }
  149.  
  150.    public void processingInstruction(int var1, int var2) throws Exception {
  151.       StringPool var3 = ((XMLParser)this).getParserState().getStringPool();
  152.       String var4 = var3.orphanString(var1);
  153.       String var5 = var3.orphanString(var2);
  154.       if (this.fDocumentHandler != null) {
  155.          this.fDocumentHandler.processingInstruction(var4, var5);
  156.       }
  157.  
  158.    }
  159.  
  160.    public void comment(int var1) throws Exception {
  161.       ((XMLParser)this).getParserState().getStringPool().releaseString(var1);
  162.    }
  163.  
  164.    public void characters(char[] var1, int var2, int var3, boolean var4) throws Exception {
  165.       if (this.fDocumentHandler != null) {
  166.          this.fDocumentHandler.characters(var1, var2, var3);
  167.       }
  168.  
  169.    }
  170.  
  171.    public void ignorableWhitespace(char[] var1, int var2, int var3, boolean var4) throws Exception {
  172.       if (this.fDocumentHandler != null) {
  173.          this.fDocumentHandler.ignorableWhitespace(var1, var2, var3);
  174.       }
  175.  
  176.    }
  177.  
  178.    public void parse(InputSource var1) throws SAXException, IOException {
  179.       this.fRootElement = false;
  180.       super.parse(var1);
  181.       if (!this.fRootElement) {
  182.          try {
  183.             ((XMLParser)this).error(118);
  184.          } catch (Exception var3) {
  185.             throw new SAXException(var3);
  186.          }
  187.       }
  188.    }
  189. }
  190.