blob: 2f801ede6db29f4e3fe129828233353a73ce778c [file] [log] [blame]
<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>Xerces-C++: XMLGrammarPool 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>
<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 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>
<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>
<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">
<P>
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="classes.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul>
</div>
<h1>XMLGrammarPool Class Reference</h1><!-- doxytag: class="XMLGrammarPool" --><!-- doxytag: inherits="XMemory" --><div class="dynheader">
Inheritance diagram for XMLGrammarPool:</div>
<div class="dynsection">
<p><center><img src="classXMLGrammarPool__inherit__graph.png" border="0" usemap="#XMLGrammarPool__inherit__map" alt="Inheritance graph"></center>
<map name="XMLGrammarPool__inherit__map">
<area shape="rect" href="classXMemory.html" title="This class makes it possible to override the C++ memory management by adding new/delete..." alt="" coords="35,7,117,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<p>
<a href="classXMLGrammarPool-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#911e64476593684402942f1328be063d">serializeGrammars</a> (<a class="el" href="classBinOutputStream.html">BinOutputStream</a> *const)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">serialization and deserialization support <a href="#911e64476593684402942f1328be063d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#49c9d8b945202dc52efac9a49777b76c">deserializeGrammars</a> (<a class="el" href="classBinInputStream.html">BinInputStream</a> *const)=0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#f320d13b44ba404c9653e5934ddd782a">setIgnoreSerializedAnnotations</a> (const bool flag)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#9b8187ba62782cc03c0ad1fc6a658023">getIgnoreSerializedAnnotations</a> () const </td></tr>
<tr><td colspan="2"><div class="groupHeader">Virtual destructor for derived classes</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#792b7f4329e5f5879e697267e1f77045">~XMLGrammarPool</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">virtual destructor <a href="#792b7f4329e5f5879e697267e1f77045"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">The Grammar Pool Interface</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#08e026b224ce673351399e5aa89986a4">cacheGrammar</a> (Grammar *const gramToCache)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">cacheGrammar <a href="#08e026b224ce673351399e5aa89986a4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual Grammar *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#4d46fe203456ff60dd6018f314703c30">retrieveGrammar</a> (<a class="el" href="classXMLGrammarDescription.html">XMLGrammarDescription</a> *const gramDesc)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">retrieveGrammar <a href="#4d46fe203456ff60dd6018f314703c30"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual Grammar *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#d0254f88ff391922562f98f1c9d221df">orphanGrammar</a> (const XMLCh *const nameSpaceKey)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">orphanGrammar <a href="#d0254f88ff391922562f98f1c9d221df"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
RefHashTableOfEnumerator<br>
&lt; Grammar &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#3cc5ab2ad55b562cb636871b7d9895e8">getGrammarEnumerator</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an enumeration of the cached Grammars in the Grammar pool. <a href="#3cc5ab2ad55b562cb636871b7d9895e8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#b85574c2179f8093fc0332e9687effd7">clear</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">clear <a href="#b85574c2179f8093fc0332e9687effd7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#31c136f2bee3a151004b51901342798e">lockPool</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">lockPool <a href="#31c136f2bee3a151004b51901342798e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#787f93c1c88fb9c95d9547869e217a0a">unlockPool</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">unlockPool <a href="#787f93c1c88fb9c95d9547869e217a0a"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Factory interface</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual DTDGrammar *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#981598e2cb25c0143405bf4c33ab141c">createDTDGrammar</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">createDTDGrammar <a href="#981598e2cb25c0143405bf4c33ab141c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual SchemaGrammar *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#d2de4f22719bf51d9b642f808b5f06fe">createSchemaGrammar</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">createSchemaGrammar <a href="#d2de4f22719bf51d9b642f808b5f06fe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="classXMLDTDDescription.html">XMLDTDDescription</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#d492ce388622e955d1a629e3892e0793">createDTDDescription</a> (const XMLCh *const systemId)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">createDTDDescription <a href="#d492ce388622e955d1a629e3892e0793"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="classXMLSchemaDescription.html">XMLSchemaDescription</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#1f922708efaa4e4fafee6ed5af04a306">createSchemaDescription</a> (const XMLCh *const targetNamespace)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">createSchemaDescription <a href="#1f922708efaa4e4fafee6ed5af04a306"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">schema component model support</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classXSModel.html">XSModel</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#ebd77170b4ecac2cb0d7d42f1976219b">getXSModel</a> ()=0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classXSModel.html">XSModel</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#f97aefcea412f0c7367d2b74673b21cb">getXSModel</a> (bool &amp;XSModelWasChanged)</td></tr>
<tr><td colspan="2"><div class="groupHeader">Getter</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classMemoryManager.html">MemoryManager</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#e12c5153eb902652d3ebd5c8d504e5b3">getMemoryManager</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">getMemoryManager <a href="#e12c5153eb902652d3ebd5c8d504e5b3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual XMLStringPool *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#f9f72a65d9b8b15b6f94b9e526e2acd1">getURIStringPool</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return an XMLStringPool for use by validation routines. <a href="#f9f72a65d9b8b15b6f94b9e526e2acd1"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLGrammarPool.html#0dc250a1820cebb8aa99449d1c57e502">XMLGrammarPool</a> (<a class="el" href="classMemoryManager.html">MemoryManager</a> *const memMgr=<a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hidden Constructors. <a href="#0dc250a1820cebb8aa99449d1c57e502"></a><br></td></tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="792b7f4329e5f5879e697267e1f77045"></a><!-- doxytag: member="XMLGrammarPool::~XMLGrammarPool" ref="792b7f4329e5f5879e697267e1f77045" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual XMLGrammarPool::~XMLGrammarPool </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
virtual destructor
<p>
</div>
</div><p>
<a class="anchor" name="0dc250a1820cebb8aa99449d1c57e502"></a><!-- doxytag: member="XMLGrammarPool::XMLGrammarPool" ref="0dc250a1820cebb8aa99449d1c57e502" args="(MemoryManager *const memMgr=XMLPlatformUtils::fgMemoryManager)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XMLGrammarPool::XMLGrammarPool </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const &nbsp;</td>
<td class="paramname"> <em>memMgr</em> = <code><a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></code> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Hidden Constructors.
<p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="08e026b224ce673351399e5aa89986a4"></a><!-- doxytag: member="XMLGrammarPool::cacheGrammar" ref="08e026b224ce673351399e5aa89986a4" args="(Grammar *const gramToCache)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool XMLGrammarPool::cacheGrammar </td>
<td>(</td>
<td class="paramtype">Grammar *const &nbsp;</td>
<td class="paramname"> <em>gramToCache</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
cacheGrammar
<p>
Provide the grammar pool with an opportunity to cache the given grammar. If the pool does not choose to do so, it should return false; otherwise, it should return true, so that the caller knows whether the grammar has been adopted.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>gramToCache</em>&nbsp;</td><td>the Grammar to be cached in the grammar pool </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the grammar pool has elected to cache the grammar (in which case it is assumed to have adopted it); false if it does not cache it </dd></dl>
</div>
</div><p>
<a class="anchor" name="4d46fe203456ff60dd6018f314703c30"></a><!-- doxytag: member="XMLGrammarPool::retrieveGrammar" ref="4d46fe203456ff60dd6018f314703c30" args="(XMLGrammarDescription *const gramDesc)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual Grammar* XMLGrammarPool::retrieveGrammar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classXMLGrammarDescription.html">XMLGrammarDescription</a> *const &nbsp;</td>
<td class="paramname"> <em>gramDesc</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
retrieveGrammar
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>gramDesc</em>&nbsp;</td><td>the Grammar Description used to search for grammar cached in the grammar pool </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="d0254f88ff391922562f98f1c9d221df"></a><!-- doxytag: member="XMLGrammarPool::orphanGrammar" ref="d0254f88ff391922562f98f1c9d221df" args="(const XMLCh *const nameSpaceKey)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual Grammar* XMLGrammarPool::orphanGrammar </td>
<td>(</td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>nameSpaceKey</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
orphanGrammar
<p>
grammar removed from the grammar pool and owned by the caller<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>nameSpaceKey</em>&nbsp;</td><td>Key used to search for grammar in the grammar pool </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the grammar that was removed from the pool (0 if none) </dd></dl>
</div>
</div><p>
<a class="anchor" name="3cc5ab2ad55b562cb636871b7d9895e8"></a><!-- doxytag: member="XMLGrammarPool::getGrammarEnumerator" ref="3cc5ab2ad55b562cb636871b7d9895e8" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual RefHashTableOfEnumerator&lt;Grammar&gt; XMLGrammarPool::getGrammarEnumerator </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get an enumeration of the cached Grammars in the Grammar pool.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>enumeration of the cached Grammars in Grammar pool </dd></dl>
</div>
</div><p>
<a class="anchor" name="b85574c2179f8093fc0332e9687effd7"></a><!-- doxytag: member="XMLGrammarPool::clear" ref="b85574c2179f8093fc0332e9687effd7" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool XMLGrammarPool::clear </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
clear
<p>
all grammars are removed from the grammar pool and deleted. <dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the grammar pool was cleared. false if it did not. </dd></dl>
</div>
</div><p>
<a class="anchor" name="31c136f2bee3a151004b51901342798e"></a><!-- doxytag: member="XMLGrammarPool::lockPool" ref="31c136f2bee3a151004b51901342798e" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void XMLGrammarPool::lockPool </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
lockPool
<p>
When this method is called by the application, the grammar pool should stop adding new grammars to the cache. This should result in the grammar pool being sharable among parsers operating in different threads.
</div>
</div><p>
<a class="anchor" name="787f93c1c88fb9c95d9547869e217a0a"></a><!-- doxytag: member="XMLGrammarPool::unlockPool" ref="787f93c1c88fb9c95d9547869e217a0a" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void XMLGrammarPool::unlockPool </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
unlockPool
<p>
After this method has been called, the grammar pool implementation should return to its default behaviour when cacheGrammars(...) is called. One effect, depending on the underlying implementation, is that the grammar pool may no longer be thread-safe (even on read operations).<p>
For PSVI support any previous <a class="el" href="classXSModel.html">XSModel</a> that was produced will be deleted.
</div>
</div><p>
<a class="anchor" name="981598e2cb25c0143405bf4c33ab141c"></a><!-- doxytag: member="XMLGrammarPool::createDTDGrammar" ref="981598e2cb25c0143405bf4c33ab141c" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual DTDGrammar* XMLGrammarPool::createDTDGrammar </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
createDTDGrammar
<p>
</div>
</div><p>
<a class="anchor" name="d2de4f22719bf51d9b642f808b5f06fe"></a><!-- doxytag: member="XMLGrammarPool::createSchemaGrammar" ref="d2de4f22719bf51d9b642f808b5f06fe" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual SchemaGrammar* XMLGrammarPool::createSchemaGrammar </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
createSchemaGrammar
<p>
</div>
</div><p>
<a class="anchor" name="d492ce388622e955d1a629e3892e0793"></a><!-- doxytag: member="XMLGrammarPool::createDTDDescription" ref="d492ce388622e955d1a629e3892e0793" args="(const XMLCh *const systemId)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classXMLDTDDescription.html">XMLDTDDescription</a>* XMLGrammarPool::createDTDDescription </td>
<td>(</td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>systemId</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
createDTDDescription
<p>
</div>
</div><p>
<a class="anchor" name="1f922708efaa4e4fafee6ed5af04a306"></a><!-- doxytag: member="XMLGrammarPool::createSchemaDescription" ref="1f922708efaa4e4fafee6ed5af04a306" args="(const XMLCh *const targetNamespace)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classXMLSchemaDescription.html">XMLSchemaDescription</a>* XMLGrammarPool::createSchemaDescription </td>
<td>(</td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>targetNamespace</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
createSchemaDescription
<p>
</div>
</div><p>
<a class="anchor" name="ebd77170b4ecac2cb0d7d42f1976219b"></a><!-- doxytag: member="XMLGrammarPool::getXSModel" ref="ebd77170b4ecac2cb0d7d42f1976219b" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classXSModel.html">XSModel</a>* XMLGrammarPool::getXSModel </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="f97aefcea412f0c7367d2b74673b21cb"></a><!-- doxytag: member="XMLGrammarPool::getXSModel" ref="f97aefcea412f0c7367d2b74673b21cb" args="(bool &amp;XSModelWasChanged)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classXSModel.html">XSModel</a>* XMLGrammarPool::getXSModel </td>
<td>(</td>
<td class="paramtype">bool &amp;&nbsp;</td>
<td class="paramname"> <em>XSModelWasChanged</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="e12c5153eb902652d3ebd5c8d504e5b3"></a><!-- doxytag: member="XMLGrammarPool::getMemoryManager" ref="e12c5153eb902652d3ebd5c8d504e5b3" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classMemoryManager.html">MemoryManager</a>* XMLGrammarPool::getMemoryManager </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
getMemoryManager
<p>
</div>
</div><p>
<a class="anchor" name="f9f72a65d9b8b15b6f94b9e526e2acd1"></a><!-- doxytag: member="XMLGrammarPool::getURIStringPool" ref="f9f72a65d9b8b15b6f94b9e526e2acd1" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual XMLStringPool* XMLGrammarPool::getURIStringPool </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return an XMLStringPool for use by validation routines.
<p>
Implementations should not create a string pool on each call to this method, but should maintain one string pool for all grammars for which this pool is responsible.
</div>
</div><p>
<a class="anchor" name="911e64476593684402942f1328be063d"></a><!-- doxytag: member="XMLGrammarPool::serializeGrammars" ref="911e64476593684402942f1328be063d" args="(BinOutputStream *const)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void XMLGrammarPool::serializeGrammars </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classBinOutputStream.html">BinOutputStream</a> *&nbsp;</td>
<td class="paramname"> <em>const</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
serialization and deserialization support
<p>
</div>
</div><p>
<a class="anchor" name="49c9d8b945202dc52efac9a49777b76c"></a><!-- doxytag: member="XMLGrammarPool::deserializeGrammars" ref="49c9d8b945202dc52efac9a49777b76c" args="(BinInputStream *const)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void XMLGrammarPool::deserializeGrammars </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classBinInputStream.html">BinInputStream</a> *&nbsp;</td>
<td class="paramname"> <em>const</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="f320d13b44ba404c9653e5934ddd782a"></a><!-- doxytag: member="XMLGrammarPool::setIgnoreSerializedAnnotations" ref="f320d13b44ba404c9653e5934ddd782a" args="(const bool flag)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XMLGrammarPool::setIgnoreSerializedAnnotations </td>
<td>(</td>
<td class="paramtype">const bool&nbsp;</td>
<td class="paramname"> <em>flag</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="9b8187ba62782cc03c0ad1fc6a658023"></a><!-- doxytag: member="XMLGrammarPool::getIgnoreSerializedAnnotations" ref="9b8187ba62782cc03c0ad1fc6a658023" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool XMLGrammarPool::getIgnoreSerializedAnnotations </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XMLGrammarPool_8hpp-source.html">XMLGrammarPool.hpp</a></ul>
</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" alt=""></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
Copyright &copy; 1994-2004 The Apache Software Foundation.
All Rights Reserved.
</I></FONT></TD></TR></TABLE></BODY></HTML>