http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2311

*** shadow/2311 Mon Jun 25 10:33:22 2001
--- shadow/2311.tmp.6555        Wed Jun 27 10:44:25 2001
***************
*** 2,9 ****
  | parseReset throws exception if parseFirst returns false                    |
  +----------------------------------------------------------------------------+
  |        Bug #: 2311                        Product: Xerces-C                |
! |       Status: NEW                         Version: 1.5                     |
! |   Resolution:                            Platform: PC                      |
  |     Severity: Normal                   OS/Version: Windows NT/2K           |
  |     Priority: Other                     Component: SAX/SAX2                |
  +----------------------------------------------------------------------------+
--- 2,9 ----
  | parseReset throws exception if parseFirst returns false                    |
  +----------------------------------------------------------------------------+
  |        Bug #: 2311                        Product: Xerces-C                |
! |       Status: RESOLVED                    Version: 1.5                     |
! |   Resolution: INVALID                    Platform: PC                      |
  |     Severity: Normal                   OS/Version: Windows NT/2K           |
  |     Priority: Other                     Component: SAX/SAX2                |
  +----------------------------------------------------------------------------+
***************
*** 28,30 ****
--- 28,67 ----
        //...
  }
  parser.parseReset(token);
+ 
+ ------- Additional Comments From [EMAIL PROTECTED]  2001-06-27 10:44 -------
+ If parseFirst returns false, then it means the scan of the prolog failed and the 
+ token is not going to work on subsequent progressive parse calls which include 
+ both parseNext and parseReset.
+ 
+ As documented in parseReset API, parseReset is for you to reset the parser if 
+ you exit the loop early before the end of the document is reached.  Call 
+ parseReset when you exit the file prematurely of your own accord, because you've 
+ found what you wanted in the file most likely. 
+ 
+ If you exited because of an error (e.g. parseFirst fails), then cleanup will be 
+ done for you automatically and thus it's no need to call parseReset. 
+ 
+ So in your code, it's better do something like this (copied from sample PParse):
+ 
+         // Create a progressive scan token
+         XMLPScanToken token;
+ 
+         if (!parser.parseFirst(xmlFile, token))
+         {
+             cerr << "scanFirst() failed\n" << endl;
+             return 1;
+         }
+ 
+         //
+         //  We started ok, so lets call scanNext() until we find what we want
+         //  or hit the end.
+         //
+         bool gotMore = true;
+         while (gotMore)
+             gotMore = parser.parseNext(token);
+ 
+         //
+         //  Reset the parser. 
+         //
+         parser.parseReset(token);
\ No newline at end of file

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to