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
}