Terminating XML parsing
You can terminate parsing immediately, without
processing any remaining XML text, by setting XML-CODE to
-1 in your processing procedure before the procedure returns to the
parser from any normal XML event (that is, any event other than EXCEPTION).
About this task
You can use this technique when the processing procedure has examined enough of the document or has detected some irregularity in the document that precludes further meaningful processing.
If
you terminate parsing in this way, the parser does not signal any
further XML events, including the exception event. Control
transfers to the ON EXCEPTION phrase of the XML
PARSE statement, if that phrase was specified.
In
the imperative statement of the ON EXCEPTION phrase,
you can determine whether parsing was deliberately terminated by testing
whether XML-CODE contains -1. If you do not specify
the ON EXCEPTION phrase, control transfers to the
end of the XML PARSE statement.
If the XMLPARSE(COMPAT) compiler
option is in effect, you can also terminate
parsing after any XML EXCEPTION event by returning
to the parser from the processing procedure without changing the value
in XML-CODE. The result is similar to the result
of deliberate termination, except that the parser returns to the XML
PARSE statement with XML-CODE containing
the original exception code.
If
the XMLPARSE(XMLSS) option is in effect, parsing
always terminates after any exception event.