OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] ErrorHandler in SAX2

[ Lists Home | Date Index | Thread Index ]

> I have set Warning code to 1, Error code to 2, and fatal-error to 3.  I
> don't want to stop parsing until the whole document is gone through, i.e.
> want to continue parsing  even the fatal-errors occured.

This is supposedly not possible. An XML parser (which feeds SAX) is required
to stop reporting characters when it reaches a fatal error. The parser can
continue to parse for the purpose of finding other errors but that is all it
is allowed to report [1]. That said I don't know which SAX parsers actually
continue past a fatal error. Not AElfred2.

> Second problem, I am having is to build my error XML StringBuffer, I pass
> the localName from startElement method to my constructXML method where I
> building the strigBuffer, but if I received an XML like
> this<Name>xxxx<</Surname>  where the tags are not matching I need to build
> the same tags with error code in, e.g. <Name Error="3">xxxx</Surname>.
> I cant find a way to get the "Surname" value from any method.

Via SAX this information is not required to be available (though it is
sometimes in the error message). It may be possible to get the line and
column position for the error which would theoretically point to the
beginning of the Surname string (the "S" would be the first character)-- 
though, error positioning is not regulated in SAX and some parsers vary. For
example, I think Expat returns character position as a 0 based value and
MSXML as a 1 based value.

What parser are you using with SAX?

[1] http://www.w3.org/TR/REC-xml#fatal-error

Jeff Rafter


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS