source: NonGTP/Xerces/xerces/doc/html/apiDocs/classXMLValidator.html @ 358

Revision 358, 55.3 KB checked in by bittner, 19 years ago (diff)

xerces added

Line 
1<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>XMLValidator class Reference</TITLE><link href="XercesApi.css" rel="stylesheet" type="text/css"></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/api-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>
2  <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>
3
4  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
5
6  <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>
7  <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>
8  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
9  <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>
10  <A href="http://xml.apache.org/dist/xerces-c/" onMouseOut="rolloverOff('side-ext-18');" onMouseOver="rolloverOn('side-ext-18');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-18" onLoad="rolloverLoad('side-ext-18','../graphics/ext-18-label-2.jpg','../graphics/ext-18-label-3.jpg');" src="../graphics/ext-18-label-3.jpg" vspace="0" width="120"></A><BR>
11  <A href="../build.html" onMouseOut="rolloverOff('side-build');" onMouseOver="rolloverOn('side-build');"><IMG alt="Build" 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>
12
13  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
14  <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> 
15  <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>
16  <A href="../api.html" onMouseOut="rolloverOff('side-api');" onMouseOver="rolloverOn('side-api');"><IMG alt="API Docs" 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> 
17
18  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR> 
19  <A href="../ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-68');" onMouseOver="rolloverOn('side-ext-68');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-68" onLoad="rolloverLoad('side-ext-68','../graphics/ext-68-label-2.jpg','../graphics/ext-68-label-3.jpg');" src="../graphics/ext-68-label-3.jpg" vspace="0" width="120"></A><BR>
20
21  <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>
22  <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>
23
24  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
25
26  <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>
27  <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> 
28  <A href="../pdf.html" onMouseOut="rolloverOff('side-pdf');" onMouseOver="rolloverOn('side-pdf');"><IMG alt="PDF Document" border="0" height="12" hspace="0" name="side-pdf" onLoad="rolloverLoad('side-pdf','../graphics/pdf-label-2.jpg','../graphics/pdf-label-3.jpg');" src="../graphics/pdf-label-3.jpg" vspace="0" width="120"></A><BR>
29
30  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
31
32  <A href="http://xml.apache.org/websrc/cvsweb.cgi/xml-xerces/c/" onMouseOut="rolloverOff('side-ext-100');" onMouseOver="rolloverOn('side-ext-100');"><IMG alt="CVS Repository" border="0" height="12" hspace="0" name="side-ext-100" onLoad="rolloverLoad('side-ext-100','../graphics/ext-100-label-2.jpg','../graphics/ext-100-label-3.jpg');" src="../graphics/ext-100-label-3.jpg" vspace="0" width="120"></A><BR>
33
34  <A href="http://marc.theaimsgroup.com/?l=xerces-c-dev" onMouseOut="rolloverOff('side-ext-102');" onMouseOver="rolloverOn('side-ext-102');"><IMG alt="Mail Archive" border="0" height="12" hspace="0" name="side-ext-102" onLoad="rolloverLoad('side-ext-102','../graphics/ext-102-label-2.jpg','../graphics/ext-102-label-3.jpg');" src="../graphics/ext-102-label-3.jpg" vspace="0" width="120"></A><BR>
35
36
37<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>
38    <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>API Docs for SAX and DOM</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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
39
40            <P>
41<!-- Generated by Doxygen 1.2.14 -->
42<center>
43<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
44<hr><h1>XMLValidator  Class Reference</h1>This abstract class provides the interface for all validators.
45<a href="#_details">More...</a>
46<p>
47Inheritance diagram for XMLValidator:<p><center><img src="classXMLValidator__inherit__graph.gif" border="0" usemap="#XMLValidator__inherit__map" alt="Inheritance graph"></center>
48<map name="XMLValidator__inherit__map">
49<area href="classXMemory.html" shape="rect" coords="19,36,88,17" alt="">
50</map>
51<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for XMLValidator:<p><center><img src="classXMLValidator__coll__graph.gif" border="0" usemap="#XMLValidator__coll__map" alt="Collaboration graph"></center>
52<map name="XMLValidator__coll__map">
53<area href="classXMemory.html" shape="rect" coords="7,36,76,17" alt="">
54<area href="classXMLErrorReporter.html" shape="rect" coords="100,36,223,17" alt="">
55</map>
56<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classXMLValidator-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
57<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
58<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#a0">checkRootElement</a> (const unsigned int)</td></tr>
59<tr><td>&nbsp;</td><td><font size=-1><em>DEPRECATED.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
60<tr><td colspan="2"><div class="groupHeader">Destructor</div></td></tr>
61<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z302_0">~XMLValidator</a> ()</td></tr>
62<tr><td>&nbsp;</td><td><font size=-1><em>The derived class should clean up its allocated data, then this class will do the same for data allocated at this level.</em> <a href="#z302_0">More...</a><em></em></font><br><br></td></tr>
63<tr><td colspan="2"><div class="groupHeader">Virtual validator interface</div></td></tr>
64<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z303_0">checkContent</a> (<a class="el" href="classXMLElementDecl.html">XMLElementDecl</a> *const elemDecl, <a class="el" href="classQName.html">QName</a> **const children, const unsigned int childCount)=0</td></tr>
65<tr><td>&nbsp;</td><td><font size=-1><em>The derived class should look up its declaration of the passed element from its element pool.</em> <a href="#z303_0">More...</a><em></em></font><br><br></td></tr>
66<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z303_1">faultInAttr</a> (<a class="el" href="classXMLAttr.html">XMLAttr</a> &amp;toFill, const <a class="el" href="classXMLAttDef.html">XMLAttDef</a> &amp;attDef) const=0</td></tr>
67<tr><td>&nbsp;</td><td><font size=-1><em>The derived class should fault in the passed <a class="el" href="classXMLAttr.html">XMLAttr</a> value.</em> <a href="#z303_1">More...</a><em></em></font><br><br></td></tr>
68<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z303_2">preContentValidation</a> (bool reuseGrammar, bool validateDefAttr=false)=0</td></tr>
69<tr><td>&nbsp;</td><td><font size=-1><em>This method is called by the scanner after a Grammar is scanned.</em> <a href="#z303_2">More...</a><em></em></font><br><br></td></tr>
70<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z303_3">postParseValidation</a> ()=0</td></tr>
71<tr><td>&nbsp;</td><td><font size=-1><em>This method is called by the scanner after the parse has completed.</em> <a href="#z303_3">More...</a><em></em></font><br><br></td></tr>
72<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z303_4">reset</a> ()=0</td></tr>
73<tr><td>&nbsp;</td><td><font size=-1><em>This method is called by the scanner before a new document is about to start.</em> <a href="#z303_4">More...</a><em></em></font><br><br></td></tr>
74<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z303_5">requiresNamespaces</a> () const=0</td></tr>
75<tr><td>&nbsp;</td><td><font size=-1><em>The derived class should return a boolean that indicates whether it requires namespace processing or not.</em> <a href="#z303_5">More...</a><em></em></font><br><br></td></tr>
76<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z303_6">validateAttrValue</a> (const <a class="el" href="classXMLAttDef.html">XMLAttDef</a> *attDef, const XMLCh *const attrValue, bool preValidation=false, const <a class="el" href="classXMLElementDecl.html">XMLElementDecl</a> *elemDecl=0)=0</td></tr>
77<tr><td>&nbsp;</td><td><font size=-1><em>The derived class should apply any rules to the passed attribute value that are above and beyond those defined by XML 1.0.</em> <a href="#z303_6">More...</a><em></em></font><br><br></td></tr>
78<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z303_7">validateElement</a> (const <a class="el" href="classXMLElementDecl.html">XMLElementDecl</a> *elemDef)=0</td></tr>
79<tr><td>&nbsp;</td><td><font size=-1><em>The derived class should apply any rules to the passed element decl that are above and beyond those defined by XML 1.0.</em> <a href="#z303_7">More...</a><em></em></font><br><br></td></tr>
80<tr><td nowrap align=right valign=top>virtual <a class="el" href="XSModel_8hpp.html#a1">Grammar</a> *&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z303_8">getGrammar</a> () const=0</td></tr>
81<tr><td>&nbsp;</td><td><font size=-1><em>Retrieve the Grammar used.</em> <a href="#z303_8">More...</a><em></em></font><br><br></td></tr>
82<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z303_9">setGrammar</a> (<a class="el" href="XSModel_8hpp.html#a1">Grammar</a> *aGrammar)=0</td></tr>
83<tr><td>&nbsp;</td><td><font size=-1><em>Set the Grammar.</em> <a href="#z303_9">More...</a><em></em></font><br><br></td></tr>
84<tr><td colspan="2"><div class="groupHeader">Virtual Schema handler interface</div></td></tr>
85<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z304_0">handlesDTD</a> () const=0</td></tr>
86<tr><td>&nbsp;</td><td><font size=-1><em>This method allows the scanner to ask the validator if it handles DTDs or not.</em> <a href="#z304_0">More...</a><em></em></font><br><br></td></tr>
87<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z304_1">handlesSchema</a> () const=0</td></tr>
88<tr><td>&nbsp;</td><td><font size=-1><em>This method allows the scanner to ask the validator if it handles Schema or not.</em> <a href="#z304_1">More...</a><em></em></font><br><br></td></tr>
89<tr><td colspan="2"><div class="groupHeader">Setter methods</div></td></tr>
90<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z305_0">setScannerInfo</a> (XMLScanner *const owningScanner, <a class="el" href="XMLValidator_8hpp.html#a1">ReaderMgr</a> *const readerMgr, XMLBufferMgr *const bufMgr)</td></tr>
91<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z305_1">setErrorReporter</a> (<a class="el" href="classXMLErrorReporter.html">XMLErrorReporter</a> *const errorReporter)</td></tr>
92<tr><td>&nbsp;</td><td><font size=-1><em>This method is called to set an error reporter on the validator via which it will report any errors it sees during parsing or validation.</em> <a href="#z305_1">More...</a><em></em></font><br><br></td></tr>
93<tr><td colspan="2"><div class="groupHeader">Error emittor methods</div></td></tr>
94<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z306_0">emitError</a> (const <a class="el" href="classXMLValid.html#s119">XMLValid::Codes</a> toEmit)</td></tr>
95<tr><td>&nbsp;</td><td><font size=-1><em>This call is a convenience by which validators can emit errors.</em> <a href="#z306_0">More...</a><em></em></font><br><br></td></tr>
96<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z306_1">emitError</a> (const <a class="el" href="classXMLValid.html#s119">XMLValid::Codes</a> toEmit, const XMLCh *const text1, const XMLCh *const text2=0, const XMLCh *const text3=0, const XMLCh *const text4=0)</td></tr>
97<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#z306_2">emitError</a> (const <a class="el" href="classXMLValid.html#s119">XMLValid::Codes</a> toEmit, const char *const text1, const char *const text2=0, const char *const text3=0, const char *const text4=0)</td></tr>
98<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
99<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#d0">reinitMsgMutex</a> ()</td></tr>
100<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#d1">reinitMsgLoader</a> ()</td></tr>
101<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
102<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#b0">XMLValidator</a> (<a class="el" href="classXMLErrorReporter.html">XMLErrorReporter</a> *const errReporter=0)</td></tr>
103<tr><td nowrap align=right valign=top>const XMLBufferMgr *&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#b1">getBufMgr</a> () const</td></tr>
104<tr><td nowrap align=right valign=top>XMLBufferMgr *&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#b2">getBufMgr</a> ()</td></tr>
105<tr><td nowrap align=right valign=top>const <a class="el" href="XMLValidator_8hpp.html#a1">ReaderMgr</a> *&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#b3">getReaderMgr</a> () const</td></tr>
106<tr><td nowrap align=right valign=top><a class="el" href="XMLValidator_8hpp.html#a1">ReaderMgr</a> *&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#b4">getReaderMgr</a> ()</td></tr>
107<tr><td nowrap align=right valign=top>const XMLScanner *&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#b5">getScanner</a> () const</td></tr>
108<tr><td nowrap align=right valign=top>XMLScanner *&nbsp;</td><td valign=bottom><a class="el" href="classXMLValidator.html#b6">getScanner</a> ()</td></tr>
109</table>
110<hr><a name="_details"></a><h2>Detailed Description</h2>
111This abstract class provides the interface for all validators.
112<p>
113This is the simple amount of API that all validators must honor, in order for the scanner to use them to do validation. All validators will actually contain much more functionality than is accessible via this common API, but that functionality requires that you know what type of validator you are dealing with.
114<p>
115Basically, at this level, the primary concern is to be able to query core information about elements and attributes. Adding decls to the validator requires that you go through the derived interface because they all have their own decl types. At this level, we can return information via the base decl classes, from which each validator derives its own decl classes.
116<p>
117<hr><h2>Constructor &amp; Destructor Documentation</h2>
118<a name="z302_0" doxytag="XMLValidator::~XMLValidator"></a><p>
119<table width="100%" cellpadding="2" cellspacing="0" border="0">
120  <tr>
121    <td class="md">
122      <table cellpadding="0" cellspacing="0" border="0">
123        <tr>
124          <td class="md" nowrap valign="top"> virtual XMLValidator::~XMLValidator </td>
125          <td class="md" valign="top">(&nbsp;</td>
126          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
127          <td class="md" valign="top">)&nbsp;</td>
128          <td class="md" nowrap><code> [virtual]</code></td>
129        </tr>
130
131      </table>
132    </td>
133  </tr>
134</table>
135<table cellspacing=5 cellpadding=0 border=0>
136  <tr>
137    <td>
138      &nbsp;
139    </td>
140    <td>
141
142<p>
143The derived class should clean up its allocated data, then this class will do the same for data allocated at this level.
144<p>
145    </td>
146  </tr>
147</table>
148<a name="b0" doxytag="XMLValidator::XMLValidator"></a><p>
149<table width="100%" cellpadding="2" cellspacing="0" border="0">
150  <tr>
151    <td class="md">
152      <table cellpadding="0" cellspacing="0" border="0">
153        <tr>
154          <td class="md" nowrap valign="top"> XMLValidator::XMLValidator </td>
155          <td class="md" valign="top">(&nbsp;</td>
156          <td class="md" nowrap valign="top"><a class="el" href="classXMLErrorReporter.html">XMLErrorReporter</a> *const&nbsp;</td>
157          <td class="mdname1" valign="top" nowrap>&nbsp; <em>errReporter</em> = 0          </td>
158          <td class="md" valign="top">)&nbsp;</td>
159          <td class="md" nowrap><code> [protected]</code></td>
160        </tr>
161
162      </table>
163    </td>
164  </tr>
165</table>
166<table cellspacing=5 cellpadding=0 border=0>
167  <tr>
168    <td>
169      &nbsp;
170    </td>
171    <td>
172
173<p>
174    </td>
175  </tr>
176</table>
177<hr><h2>Member Function Documentation</h2>
178<a name="z303_0" doxytag="XMLValidator::checkContent"></a><p>
179<table width="100%" cellpadding="2" cellspacing="0" border="0">
180  <tr>
181    <td class="md">
182      <table cellpadding="0" cellspacing="0" border="0">
183        <tr>
184          <td class="md" nowrap valign="top"> virtual int XMLValidator::checkContent </td>
185          <td class="md" valign="top">(&nbsp;</td>
186          <td class="md" nowrap valign="top"><a class="el" href="classXMLElementDecl.html">XMLElementDecl</a> *const&nbsp;</td>
187          <td class="mdname" nowrap>&nbsp; <em>elemDecl</em>, </td>
188        </tr>
189        <tr>
190          <td></td>
191          <td></td>
192          <td class="md" nowrap><a class="el" href="classQName.html">QName</a> **const&nbsp;</td>
193          <td class="mdname" nowrap>&nbsp; <em>children</em>, </td>
194        </tr>
195        <tr>
196          <td></td>
197          <td></td>
198          <td class="md" nowrap>const unsigned int&nbsp;</td>
199          <td class="mdname" nowrap>&nbsp; <em>childCount</em></td>
200        </tr>
201        <tr>
202          <td></td>
203          <td class="md">)&nbsp;</td>
204          <td class="md" colspan="2"><code> [pure virtual]</code></td>
205        </tr>
206
207      </table>
208    </td>
209  </tr>
210</table>
211<table cellspacing=5 cellpadding=0 border=0>
212  <tr>
213    <td>
214      &nbsp;
215    </td>
216    <td>
217
218<p>
219The derived class should look up its declaration of the passed element from its element pool.
220<p>
221It should then use the content model description contained in that element declaration to validate that the passed list of child elements are valid for that content model. The count can be zero, indicating no child elements.
222<p>
223Note that whitespace and text content are not validated here. Those are handled by the scanner. So only element ids are provided here.<dl compact><dt><b>
224Parameters: </b><dd>
225<table border=0 cellspacing=2 cellpadding=0>
226<tr><td valign=top><em>elemDecl</em>&nbsp;</td><td>
227The element whose content is to be checked.</td></tr>
228<tr><td valign=top><em>children</em>&nbsp;</td><td>
229An array of element <a class="el" href="classQName.html">QName</a> which represent the elements found within the parent element, i.e. the content to be validated.</td></tr>
230<tr><td valign=top><em>childCount</em>&nbsp;</td><td>
231The number of elements in the childIds array. It can be zero if the element had none. </td></tr>
232</table>
233</dl>    </td>
234  </tr>
235</table>
236<a name="a0" doxytag="XMLValidator::checkRootElement"></a><p>
237<table width="100%" cellpadding="2" cellspacing="0" border="0">
238  <tr>
239    <td class="md">
240      <table cellpadding="0" cellspacing="0" border="0">
241        <tr>
242          <td class="md" nowrap valign="top"> bool XMLValidator::checkRootElement </td>
243          <td class="md" valign="top">(&nbsp;</td>
244          <td class="md" nowrap valign="top">const unsigned&nbsp;</td>
245          <td class="mdname1" valign="top" nowrap>&nbsp; <em>int</em>          </td>
246          <td class="md" valign="top">)&nbsp;</td>
247          <td class="md" nowrap></td>
248        </tr>
249
250      </table>
251    </td>
252  </tr>
253</table>
254<table cellspacing=5 cellpadding=0 border=0>
255  <tr>
256    <td>
257      &nbsp;
258    </td>
259    <td>
260
261<p>
262DEPRECATED.
263<p>
264For those validators that contrain the possible root elements of a document to only particular elements, they should use this call to validate that the passed root element id is a legal root element.     </td>
265  </tr>
266</table>
267<a name="z306_2" doxytag="XMLValidator::emitError"></a><p>
268<table width="100%" cellpadding="2" cellspacing="0" border="0">
269  <tr>
270    <td class="md">
271      <table cellpadding="0" cellspacing="0" border="0">
272        <tr>
273          <td class="md" nowrap valign="top"> void XMLValidator::emitError </td>
274          <td class="md" valign="top">(&nbsp;</td>
275          <td class="md" nowrap valign="top">const <a class="el" href="classXMLValid.html#s119">XMLValid::Codes</a>&nbsp;</td>
276          <td class="mdname" nowrap>&nbsp; <em>toEmit</em>, </td>
277        </tr>
278        <tr>
279          <td></td>
280          <td></td>
281          <td class="md" nowrap>const char *const&nbsp;</td>
282          <td class="mdname" nowrap>&nbsp; <em>text1</em>, </td>
283        </tr>
284        <tr>
285          <td></td>
286          <td></td>
287          <td class="md" nowrap>const char *const&nbsp;</td>
288          <td class="mdname" nowrap>&nbsp; <em>text2</em> = 0, </td>
289        </tr>
290        <tr>
291          <td></td>
292          <td></td>
293          <td class="md" nowrap>const char *const&nbsp;</td>
294          <td class="mdname" nowrap>&nbsp; <em>text3</em> = 0, </td>
295        </tr>
296        <tr>
297          <td></td>
298          <td></td>
299          <td class="md" nowrap>const char *const&nbsp;</td>
300          <td class="mdname" nowrap>&nbsp; <em>text4</em> = 0</td>
301        </tr>
302        <tr>
303          <td></td>
304          <td class="md">)&nbsp;</td>
305          <td class="md" colspan="2"></td>
306        </tr>
307
308      </table>
309    </td>
310  </tr>
311</table>
312<table cellspacing=5 cellpadding=0 border=0>
313  <tr>
314    <td>
315      &nbsp;
316    </td>
317    <td>
318
319<p>
320    </td>
321  </tr>
322</table>
323<a name="z306_1" doxytag="XMLValidator::emitError"></a><p>
324<table width="100%" cellpadding="2" cellspacing="0" border="0">
325  <tr>
326    <td class="md">
327      <table cellpadding="0" cellspacing="0" border="0">
328        <tr>
329          <td class="md" nowrap valign="top"> void XMLValidator::emitError </td>
330          <td class="md" valign="top">(&nbsp;</td>
331          <td class="md" nowrap valign="top">const <a class="el" href="classXMLValid.html#s119">XMLValid::Codes</a>&nbsp;</td>
332          <td class="mdname" nowrap>&nbsp; <em>toEmit</em>, </td>
333        </tr>
334        <tr>
335          <td></td>
336          <td></td>
337          <td class="md" nowrap>const XMLCh *const&nbsp;</td>
338          <td class="mdname" nowrap>&nbsp; <em>text1</em>, </td>
339        </tr>
340        <tr>
341          <td></td>
342          <td></td>
343          <td class="md" nowrap>const XMLCh *const&nbsp;</td>
344          <td class="mdname" nowrap>&nbsp; <em>text2</em> = 0, </td>
345        </tr>
346        <tr>
347          <td></td>
348          <td></td>
349          <td class="md" nowrap>const XMLCh *const&nbsp;</td>
350          <td class="mdname" nowrap>&nbsp; <em>text3</em> = 0, </td>
351        </tr>
352        <tr>
353          <td></td>
354          <td></td>
355          <td class="md" nowrap>const XMLCh *const&nbsp;</td>
356          <td class="mdname" nowrap>&nbsp; <em>text4</em> = 0</td>
357        </tr>
358        <tr>
359          <td></td>
360          <td class="md">)&nbsp;</td>
361          <td class="md" colspan="2"></td>
362        </tr>
363
364      </table>
365    </td>
366  </tr>
367</table>
368<table cellspacing=5 cellpadding=0 border=0>
369  <tr>
370    <td>
371      &nbsp;
372    </td>
373    <td>
374
375<p>
376    </td>
377  </tr>
378</table>
379<a name="z306_0" doxytag="XMLValidator::emitError"></a><p>
380<table width="100%" cellpadding="2" cellspacing="0" border="0">
381  <tr>
382    <td class="md">
383      <table cellpadding="0" cellspacing="0" border="0">
384        <tr>
385          <td class="md" nowrap valign="top"> void XMLValidator::emitError </td>
386          <td class="md" valign="top">(&nbsp;</td>
387          <td class="md" nowrap valign="top">const <a class="el" href="classXMLValid.html#s119">XMLValid::Codes</a>&nbsp;</td>
388          <td class="mdname1" valign="top" nowrap>&nbsp; <em>toEmit</em>          </td>
389          <td class="md" valign="top">)&nbsp;</td>
390          <td class="md" nowrap></td>
391        </tr>
392
393      </table>
394    </td>
395  </tr>
396</table>
397<table cellspacing=5 cellpadding=0 border=0>
398  <tr>
399    <td>
400      &nbsp;
401    </td>
402    <td>
403
404<p>
405This call is a convenience by which validators can emit errors.
406<p>
407Most of the grunt work of loading the text, getting the current source location, ect... is handled here.
408<p>
409If the loaded text has replacement parameters, then text strings can be passed. These will be used to replace the tokens {0}, {1}, {2}, and {3} in the order passed. So text1 will replace {0}, text2 will replace {1}, and so forth.
410<p>
411textX Up to four replacement parameters. They can be provided as either XMLCh strings, or local code page strings which will be transcoded internally.<dl compact><dt><b>
412Parameters: </b><dd>
413<table border=0 cellspacing=2 cellpadding=0>
414<tr><td valign=top><em>toEmit</em>&nbsp;</td><td>
415The error code to emit. it must be one of the defined validator error codes. </td></tr>
416</table>
417</dl>    </td>
418  </tr>
419</table>
420<a name="z303_1" doxytag="XMLValidator::faultInAttr"></a><p>
421<table width="100%" cellpadding="2" cellspacing="0" border="0">
422  <tr>
423    <td class="md">
424      <table cellpadding="0" cellspacing="0" border="0">
425        <tr>
426          <td class="md" nowrap valign="top"> virtual void XMLValidator::faultInAttr </td>
427          <td class="md" valign="top">(&nbsp;</td>
428          <td class="md" nowrap valign="top"><a class="el" href="classXMLAttr.html">XMLAttr</a> &amp;&nbsp;</td>
429          <td class="mdname" nowrap>&nbsp; <em>toFill</em>, </td>
430        </tr>
431        <tr>
432          <td></td>
433          <td></td>
434          <td class="md" nowrap>const <a class="el" href="classXMLAttDef.html">XMLAttDef</a> &amp;&nbsp;</td>
435          <td class="mdname" nowrap>&nbsp; <em>attDef</em></td>
436        </tr>
437        <tr>
438          <td></td>
439          <td class="md">)&nbsp;</td>
440          <td class="md" colspan="2"> const<code> [pure virtual]</code></td>
441        </tr>
442
443      </table>
444    </td>
445  </tr>
446</table>
447<table cellspacing=5 cellpadding=0 border=0>
448  <tr>
449    <td>
450      &nbsp;
451    </td>
452    <td>
453
454<p>
455The derived class should fault in the passed <a class="el" href="classXMLAttr.html">XMLAttr</a> value.
456<p>
457It should use the passeed attribute definition (which is passed via the base type so it must often be downcast to the appropriate type for the derived validator class), to fill in the passed attribute. This is done as a performance enhancement since the derived class has more direct access to the information.     </td>
458  </tr>
459</table>
460<a name="b2" doxytag="XMLValidator::getBufMgr"></a><p>
461<table width="100%" cellpadding="2" cellspacing="0" border="0">
462  <tr>
463    <td class="md">
464      <table cellpadding="0" cellspacing="0" border="0">
465        <tr>
466          <td class="md" nowrap valign="top"> XMLBufferMgr * XMLValidator::getBufMgr </td>
467          <td class="md" valign="top">(&nbsp;</td>
468          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
469          <td class="md" valign="top">)&nbsp;</td>
470          <td class="md" nowrap><code> [protected]</code></td>
471        </tr>
472
473      </table>
474    </td>
475  </tr>
476</table>
477<table cellspacing=5 cellpadding=0 border=0>
478  <tr>
479    <td>
480      &nbsp;
481    </td>
482    <td>
483
484<p>
485    </td>
486  </tr>
487</table>
488<a name="b1" doxytag="XMLValidator::getBufMgr"></a><p>
489<table width="100%" cellpadding="2" cellspacing="0" border="0">
490  <tr>
491    <td class="md">
492      <table cellpadding="0" cellspacing="0" border="0">
493        <tr>
494          <td class="md" nowrap valign="top"> const XMLBufferMgr * XMLValidator::getBufMgr </td>
495          <td class="md" valign="top">(&nbsp;</td>
496          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
497          <td class="md" valign="top">)&nbsp;</td>
498          <td class="md" nowrap> const<code> [protected]</code></td>
499        </tr>
500
501      </table>
502    </td>
503  </tr>
504</table>
505<table cellspacing=5 cellpadding=0 border=0>
506  <tr>
507    <td>
508      &nbsp;
509    </td>
510    <td>
511
512<p>
513    </td>
514  </tr>
515</table>
516<a name="z303_8" doxytag="XMLValidator::getGrammar"></a><p>
517<table width="100%" cellpadding="2" cellspacing="0" border="0">
518  <tr>
519    <td class="md">
520      <table cellpadding="0" cellspacing="0" border="0">
521        <tr>
522          <td class="md" nowrap valign="top"> virtual <a class="el" href="XSModel_8hpp.html#a1">Grammar</a>* XMLValidator::getGrammar </td>
523          <td class="md" valign="top">(&nbsp;</td>
524          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
525          <td class="md" valign="top">)&nbsp;</td>
526          <td class="md" nowrap> const<code> [pure virtual]</code></td>
527        </tr>
528
529      </table>
530    </td>
531  </tr>
532</table>
533<table cellspacing=5 cellpadding=0 border=0>
534  <tr>
535    <td>
536      &nbsp;
537    </td>
538    <td>
539
540<p>
541Retrieve the Grammar used.
542<p>
543    </td>
544  </tr>
545</table>
546<a name="b4" doxytag="XMLValidator::getReaderMgr"></a><p>
547<table width="100%" cellpadding="2" cellspacing="0" border="0">
548  <tr>
549    <td class="md">
550      <table cellpadding="0" cellspacing="0" border="0">
551        <tr>
552          <td class="md" nowrap valign="top"> <a class="el" href="XMLValidator_8hpp.html#a1">ReaderMgr</a> * XMLValidator::getReaderMgr </td>
553          <td class="md" valign="top">(&nbsp;</td>
554          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
555          <td class="md" valign="top">)&nbsp;</td>
556          <td class="md" nowrap><code> [protected]</code></td>
557        </tr>
558
559      </table>
560    </td>
561  </tr>
562</table>
563<table cellspacing=5 cellpadding=0 border=0>
564  <tr>
565    <td>
566      &nbsp;
567    </td>
568    <td>
569
570<p>
571    </td>
572  </tr>
573</table>
574<a name="b3" doxytag="XMLValidator::getReaderMgr"></a><p>
575<table width="100%" cellpadding="2" cellspacing="0" border="0">
576  <tr>
577    <td class="md">
578      <table cellpadding="0" cellspacing="0" border="0">
579        <tr>
580          <td class="md" nowrap valign="top"> const <a class="el" href="XMLValidator_8hpp.html#a1">ReaderMgr</a> * XMLValidator::getReaderMgr </td>
581          <td class="md" valign="top">(&nbsp;</td>
582          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
583          <td class="md" valign="top">)&nbsp;</td>
584          <td class="md" nowrap> const<code> [protected]</code></td>
585        </tr>
586
587      </table>
588    </td>
589  </tr>
590</table>
591<table cellspacing=5 cellpadding=0 border=0>
592  <tr>
593    <td>
594      &nbsp;
595    </td>
596    <td>
597
598<p>
599    </td>
600  </tr>
601</table>
602<a name="b6" doxytag="XMLValidator::getScanner"></a><p>
603<table width="100%" cellpadding="2" cellspacing="0" border="0">
604  <tr>
605    <td class="md">
606      <table cellpadding="0" cellspacing="0" border="0">
607        <tr>
608          <td class="md" nowrap valign="top"> XMLScanner * XMLValidator::getScanner </td>
609          <td class="md" valign="top">(&nbsp;</td>
610          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
611          <td class="md" valign="top">)&nbsp;</td>
612          <td class="md" nowrap><code> [protected]</code></td>
613        </tr>
614
615      </table>
616    </td>
617  </tr>
618</table>
619<table cellspacing=5 cellpadding=0 border=0>
620  <tr>
621    <td>
622      &nbsp;
623    </td>
624    <td>
625
626<p>
627    </td>
628  </tr>
629</table>
630<a name="b5" doxytag="XMLValidator::getScanner"></a><p>
631<table width="100%" cellpadding="2" cellspacing="0" border="0">
632  <tr>
633    <td class="md">
634      <table cellpadding="0" cellspacing="0" border="0">
635        <tr>
636          <td class="md" nowrap valign="top"> const XMLScanner * XMLValidator::getScanner </td>
637          <td class="md" valign="top">(&nbsp;</td>
638          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
639          <td class="md" valign="top">)&nbsp;</td>
640          <td class="md" nowrap> const<code> [protected]</code></td>
641        </tr>
642
643      </table>
644    </td>
645  </tr>
646</table>
647<table cellspacing=5 cellpadding=0 border=0>
648  <tr>
649    <td>
650      &nbsp;
651    </td>
652    <td>
653
654<p>
655    </td>
656  </tr>
657</table>
658<a name="z304_0" doxytag="XMLValidator::handlesDTD"></a><p>
659<table width="100%" cellpadding="2" cellspacing="0" border="0">
660  <tr>
661    <td class="md">
662      <table cellpadding="0" cellspacing="0" border="0">
663        <tr>
664          <td class="md" nowrap valign="top"> virtual bool XMLValidator::handlesDTD </td>
665          <td class="md" valign="top">(&nbsp;</td>
666          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
667          <td class="md" valign="top">)&nbsp;</td>
668          <td class="md" nowrap> const<code> [pure virtual]</code></td>
669        </tr>
670
671      </table>
672    </td>
673  </tr>
674</table>
675<table cellspacing=5 cellpadding=0 border=0>
676  <tr>
677    <td>
678      &nbsp;
679    </td>
680    <td>
681
682<p>
683This method allows the scanner to ask the validator if it handles DTDs or not.
684<p>
685    </td>
686  </tr>
687</table>
688<a name="z304_1" doxytag="XMLValidator::handlesSchema"></a><p>
689<table width="100%" cellpadding="2" cellspacing="0" border="0">
690  <tr>
691    <td class="md">
692      <table cellpadding="0" cellspacing="0" border="0">
693        <tr>
694          <td class="md" nowrap valign="top"> virtual bool XMLValidator::handlesSchema </td>
695          <td class="md" valign="top">(&nbsp;</td>
696          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
697          <td class="md" valign="top">)&nbsp;</td>
698          <td class="md" nowrap> const<code> [pure virtual]</code></td>
699        </tr>
700
701      </table>
702    </td>
703  </tr>
704</table>
705<table cellspacing=5 cellpadding=0 border=0>
706  <tr>
707    <td>
708      &nbsp;
709    </td>
710    <td>
711
712<p>
713This method allows the scanner to ask the validator if it handles Schema or not.
714<p>
715    </td>
716  </tr>
717</table>
718<a name="z303_3" doxytag="XMLValidator::postParseValidation"></a><p>
719<table width="100%" cellpadding="2" cellspacing="0" border="0">
720  <tr>
721    <td class="md">
722      <table cellpadding="0" cellspacing="0" border="0">
723        <tr>
724          <td class="md" nowrap valign="top"> virtual void XMLValidator::postParseValidation </td>
725          <td class="md" valign="top">(&nbsp;</td>
726          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
727          <td class="md" valign="top">)&nbsp;</td>
728          <td class="md" nowrap><code> [pure virtual]</code></td>
729        </tr>
730
731      </table>
732    </td>
733  </tr>
734</table>
735<table cellspacing=5 cellpadding=0 border=0>
736  <tr>
737    <td>
738      &nbsp;
739    </td>
740    <td>
741
742<p>
743This method is called by the scanner after the parse has completed.
744<p>
745It gives the validator a chance to check certain things that can only be checked after the whole document has been parsed, such as referential integrity of ID/IDREF pairs and so forth. The validator should just issue errors for any problems it finds.     </td>
746  </tr>
747</table>
748<a name="z303_2" doxytag="XMLValidator::preContentValidation"></a><p>
749<table width="100%" cellpadding="2" cellspacing="0" border="0">
750  <tr>
751    <td class="md">
752      <table cellpadding="0" cellspacing="0" border="0">
753        <tr>
754          <td class="md" nowrap valign="top"> virtual void XMLValidator::preContentValidation </td>
755          <td class="md" valign="top">(&nbsp;</td>
756          <td class="md" nowrap valign="top">bool&nbsp;</td>
757          <td class="mdname" nowrap>&nbsp; <em>reuseGrammar</em>, </td>
758        </tr>
759        <tr>
760          <td></td>
761          <td></td>
762          <td class="md" nowrap>bool&nbsp;</td>
763          <td class="mdname" nowrap>&nbsp; <em>validateDefAttr</em> = false</td>
764        </tr>
765        <tr>
766          <td></td>
767          <td class="md">)&nbsp;</td>
768          <td class="md" colspan="2"><code> [pure virtual]</code></td>
769        </tr>
770
771      </table>
772    </td>
773  </tr>
774</table>
775<table cellspacing=5 cellpadding=0 border=0>
776  <tr>
777    <td>
778      &nbsp;
779    </td>
780    <td>
781
782<p>
783This method is called by the scanner after a Grammar is scanned.
784<p>
785    </td>
786  </tr>
787</table>
788<a name="d1" doxytag="XMLValidator::reinitMsgLoader"></a><p>
789<table width="100%" cellpadding="2" cellspacing="0" border="0">
790  <tr>
791    <td class="md">
792      <table cellpadding="0" cellspacing="0" border="0">
793        <tr>
794          <td class="md" nowrap valign="top"> void XMLValidator::reinitMsgLoader </td>
795          <td class="md" valign="top">(&nbsp;</td>
796          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
797          <td class="md" valign="top">)&nbsp;</td>
798          <td class="md" nowrap><code> [static]</code></td>
799        </tr>
800
801      </table>
802    </td>
803  </tr>
804</table>
805<table cellspacing=5 cellpadding=0 border=0>
806  <tr>
807    <td>
808      &nbsp;
809    </td>
810    <td>
811
812<p>
813    </td>
814  </tr>
815</table>
816<a name="d0" doxytag="XMLValidator::reinitMsgMutex"></a><p>
817<table width="100%" cellpadding="2" cellspacing="0" border="0">
818  <tr>
819    <td class="md">
820      <table cellpadding="0" cellspacing="0" border="0">
821        <tr>
822          <td class="md" nowrap valign="top"> void XMLValidator::reinitMsgMutex </td>
823          <td class="md" valign="top">(&nbsp;</td>
824          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
825          <td class="md" valign="top">)&nbsp;</td>
826          <td class="md" nowrap><code> [static]</code></td>
827        </tr>
828
829      </table>
830    </td>
831  </tr>
832</table>
833<table cellspacing=5 cellpadding=0 border=0>
834  <tr>
835    <td>
836      &nbsp;
837    </td>
838    <td>
839
840<p>
841    </td>
842  </tr>
843</table>
844<a name="z303_5" doxytag="XMLValidator::requiresNamespaces"></a><p>
845<table width="100%" cellpadding="2" cellspacing="0" border="0">
846  <tr>
847    <td class="md">
848      <table cellpadding="0" cellspacing="0" border="0">
849        <tr>
850          <td class="md" nowrap valign="top"> virtual bool XMLValidator::requiresNamespaces </td>
851          <td class="md" valign="top">(&nbsp;</td>
852          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
853          <td class="md" valign="top">)&nbsp;</td>
854          <td class="md" nowrap> const<code> [pure virtual]</code></td>
855        </tr>
856
857      </table>
858    </td>
859  </tr>
860</table>
861<table cellspacing=5 cellpadding=0 border=0>
862  <tr>
863    <td>
864      &nbsp;
865    </td>
866    <td>
867
868<p>
869The derived class should return a boolean that indicates whether it requires namespace processing or not.
870<p>
871Some do and some allow it to be optional. This flag is used to control whether the client code's requests to disable namespace processing can be honored or not.     </td>
872  </tr>
873</table>
874<a name="z303_4" doxytag="XMLValidator::reset"></a><p>
875<table width="100%" cellpadding="2" cellspacing="0" border="0">
876  <tr>
877    <td class="md">
878      <table cellpadding="0" cellspacing="0" border="0">
879        <tr>
880          <td class="md" nowrap valign="top"> virtual void XMLValidator::reset </td>
881          <td class="md" valign="top">(&nbsp;</td>
882          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
883          <td class="md" valign="top">)&nbsp;</td>
884          <td class="md" nowrap><code> [pure virtual]</code></td>
885        </tr>
886
887      </table>
888    </td>
889  </tr>
890</table>
891<table cellspacing=5 cellpadding=0 border=0>
892  <tr>
893    <td>
894      &nbsp;
895    </td>
896    <td>
897
898<p>
899This method is called by the scanner before a new document is about to start.
900<p>
901It gives the validator a change to reset itself in preperation for another validation pass.     </td>
902  </tr>
903</table>
904<a name="z305_1" doxytag="XMLValidator::setErrorReporter"></a><p>
905<table width="100%" cellpadding="2" cellspacing="0" border="0">
906  <tr>
907    <td class="md">
908      <table cellpadding="0" cellspacing="0" border="0">
909        <tr>
910          <td class="md" nowrap valign="top"> void XMLValidator::setErrorReporter </td>
911          <td class="md" valign="top">(&nbsp;</td>
912          <td class="md" nowrap valign="top"><a class="el" href="classXMLErrorReporter.html">XMLErrorReporter</a> *const&nbsp;</td>
913          <td class="mdname1" valign="top" nowrap>&nbsp; <em>errorReporter</em>          </td>
914          <td class="md" valign="top">)&nbsp;</td>
915          <td class="md" nowrap></td>
916        </tr>
917
918      </table>
919    </td>
920  </tr>
921</table>
922<table cellspacing=5 cellpadding=0 border=0>
923  <tr>
924    <td>
925      &nbsp;
926    </td>
927    <td>
928
929<p>
930This method is called to set an error reporter on the validator via which it will report any errors it sees during parsing or validation.
931<p>
932This is generally called by the owning scanner.<dl compact><dt><b>
933Parameters: </b><dd>
934<table border=0 cellspacing=2 cellpadding=0>
935<tr><td valign=top><em>errorReporter</em>&nbsp;</td><td>
936A pointer to the error reporter to use. This is not adopted, just referenced so the caller remains responsible for its cleanup, if any. </td></tr>
937</table>
938</dl>    </td>
939  </tr>
940</table>
941<a name="z303_9" doxytag="XMLValidator::setGrammar"></a><p>
942<table width="100%" cellpadding="2" cellspacing="0" border="0">
943  <tr>
944    <td class="md">
945      <table cellpadding="0" cellspacing="0" border="0">
946        <tr>
947          <td class="md" nowrap valign="top"> virtual void XMLValidator::setGrammar </td>
948          <td class="md" valign="top">(&nbsp;</td>
949          <td class="md" nowrap valign="top"><a class="el" href="XSModel_8hpp.html#a1">Grammar</a> *&nbsp;</td>
950          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aGrammar</em>          </td>
951          <td class="md" valign="top">)&nbsp;</td>
952          <td class="md" nowrap><code> [pure virtual]</code></td>
953        </tr>
954
955      </table>
956    </td>
957  </tr>
958</table>
959<table cellspacing=5 cellpadding=0 border=0>
960  <tr>
961    <td>
962      &nbsp;
963    </td>
964    <td>
965
966<p>
967Set the Grammar.
968<p>
969    </td>
970  </tr>
971</table>
972<a name="z305_0" doxytag="XMLValidator::setScannerInfo"></a><p>
973<table width="100%" cellpadding="2" cellspacing="0" border="0">
974  <tr>
975    <td class="md">
976      <table cellpadding="0" cellspacing="0" border="0">
977        <tr>
978          <td class="md" nowrap valign="top"> void XMLValidator::setScannerInfo </td>
979          <td class="md" valign="top">(&nbsp;</td>
980          <td class="md" nowrap valign="top">XMLScanner *const&nbsp;</td>
981          <td class="mdname" nowrap>&nbsp; <em>owningScanner</em>, </td>
982        </tr>
983        <tr>
984          <td></td>
985          <td></td>
986          <td class="md" nowrap><a class="el" href="XMLValidator_8hpp.html#a1">ReaderMgr</a> *const&nbsp;</td>
987          <td class="mdname" nowrap>&nbsp; <em>readerMgr</em>, </td>
988        </tr>
989        <tr>
990          <td></td>
991          <td></td>
992          <td class="md" nowrap>XMLBufferMgr *const&nbsp;</td>
993          <td class="mdname" nowrap>&nbsp; <em>bufMgr</em></td>
994        </tr>
995        <tr>
996          <td></td>
997          <td class="md">)&nbsp;</td>
998          <td class="md" colspan="2"></td>
999        </tr>
1000
1001      </table>
1002    </td>
1003  </tr>
1004</table>
1005<table cellspacing=5 cellpadding=0 border=0>
1006  <tr>
1007    <td>
1008      &nbsp;
1009    </td>
1010    <td>
1011
1012<p>
1013<dl compact><dt><b>
1014Parameters: </b><dd>
1015<table border=0 cellspacing=2 cellpadding=0>
1016<tr><td valign=top><em>owningScanner</em>&nbsp;</td><td>
1017This is a pointer to the scanner to which the validator belongs. The validator will often need to query state data from the scanner.</td></tr>
1018<tr><td valign=top><em>readerMgr</em>&nbsp;</td><td>
1019This is a pointer to the reader manager that is being used by the scanner.</td></tr>
1020<tr><td valign=top><em>bufMgr</em>&nbsp;</td><td>
1021This is the buffer manager of the scanner. This is provided as a convenience so that the validator doesn't have to create its own buffer manager during the parse process. </td></tr>
1022</table>
1023</dl>    </td>
1024  </tr>
1025</table>
1026<a name="z303_6" doxytag="XMLValidator::validateAttrValue"></a><p>
1027<table width="100%" cellpadding="2" cellspacing="0" border="0">
1028  <tr>
1029    <td class="md">
1030      <table cellpadding="0" cellspacing="0" border="0">
1031        <tr>
1032          <td class="md" nowrap valign="top"> virtual void XMLValidator::validateAttrValue </td>
1033          <td class="md" valign="top">(&nbsp;</td>
1034          <td class="md" nowrap valign="top">const <a class="el" href="classXMLAttDef.html">XMLAttDef</a> *&nbsp;</td>
1035          <td class="mdname" nowrap>&nbsp; <em>attDef</em>, </td>
1036        </tr>
1037        <tr>
1038          <td></td>
1039          <td></td>
1040          <td class="md" nowrap>const XMLCh *const&nbsp;</td>
1041          <td class="mdname" nowrap>&nbsp; <em>attrValue</em>, </td>
1042        </tr>
1043        <tr>
1044          <td></td>
1045          <td></td>
1046          <td class="md" nowrap>bool&nbsp;</td>
1047          <td class="mdname" nowrap>&nbsp; <em>preValidation</em> = false, </td>
1048        </tr>
1049        <tr>
1050          <td></td>
1051          <td></td>
1052          <td class="md" nowrap>const <a class="el" href="classXMLElementDecl.html">XMLElementDecl</a> *&nbsp;</td>
1053          <td class="mdname" nowrap>&nbsp; <em>elemDecl</em> = 0</td>
1054        </tr>
1055        <tr>
1056          <td></td>
1057          <td class="md">)&nbsp;</td>
1058          <td class="md" colspan="2"><code> [pure virtual]</code></td>
1059        </tr>
1060
1061      </table>
1062    </td>
1063  </tr>
1064</table>
1065<table cellspacing=5 cellpadding=0 border=0>
1066  <tr>
1067    <td>
1068      &nbsp;
1069    </td>
1070    <td>
1071
1072<p>
1073The derived class should apply any rules to the passed attribute value that are above and beyond those defined by XML 1.0.
1074<p>
1075The scanner itself will impose XML 1.0 rules, based on the type of the attribute. This will generally be used to check things such as range checks and other datatype related validation.
1076<p>
1077If the value breaks any rules as defined by the derived class, it should just issue errors as usual.     </td>
1078  </tr>
1079</table>
1080<a name="z303_7" doxytag="XMLValidator::validateElement"></a><p>
1081<table width="100%" cellpadding="2" cellspacing="0" border="0">
1082  <tr>
1083    <td class="md">
1084      <table cellpadding="0" cellspacing="0" border="0">
1085        <tr>
1086          <td class="md" nowrap valign="top"> virtual void XMLValidator::validateElement </td>
1087          <td class="md" valign="top">(&nbsp;</td>
1088          <td class="md" nowrap valign="top">const <a class="el" href="classXMLElementDecl.html">XMLElementDecl</a> *&nbsp;</td>
1089          <td class="mdname1" valign="top" nowrap>&nbsp; <em>elemDef</em>          </td>
1090          <td class="md" valign="top">)&nbsp;</td>
1091          <td class="md" nowrap><code> [pure virtual]</code></td>
1092        </tr>
1093
1094      </table>
1095    </td>
1096  </tr>
1097</table>
1098<table cellspacing=5 cellpadding=0 border=0>
1099  <tr>
1100    <td>
1101      &nbsp;
1102    </td>
1103    <td>
1104
1105<p>
1106The derived class should apply any rules to the passed element decl that are above and beyond those defined by XML 1.0.
1107<p>
1108If the value breaks any rules as defined by the derived class, it should just issue errors as usual.     </td>
1109  </tr>
1110</table>
1111<hr>The documentation for this class was generated from the following file:<ul>
1112<li><a class="el" href="XMLValidator_8hpp-source.html">XMLValidator.hpp</a></ul>
1113    </FONT></TD></TR></TABLE><BR>
1114</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" alt=""></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
1115              Copyright &copy; 1994-2004 The Apache Software Foundation.
1116              All Rights Reserved.
1117            </I></FONT></TD></TR></TABLE></BODY></HTML>
Note: See TracBrowser for help on using the repository browser.