<HTML><HEAD><META content="text/html; charset=utf8" http-equiv="Content-Type"><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>SAX1 Programming Guide</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/program-sax-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR> | |
<A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR> | |
<A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="charter.html" onMouseOut="rolloverOff('side-charter');" onMouseOver="rolloverOn('side-charter');"><IMG alt="Charter" border="0" height="12" hspace="0" name="side-charter" onLoad="rolloverLoad('side-charter','graphics/charter-label-2.jpg','graphics/charter-label-3.jpg');" src="graphics/charter-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="releases.html" onMouseOut="rolloverOff('side-releases');" onMouseOver="rolloverOn('side-releases');"><IMG alt="Release Info" border="0" height="12" hspace="0" name="side-releases" onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');" src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR> | |
<A href="install.html" onMouseOut="rolloverOff('side-install');" onMouseOver="rolloverOn('side-install');"><IMG alt="Installation" border="0" height="12" hspace="0" name="side-install" onLoad="rolloverLoad('side-install','graphics/install-label-2.jpg','graphics/install-label-3.jpg');" src="graphics/install-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="http://xerces.apache.org/xerces-c/download.cgi" onMouseOut="rolloverOff('side-ext-20');" onMouseOver="rolloverOn('side-ext-20');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-20" onLoad="rolloverLoad('side-ext-20','graphics/ext-20-label-2.jpg','graphics/ext-20-label-3.jpg');" src="graphics/ext-20-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="build.html" onMouseOut="rolloverOff('side-build');" onMouseOver="rolloverOn('side-build');"><IMG alt="Build Instructions" border="0" height="12" hspace="0" name="side-build" onLoad="rolloverLoad('side-build','graphics/build-label-2.jpg','graphics/build-label-3.jpg');" src="graphics/build-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR> | |
<A href="program.html" onMouseOut="rolloverOff('side-program');" onMouseOver="rolloverOn('side-program');"><IMG alt="Programming" border="0" height="12" hspace="0" name="side-program" onLoad="rolloverLoad('side-program','graphics/program-label-2.jpg','graphics/program-label-3.jpg');" src="graphics/program-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="samples.html" onMouseOut="rolloverOff('side-samples');" onMouseOver="rolloverOn('side-samples');"><IMG alt="Samples" border="0" height="12" hspace="0" name="side-samples" onLoad="rolloverLoad('side-samples','graphics/samples-label-2.jpg','graphics/samples-label-3.jpg');" src="graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="faqs.html" onMouseOut="rolloverOff('side-faqs');" onMouseOver="rolloverOn('side-faqs');"><IMG alt="FAQs" border="0" height="12" hspace="0" name="side-faqs" onLoad="rolloverLoad('side-faqs','graphics/faqs-label-2.jpg','graphics/faqs-label-3.jpg');" src="graphics/faqs-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR> | |
<A href="api.html" onMouseOut="rolloverOff('side-api');" onMouseOver="rolloverOn('side-api');"><IMG alt="API Reference" border="0" height="12" hspace="0" name="side-api" onLoad="rolloverLoad('side-api','graphics/api-label-2.jpg','graphics/api-label-3.jpg');" src="graphics/api-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-88');" onMouseOver="rolloverOn('side-ext-88');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-88" onLoad="rolloverLoad('side-ext-88','graphics/ext-88-label-2.jpg','graphics/ext-88-label-3.jpg');" src="graphics/ext-88-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="migrate.html" onMouseOut="rolloverOff('side-migrate');" onMouseOver="rolloverOn('side-migrate');"><IMG alt="Migration Guide" border="0" height="12" hspace="0" name="side-migrate" onLoad="rolloverLoad('side-migrate','graphics/migrate-label-2.jpg','graphics/migrate-label-3.jpg');" src="graphics/migrate-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR> | |
<A href="feedback.html" onMouseOut="rolloverOff('side-feedback');" onMouseOver="rolloverOn('side-feedback');"><IMG alt="Feedback" border="0" height="12" hspace="0" name="side-feedback" onLoad="rolloverLoad('side-feedback','graphics/feedback-label-2.jpg','graphics/feedback-label-3.jpg');" src="graphics/feedback-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="bug-report.html" onMouseOut="rolloverOff('side-bug-report');" onMouseOver="rolloverOn('side-bug-report');"><IMG alt="Bug-Reporting" border="0" height="12" hspace="0" name="side-bug-report" onLoad="rolloverLoad('side-bug-report','graphics/bug-report-label-2.jpg','graphics/bug-report-label-3.jpg');" src="graphics/bug-report-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="mailing-lists.html" onMouseOut="rolloverOff('side-mailing-lists');" onMouseOver="rolloverOn('side-mailing-lists');"><IMG alt="Mailing Lists" border="0" height="12" hspace="0" name="side-mailing-lists" onLoad="rolloverLoad('side-mailing-lists','graphics/mailing-lists-label-2.jpg','graphics/mailing-lists-label-3.jpg');" src="graphics/mailing-lists-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR> | |
<A href="source-repository.html" onMouseOut="rolloverOff('side-source-repository');" onMouseOver="rolloverOn('side-source-repository');"><IMG alt="Source Repository" border="0" height="12" hspace="0" name="side-source-repository" onLoad="rolloverLoad('side-source-repository','graphics/source-repository-label-2.jpg','graphics/source-repository-label-3.jpg');" src="graphics/source-repository-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="applications.html" onMouseOut="rolloverOff('side-applications');" onMouseOver="rolloverOn('side-applications');"><IMG alt="Applications" border="0" height="12" hspace="0" name="side-applications" onLoad="rolloverLoad('side-applications','graphics/applications-label-2.jpg','graphics/applications-label-3.jpg');" src="graphics/applications-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD> | |
<A name="UsingSAX1API"><!--anchor--></A> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Using the SAX API</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"> | |
<P>The SAX API for XML parsers was originally developed for | |
Java. Please be aware that there is no standard SAX API for | |
C++, and that use of the Xerces-C++ SAX API does not | |
guarantee client code compatibility with other C++ XML | |
parsers.</P> | |
<P>The SAX API presents a callback based API to the parser. An | |
application that uses SAX provides an instance of a handler | |
class to the parser. When the parser detects XML constructs, | |
it calls the methods of the handler class, passing them | |
information about the construct that was detected. The most | |
commonly used handler classes are DocumentHandler which is | |
called when XML constructs are recognized, and ErrorHandler | |
which is called when an error occurs. The header files for the | |
various SAX handler classes are in | |
'<xerces-c_2_8_0>/include/xercesc/sax'</P> | |
<P>As a convenience, Xerces-C++ provides the class | |
HandlerBase, which is a single class which is publicly derived | |
from all the Handler classes. HandlerBase's default | |
implementation of the handler callback methods is to do | |
nothing. A convenient way to get started with Xerces-C++ is | |
to derive your own handler class from HandlerBase and override | |
just those methods in HandlerBase which you are interested in | |
customizing. This simple example shows how to create a handler | |
which will print element names, and print fatal error | |
messages. The source code for the sample applications show | |
additional examples of how to write handler classes.</P> | |
<P>This is the header file MySAXHandler.hpp:</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>#include <xercesc/sax/HandlerBase.hpp> | |
class MySAXHandler : public HandlerBase { | |
public: | |
void startElement(const XMLCh* const, AttributeList&); | |
void fatalError(const SAXParseException&); | |
};</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<P>This is the implementation file MySAXHandler.cpp:</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>#include "MySAXHandler.hpp" | |
#include <iostream.h> | |
MySAXHandler::MySAXHandler() | |
{ | |
} | |
void MySAXHandler::startElement(const XMLCh* const name, | |
AttributeList& attributes) | |
{ | |
char* message = XMLString::transcode(name); | |
cout << "I saw element: "<< message << endl; | |
XMLString::release(&message); | |
} | |
void MySAXHandler::fatalError(const SAXParseException& exception) | |
{ | |
char* message = XMLString::transcode(exception.getMessage()); | |
cout << "Fatal Error: " << message | |
<< " at line: " << exception.getLineNumber() | |
<< endl; | |
}</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<P>The XMLCh and AttributeList types are supplied by | |
Xerces-C++ and are documented in the include | |
files. Examples of their usage appear in the source code to | |
the sample applications.</P> | |
</FONT></TD></TR></TABLE><BR> | |
<A name="SAXParser"><!--anchor--></A> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>SAXParser</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"> | |
<A name="ConstructParser"><!--anchor--></A> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Constructing a SAXParser</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<P>In order to use Xerces-C++ to parse XML files, you will | |
need to create an instance of the SAXParser class. The example | |
below shows the code you need in order to create an instance | |
of SAXParser. The DocumentHandler and ErrorHandler instances | |
required by the SAX API are provided using the HandlerBase | |
class supplied with Xerces-C++.</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE> | |
#include <xercesc/parsers/SAXParser.hpp> | |
#include <xercesc/sax/HandlerBase.hpp> | |
#include <xercesc/util/XMLString.hpp> | |
#if defined(XERCES_NEW_IOSTREAMS) | |
#include <iostream> | |
#else | |
#include <iostream.h> | |
#endif | |
XERCES_CPP_NAMESPACE_USE | |
int main (int argc, char* args[]) { | |
try { | |
XMLPlatformUtils::Initialize(); | |
} | |
catch (const XMLException& toCatch) { | |
char* message = XMLString::transcode(toCatch.getMessage()); | |
cout << "Error during initialization! :\n" | |
<< message << "\n"; | |
XMLString::release(&message); | |
return 1; | |
} | |
char* xmlFile = "x1.xml"; | |
SAXParser* parser = new SAXParser(); | |
parser->setDoValidation(true); | |
parser->setDoNamespaces(true); // optional | |
DocumentHandler* docHandler = new HandlerBase(); | |
ErrorHandler* errHandler = (ErrorHandler*) docHandler; | |
parser->setDocumentHandler(docHandler); | |
parser->setErrorHandler(errHandler); | |
try { | |
parser->parse(xmlFile); | |
} | |
catch (const XMLException& toCatch) { | |
char* message = XMLString::transcode(toCatch.getMessage()); | |
cout << "Exception message is: \n" | |
<< message << "\n"; | |
XMLString::release(&message); | |
return -1; | |
} | |
catch (const SAXParseException& toCatch) { | |
char* message = XMLString::transcode(toCatch.getMessage()); | |
cout << "Exception message is: \n" | |
<< message << "\n"; | |
XMLString::release(&message); | |
return -1; | |
} | |
catch (...) { | |
cout << "Unexpected Exception \n" ; | |
return -1; | |
} | |
delete parser; | |
delete docHandler; | |
return 0; | |
}</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
</FONT></TD></TR></TABLE><BR> | |
<A name="SAXFeatures"><!--anchor--></A> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>SAXParser Supported Features</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<P>The behavior of the SAXParser is dependant on the values of the following features. All | |
of the features below are set using the "setter" methods (e.g. <CODE><FONT face="courier, monospaced">setDoNamespaces</FONT></CODE>), | |
and are queried using the corresponding "getter" methods (e.g. <CODE><FONT face="courier, monospaced">getDoNamespaces</FONT></CODE>). | |
The following only gives you a quick summary of supported features. Please | |
refer to <A href="api.html">API Documentation</A> for complete detail. | |
</P> | |
<P>None of these features can be modified in the middle of a parse, or an exception will be thrown.</P> | |
<A name="namespaces"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setDoNamespaces(const bool)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Perform Namespace processing. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Do not perform Namespace processing. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> If the validation scheme is set to Val_Always or Val_Auto, then the | |
document must contain a grammar that supports the use of namespaces. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>see:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<A href="#validation-dynamic">setValidationScheme</A> | |
| |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="validation"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setDoValidation(const bool)</B> (deprecated) <BR> | |
please use <A href="#validation-dynamic">setValidationScheme</A>. | |
</B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Report all validation errors. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Do not report validation errors. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> see the default of | |
<A href="#validation-dynamic">setValidationScheme</A>. | |
| |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>see:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<A href="#validation-dynamic">setValidationScheme</A> | |
| |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="validation-dynamic"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setValidationScheme(const ValSchemes)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Val_Auto:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> The parser will report validation errors only if a grammar is specified. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Val_Always:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> The parser will always report validation errors. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Val_Never:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Do not report validation errors. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Val_Never | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> If set to Val_Always, the document must | |
specify a grammar. If this feature is set to Val_Never and document specifies a grammar, | |
that grammar might be parsed but no validation of the document contents will be | |
performed. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>see:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<A href="#load-external-dtd">setLoadExternalDTD</A> | |
| |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="schema"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setDoSchema(const bool)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Enable the parser's schema support. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Disable the parser's schema support. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> If set to true, namespace processing must also be turned on. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>see:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<A href="#namespaces">setDoNamespaces</A> | |
| |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setValidationSchemaFullChecking(const bool)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Enable full schema constraint checking, including checking | |
which may be time-consuming or memory intensive. Currently, particle unique | |
attribution constraint checking and particle derivation restriction checking | |
are controlled by this option. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Disable full schema constraint checking. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> This feature checks the Schema grammar itself for | |
additional errors that are time-consuming or memory intensive. It does <B>not</B> affect the | |
level of checking performed on document instances that use Schema grammars. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>see:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<A href="#schema">setDoSchema</A> | |
| |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="load-external-dtd"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setLoadExternalDTD(const bool)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Load the External DTD. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Ignore the external DTD completely. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> true | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> This feature is ignored and DTD is always loaded | |
if the validation scheme is set to Val_Always or Val_Auto. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>see:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<A href="#validation-dynamic">setValidationScheme</A> | |
| |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="continue-after-fatal"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setExitOnFirstFatalError(const bool)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Stops parse on first fatal error. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Attempt to continue parsing after a fatal error. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> true | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> The behavior of the parser when this feature is set to | |
false is <B>undetermined</B>! Therefore use this feature with extreme caution because | |
the parser may get stuck in an infinite loop or worse. | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setValidationConstraintFatal(const bool)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> The parser will treat validation error as fatal and will | |
exit depends on the state of | |
<A href="#continue-after-fatal">setExitOnFirstFatalError</A>. | |
| |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> The parser will report the error and continue processing. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Setting this true does not mean the validation error will | |
be printed with the word "Fatal Error". It is still printed as "Error", but the parser | |
will exit if | |
<A href="#continue-after-fatal">setExitOnFirstFatalError</A> | |
is set to true. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>see:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<A href="#continue-after-fatal">setExitOnFirstFatalError</A> | |
| |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="use-cached"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void useCachedGrammarInParse(const bool)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Use cached grammar if it exists in the pool. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Parse the schema grammar. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">The getter function for this method is called isUsingCachedGrammarInParse. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">If the grammar caching option is enabled, this option is set to true automatically | |
and any setting to this option by the user is a no-op. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>see:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<A href="#cache-grammar">cacheGrammarFromParse</A> | |
| |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="cache-grammar"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void cacheGrammarFromParse(const bool)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Cache the grammar in the pool for re-use in subsequent parses. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Do not cache the grammar in the pool | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">The getter function for this method is called isCachingGrammarFromParse | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> If set to true, the useCachedGrammarInParse | |
is also set to true automatically. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>see:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<A href="#use-cached">useCachedGrammarInParse</A> | |
| |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="StandardUriConformant"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setStandardUriConformant(const bool)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Force standard uri conformance. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Do not force standard uri conformance. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> If set to true, malformed uri will be rejected | |
and fatal error will be issued. | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="CalculateSrcOffset"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setCalculateSrcOfs(const bool)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Enable src offset calculation. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Disable src offset calculation. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> If set to true, the user can inquire about | |
the current src offset within the input source. Setting it to false (default) | |
improves the performance. | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="IdentityConstraintChecking"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setIdentityConstraintChecking(const bool);</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Enable identity constraint checking. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Disable identity constraint checking. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> true | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="GenerateSyntheticAnnotations"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setGenerateSyntheticAnnotations(const bool);</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Enable generation of synthetic annotations. A synthetic annotation will be | |
generated when a schema component has non-schema attributes but no child annotation. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Disable generation of synthetic annotations. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="XercesValidateAnnotations"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>setValidateAnnotation</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Enable validation of annotations. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Disable validation of annotations. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Each annotation is validated independently. | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="IgnoreAnnotations"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>setIgnoreAnnotations</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Do not generate XSAnnotations when traversing a schema. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Generate XSAnnotations when traversing a schema. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="DisableDefaultEntityResolution"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>setDisableDefaultEntityResolution</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> The parser will not attempt to resolve the entity when the resolveEntity method returns NULL. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> The parser will attempt to resolve the entity when the resolveEntity method returns NULL. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="SkipDTDValidation"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>setSkipDTDValidation</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> When schema validation is on the parser will ignore the DTD, except for entities. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> The parser will not ignore DTDs when validating. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>see:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<A href="#schema">DoSchema</A> | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<A name="XercesIgnoreCachedDTD"><!--anchor--></A> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>setIgnoreCachedDTD</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>true:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Ignore a cached DTD when an XML document contains both an | |
internal and external DTD, and the use cached grammar from parse option | |
is enabled. Currently, we do not allow using cached DTD grammar when an | |
internal subset is present in the document. This option will only affect | |
the behavior of the parser when an internal and external DTD both exist | |
in a document (i.e. no effect if document has no internal subset). | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>false:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> Don't ignore cached DTD. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>default:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> false | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>see:</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<A href="#use-cached">useCachedGrammarInParse</A> | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setExternalSchemaLocation(const XMLCh* const)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Description</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> The XML Schema Recommendation explicitly states that | |
the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the | |
instance document is only a hint; it does not mandate that these attributes | |
must be used to locate schemas. Similar situation happens to <import> | |
element in schema documents. This property allows the user to specify a list | |
of schemas to use. If the targetNamespace of a schema specified using this | |
method matches the targetNamespace of a schema occurring in the instance | |
document in schemaLocation attribute, or | |
if the targetNamespace matches the namespace attribute of <import> | |
element, the schema specified by the user using this property will | |
be used (i.e., the schemaLocation attribute in the instance document | |
or on the <import> element will be effectively ignored). | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Value</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> The syntax is the same as for schemaLocation attributes | |
in instance documents: e.g, "http://www.example.com file_name.xsd". | |
The user can specify more than one XML Schema in the list. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Value Type</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> XMLCh* | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void setExternalNoNamespaceSchemaLocation(const XMLCh* const)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Description</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> The XML Schema Recommendation explicitly states that | |
the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the | |
instance document is only a hint; it does not mandate that these attributes | |
must be used to locate schemas. This property allows the user to specify the | |
no target namespace XML Schema Location externally. If specified, the instance | |
document's noNamespaceSchemaLocation attribute will be effectively ignored. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Value</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> The syntax is the same as for the noNamespaceSchemaLocation | |
attribute that may occur in an instance document: e.g."file_name.xsd". | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Value Type</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> XMLCh* | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>void useScanner(const XMLCh* const)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Description</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> This property allows the user to specify the name of | |
the XMLScanner to use for scanning XML documents. If not specified, the default | |
scanner "IGXMLScanner" is used. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Value</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> The recognized scanner names are: <BR> | |
1."WFXMLScanner" - scanner that performs well-formedness checking only.<BR> | |
2. "DGXMLScanner" - scanner that handles XML documents with DTD grammar information.<BR> | |
3. "SGXMLScanner" - scanner that handles XML documents with XML schema grammar information.<BR> | |
4. "IGXMLScanner" - scanner that handles XML documents with DTD or/and XML schema grammar information.<BR> | |
Users can use the predefined constants defined in XMLUni directly (fgWFXMLScanner, fgDGXMLScanner, | |
fgSGXMLScanner, or fgIGXMLScanner) or a string that matches the value of one of those constants. | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Value Type</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> XMLCh* | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>note: </B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> See <A href="program-others.html#UseSpecificScanner">Use Specific Scanner</A> | |
for more programming details. | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>setSecurityManager(Security Manager * const)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Description</B></B> | |
</FONT></TD> | |
<TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
Certain valid XML and XML Schema constructs can force a | |
processor to consume more system resources than an | |
application may wish. In fact, certain features could | |
be exploited by malicious document writers to produce a | |
denial-of-service attack. This property allows | |
applications to impose limits on the amount of | |
resources the processor will consume while processing | |
these constructs. | |
| |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Value</B></B> | |
</FONT></TD> | |
<TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
An instance of the SecurityManager class (see | |
<CODE><FONT face="courier, monospaced">xercesc/util/SecurityManager</FONT></CODE>). This | |
class's documentation describes the particular limits | |
that may be set. Note that, when instantiated, default | |
values for limits that should be appropriate in most | |
settings are provided. The default implementation is | |
not thread-safe; if thread-safety is required, the | |
application should extend this class, overriding | |
methods appropriately. The parser will not adopt the | |
SecurityManager instance; the application is | |
responsible for deleting it when it is finished with | |
it. If no SecurityManager instance has been provided to | |
the parser (the default) then processing strictly | |
conforming to the relevant specifications will be | |
performed. | |
| |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Value Type</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> SecurityManager* | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>setInputBufferSize(const size_t bufferSize)</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Description</B></B> | |
</FONT></TD> | |
<TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
Set maximum input buffer size. | |
This method allows users to limit the size of buffers used in parsing | |
XML character data. The effect of setting this size is to limit the | |
size of a ContentHandler::characters() call. | |
The parser's default input buffer size is 1 megabyte. | |
| |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Value</B></B> | |
</FONT></TD> | |
<TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
The maximum input buffer size | |
| |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Value Type</B></B> | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> XMLCh* | |
</FONT></TD></TR> | |
</TABLE> | |
<P></P> | |
</FONT></TD></TR></TABLE><BR> | |
</FONT></TD></TR></TABLE><BR> | |
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I> | |
Copyright © 1999-2007 The Apache Software Foundation. | |
All Rights Reserved. | |
</I></FONT></TD></TR></TABLE></BODY></HTML> |