[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Parse Error Not Thrown When Expected

  • From: Laura Neitzel <laura.neitzel@m...>
  • To: "'Arnaud Le Hors'" <lehors@u...>, xerces-j-dev@x...
  • Date: Tue, 16 May 2000 13:55:41 -0700

parse event not firing
I'm sorry, i must not have explained the problem well enough. I realize that
SAX is event based and I believe that the error HAS occured when it reaches
the end of teh element in question (the "Add" element). I just assumed that
the parser would perform the validation BEFORE it fires teh event, not
after. 

If what John said is correct ("There is no model for when validity errors
are guaranteed to be fired. A parser is free to fire them when it detects
them, or even to save them up to the end of the document and fire them all
at once.  (Indeed, validity errors like undefined ID *can't* be detected
until the end.)"), then I guess we'll just have to code around this. 

I assumed that, since SAX is event based, i could also code at an event
based level. If i have to save up everything and commit to the database only
at the end (b/c errors aren't thrown until then), then what is the point of
using SAX (besides the fact that i can save my own objects, as opposed to
dom objects)? 

-----Original Message-----
From: Arnaud Le Hors [mailto:lehors@u...]
Sent: Tuesday, May 16, 2000 1:05 PM
To: xerces-j-dev@x...
Cc: xml-dev@x...
Subject: Re: Parse Error Not Thrown When Expected


Laura Neitzel wrote:
> 
> Can someone tell me why the Parser does not throw the exception BEFORE it
> forwards the endElement (meaning that it never will throw the
endElement)???

Because it hasn't encountered the error yet! SAX is event based, the
parser passes the events to the application as they occur. There is
nothing that can be changed on that front. The alternative would be to
validate the document first and then start firing events. The
application can do that, the parse can't (well, it could but this
wouldn't be reasonable).
Alternatively you can buffer the information returned by the parser and
only process it once you considered it ok. Or if your document is small
you could just use the DOMParser and use the DOM as your buffer.
-- 
Arnaud  Le Hors - IBM Cupertino, XML Technology Group

***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@x...&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************

***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@x...&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.