You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by er...@locus.apache.org on 2000/10/03 20:56:39 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/parsers XMLParser.java

ericye      00/10/03 11:56:39

  Modified:    java/src/org/apache/xerces/impl Tag: xerces_j_2
                        XMLDocumentScanner.java XMLErrorReporter.java
               java/src/org/apache/xerces/parsers Tag: xerces_j_2
                        XMLParser.java
  Log:
  improve XMLDocumentScanner
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.6   +42 -2     xml-xerces/java/src/org/apache/xerces/impl/Attic/XMLDocumentScanner.java
  
  Index: XMLDocumentScanner.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/Attic/XMLDocumentScanner.java,v
  retrieving revision 1.1.2.5
  retrieving revision 1.1.2.6
  diff -u -r1.1.2.5 -r1.1.2.6
  --- XMLDocumentScanner.java	2000/10/03 02:00:41	1.1.2.5
  +++ XMLDocumentScanner.java	2000/10/03 18:56:36	1.1.2.6
  @@ -99,7 +99,7 @@
    * @author Stubs generated by DesignDoc on Mon Sep 11 11:10:57 PDT 2000
    * @author Andy Clark, IBM
    *
  - * @version $Id: XMLDocumentScanner.java,v 1.1.2.5 2000/10/03 02:00:41 andyc Exp $
  + * @version $Id: XMLDocumentScanner.java,v 1.1.2.6 2000/10/03 18:56:36 ericye Exp $
    */
   public class XMLDocumentScanner
       implements XMLComponent, XMLDocumentSource, XMLEntityHandler {
  @@ -1938,6 +1938,7 @@
        * Dispatcher to handle trailing miscellaneous section scanning.
        *
        * @author Andy Clark, IBM
  +     * @author Eric Ye, IBM
        */
       protected final class TrailingMiscDispatcher
           implements Dispatcher {
  @@ -1961,7 +1962,46 @@
           public boolean dispatch(boolean complete) 
               throws IOException, SAXException {
   
  -            // TODO
  +            do {
  +
  +                if (fEntityScanner.skipChar('<')) {
  +                    setScannerState(SCANNER_STATE_START_OF_MARKUP);
  +                    if (fEntityScanner.skipChar('?')) {
  +                        scanPI();
  +                    }
  +                    else if ( fEntityScanner.skipChar('!')) {
  +                        scanComment();
  +                    }
  +                    setScannerState(SCANNER_STATE_TRAILING_MISC);
  +                }
  +                else if ( fEntityScanner.skipSpaces() ) {
  +                    // do nothing
  +                }
  +                else {
  +                    int ch = fEntityScanner.peekChar();
  +
  +                    if (XMLChar.isInvalid(ch)) {
  +                        if (ch == -1 ) {
  +                            setScannerState(SCANNER_STATE_END_OF_INPUT);
  +                            setDispatcher(fEndOfInputDispatcher);
  +                            return true;
  +                        }
  +                        else {
  +                            // REVISIT report error
  +                            // throw new SAXException("invalid char in trailing Misc);
  +                            setScannerState(SCANNER_STATE_END_OF_INPUT);
  +                            setDispatcher(fEndOfInputDispatcher);
  +                            return false;
  +                        }
  +                    }
  +                    else {
  +                        //REVISIT: report error
  +                        throw new SAXException("not recognized in trailing Misc");
  +                    }
  +                }
  +
  +            } while ( complete );
  +
               setScannerState(SCANNER_STATE_END_OF_INPUT);
               setDispatcher(fEndOfInputDispatcher);
               return true;
  
  
  
  1.1.2.2   +5 -3      xml-xerces/java/src/org/apache/xerces/impl/Attic/XMLErrorReporter.java
  
  Index: XMLErrorReporter.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/Attic/XMLErrorReporter.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- XMLErrorReporter.java	2000/10/02 01:29:51	1.1.2.1
  +++ XMLErrorReporter.java	2000/10/03 18:56:36	1.1.2.2
  @@ -72,7 +72,7 @@
   /**
    * @author Stubs generated by DesignDoc on Mon Sep 11 11:10:57 PDT 2000
    * @author Eric Ye, IBM
  - * @version $Id: XMLErrorReporter.java,v 1.1.2.1 2000/10/02 01:29:51 lehors Exp $
  + * @version $Id: XMLErrorReporter.java,v 1.1.2.2 2000/10/03 18:56:36 ericye Exp $
    */
   public class XMLErrorReporter
       implements XMLComponent {
  @@ -125,8 +125,9 @@
       /**
        * 
        */
  -    public XMLErrorReporter() {
  +    public XMLErrorReporter(Locator locator) {
           fMessageFormatters = new Hashtable();
  +        fLocator = locator;
       }
   
       //
  @@ -228,8 +229,9 @@
        * 
        * @param configurationManager 
        */
  -    public void reset(XMLComponentManager configurationManager)
  +    public void reset(XMLComponentManager componentManager)
           throws SAXException {
  +        fErrorHandler = (ErrorHandler)componentManager.getProperty(XERCES_PROPERTIES_PREFIX + "internal/error-handler");
       } // reset
   
       /**
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.9   +4 -4      xml-xerces/java/src/org/apache/xerces/parsers/Attic/XMLParser.java
  
  Index: XMLParser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/parsers/Attic/XMLParser.java,v
  retrieving revision 1.1.2.8
  retrieving revision 1.1.2.9
  diff -u -r1.1.2.8 -r1.1.2.9
  --- XMLParser.java	2000/10/02 01:29:57	1.1.2.8
  +++ XMLParser.java	2000/10/03 18:56:38	1.1.2.9
  @@ -77,7 +77,7 @@
   /**
    * @author Stubs generated by DesignDoc on Mon Sep 11 11:10:57 PDT 2000
    * @author Arnaud  Le Hors, IBM
  - * @version $Id: XMLParser.java,v 1.1.2.8 2000/10/02 01:29:57 lehors Exp $
  + * @version $Id: XMLParser.java,v 1.1.2.9 2000/10/03 18:56:38 ericye Exp $
    */
   public abstract class XMLParser
       implements XMLComponentManager {
  @@ -146,12 +146,12 @@
           fSymbolTable = symbolTable;
           fProperties.put(XERCES_PROPERTIES_PREFIX + "symbol-table",
                           fSymbolTable);
  -        fErrorReporter = new XMLErrorReporter();
  -        fProperties.put(XERCES_PROPERTIES_PREFIX + "error-reporter",
  -                        fErrorReporter);
           fEntityManager = new XMLEntityManager();
           fProperties.put(XERCES_PROPERTIES_PREFIX + "entity-manager",
                           fEntityManager);
  +        fErrorReporter = new XMLErrorReporter( fEntityManager.getEntityScanner() );
  +        fProperties.put(XERCES_PROPERTIES_PREFIX + "error-reporter",
  +                        fErrorReporter);
   
           // set features to their default values
       }