blob: 9120c5a3036ab8e7f02f35552b06b6689dff04a8 [file] [log] [blame]
<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>Xerces-C++: XMLElementDecl 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>XMLElementDecl Class Reference</h1><!-- doxytag: class="XMLElementDecl" --><!-- doxytag: inherits="XMemory" -->This class defines the core information of an element declaration.
<a href="#_details">More...</a>
<p>
<div class="dynheader">
Inheritance diagram for XMLElementDecl:</div>
<div class="dynsection">
<p><center><img src="classXMLElementDecl__inherit__graph.png" border="0" usemap="#XMLElementDecl__inherit__map" alt="Inheritance graph"></center>
<map name="XMLElementDecl__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="29,7,112,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<p>
<a href="classXMLElementDecl-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 Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#1307bfa5455f69a27898614ed168f7aa">CreateReasons</a> { <br>
&nbsp;&nbsp;<a class="el" href="classXMLElementDecl.html#1307bfa5455f69a27898614ed168f7aa6ea7ebbb617f944752e95c68cbd8bbd0">NoReason</a>,
<a class="el" href="classXMLElementDecl.html#1307bfa5455f69a27898614ed168f7aa5b140b134d9b9f934b740c7e995aa836">Declared</a>,
<a class="el" href="classXMLElementDecl.html#1307bfa5455f69a27898614ed168f7aaf89d8c19c104e67286afeff0d401ce89">AttList</a>,
<a class="el" href="classXMLElementDecl.html#1307bfa5455f69a27898614ed168f7aafeee0959f6ea3c8db3e3bb651364af5d">InContentModel</a>,
<br>
&nbsp;&nbsp;<a class="el" href="classXMLElementDecl.html#1307bfa5455f69a27898614ed168f7aa3698d0f84f817958f37821f0eb205382">AsRootElem</a>,
<a class="el" href="classXMLElementDecl.html#1307bfa5455f69a27898614ed168f7aae8a7a59607f85cd925e175f5c0e26d85">JustFaultIn</a>
<br>
}</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#4944e397b4469a1303efb85704491e1d">LookupOpts</a> { <a class="el" href="classXMLElementDecl.html#4944e397b4469a1303efb85704491e1db523a5469a02725f82b21a02b4fd2fb6">AddIfNotFound</a>,
<a class="el" href="classXMLElementDecl.html#4944e397b4469a1303efb85704491e1de507b7dfe56b31ba1e691f76c6f89976">FailIfNotFound</a>
}</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#44870fe57f7421bc6506b835046ed1b0">CharDataOpts</a> { <a class="el" href="classXMLElementDecl.html#44870fe57f7421bc6506b835046ed1b00a2b984dff23855ba968a2d92fd800a7">NoCharData</a>,
<a class="el" href="classXMLElementDecl.html#44870fe57f7421bc6506b835046ed1b0a3ed5983fbb5d209246f4aae94a558a8">SpacesOk</a>,
<a class="el" href="classXMLElementDecl.html#44870fe57f7421bc6506b835046ed1b02f1f5a4d2563647af3ebf576d4988021">AllCharData</a>
}</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#29b943d4557d3922d520ba034c8276de">objectType</a> { <a class="el" href="classXMLElementDecl.html#29b943d4557d3922d520ba034c8276de1cedeaedd7216de31223a41e2bd1bc2f">Schema</a>,
<a class="el" href="classXMLElementDecl.html#29b943d4557d3922d520ba034c8276de5ef04d628563f5b7f64880851c37ceba">DTD</a>,
<a class="el" href="classXMLElementDecl.html#29b943d4557d3922d520ba034c8276de697bb7c4ff963ec996716075a91bd1bd">UnKnown</a>
}</td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="classXMLElementDecl.html#29b943d4557d3922d520ba034c8276de">XMLElementDecl::objectType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#c073a720a71b31b939d49a3ff2b0de29">getObjectType</a> () const =0</td></tr>
<tr><td colspan="2"><div class="groupHeader">Destructor</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#c797a3100cb4fa56eda0c28a24b96ced">~XMLElementDecl</a> ()</td></tr>
<tr><td colspan="2"><div class="groupHeader">Virual ElementDecl interface</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classXMLAttDef.html">XMLAttDef</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#0eedebcf0a94bae82edb63202056af60">findAttr</a> (const XMLCh *const qName, const unsigned int uriId, const XMLCh *const baseName, const XMLCh *const prefix, const <a class="el" href="classXMLElementDecl.html#4944e397b4469a1303efb85704491e1d">LookupOpts</a> options, bool &amp;wasAdded) const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find an attribute by name or optionally fault it in. <a href="#0eedebcf0a94bae82edb63202056af60"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classXMLAttDefList.html">XMLAttDefList</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#b48919296a6dccd95aa06e698991c080">getAttDefList</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a list of attributes defined for this element. <a href="#b48919296a6dccd95aa06e698991c080"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classXMLElementDecl.html#44870fe57f7421bc6506b835046ed1b0">CharDataOpts</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#f43f4f07449e45f5a39cea54749e6f45">getCharDataOpts</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The character data options for this element type. <a href="#f43f4f07449e45f5a39cea54749e6f45"></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="classXMLElementDecl.html#2478e0d7865fdf9c46f885826c583634">hasAttDefs</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate whether this element type defined any attributes. <a href="#2478e0d7865fdf9c46f885826c583634"></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="classXMLElementDecl.html#d771f12ba715ae671ecfb031d31b5c5c">resetDefs</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the flags on the attribute definitions. <a href="#d771f12ba715ae671ecfb031d31b5c5c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <br>
ContentSpecNode *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#e4e15ae8c4c565e1fecfdc2738ad2519">getContentSpec</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the content spec node. <a href="#e4e15ae8c4c565e1fecfdc2738ad2519"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ContentSpecNode *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#5d928da25bb27fd26404d859c5d6289a">getContentSpec</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the content spec node. <a href="#5d928da25bb27fd26404d859c5d6289a"></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="classXMLElementDecl.html#1211a1ac7eafbd17fc80cbeaf9ece031">setContentSpec</a> (ContentSpecNode *toAdopt)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the content spec node object for this element type. <a href="#1211a1ac7eafbd17fc80cbeaf9ece031"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classXMLContentModel.html">XMLContentModel</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#8b438615592593409ed52de910b5db2c">getContentModel</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the abstract content model. <a href="#8b438615592593409ed52de910b5db2c"></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="classXMLElementDecl.html#894f5fc7fff0d92e25ea2e7a16346266">setContentModel</a> (<a class="el" href="classXMLContentModel.html">XMLContentModel</a> *const newModelToAdopt)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the content model object for this element type. <a href="#894f5fc7fff0d92e25ea2e7a16346266"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const XMLCh *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#59e5effbc797fc985d5006181c37a83f">getFormattedContentModel</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Geta formatted string of the content model. <a href="#59e5effbc797fc985d5006181c37a83f"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Getter methods</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const XMLCh *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#4b8e71ee50aafabc32c08c4b7024d00c">getBaseName</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the base name of this element type. <a href="#4b8e71ee50aafabc32c08c4b7024d00c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">XMLCh *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#8963b2d813cc5386096164147ed7d6e9">getBaseName</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#c2d6e48600f45dcaaedd6f278e7d285e">getURI</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the URI id of this element type. <a href="#c2d6e48600f45dcaaedd6f278e7d285e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classQName.html">QName</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#a8581855ead5baddd945aab819c91ead">getElementName</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the <a class="el" href="classQName.html">QName</a> of this element type. <a href="#a8581855ead5baddd945aab819c91ead"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classQName.html">QName</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#3f73052c506a1a8066c17c59e7485964">getElementName</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const XMLCh *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#ab7a3db5fbbe3c7e21956d78fa18ab6d">getFullName</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the full name of this element type. <a href="#ab7a3db5fbbe3c7e21956d78fa18ab6d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXMLElementDecl.html#1307bfa5455f69a27898614ed168f7aa">CreateReasons</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#dc24848e8722ceed15af8366900206fd">getCreateReason</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the create reason for this element type. <a href="#dc24848e8722ceed15af8366900206fd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#d59c671130bf40c69e53cf624088f0bd">getId</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the element decl pool id for this element type. <a href="#d59c671130bf40c69e53cf624088f0bd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const XMLCh *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#4276d3d9d678442a55fbe7c23e1a2635">getDOMTypeInfoUri</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><dl class="return" compact><dt><b>Returns:</b></dt><dd>the uri part of DOM Level 3 TypeInfo </dd></dl>
<a href="#4276d3d9d678442a55fbe7c23e1a2635"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const XMLCh *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#ef1431d209e30c86d0a830d3e04ecf5c">getDOMTypeInfoName</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><dl class="return" compact><dt><b>Returns:</b></dt><dd>the name part of DOM Level 3 TypeInfo </dd></dl>
<a href="#ef1431d209e30c86d0a830d3e04ecf5c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#52c952aa2f0ddbebcbcc8a28dcbade89">isDeclared</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate whether this element type has been declared yet. <a href="#52c952aa2f0ddbebcbcc8a28dcbade89"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#59f01f2cfbeb9280a5ffcc9baab39177">isExternal</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate whether this element type has been declared externally. <a href="#59f01f2cfbeb9280a5ffcc9baab39177"></a><br></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="classXMLElementDecl.html#7fcea325660b738e0407cde416e5b4f4">getMemoryManager</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the memory manager. <a href="#7fcea325660b738e0407cde416e5b4f4"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Setter methods</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#50602e4437a7d5806853fc18f4e37994">setElementName</a> (const XMLCh *const prefix, const XMLCh *const localPart, const int uriId)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the element name object for this element type. <a href="#50602e4437a7d5806853fc18f4e37994"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#84866197971f93c33ace2417997326b7">setElementName</a> (const XMLCh *const rawName, const int uriId)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the element name object for this element type. <a href="#84866197971f93c33ace2417997326b7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#716c41e2fccc00bd5a4b336a6089f765">setElementName</a> (const <a class="el" href="classQName.html">QName</a> *const elementName)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the element name object for this element type. <a href="#716c41e2fccc00bd5a4b336a6089f765"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#205865ce4f892e83e273d0febb46fa1c">setCreateReason</a> (const <a class="el" href="classXMLElementDecl.html#1307bfa5455f69a27898614ed168f7aa">CreateReasons</a> newReason)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the create reason for this element type. <a href="#205865ce4f892e83e273d0febb46fa1c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#393e55ac8c395680b15d894810a19fa2">setId</a> (const unsigned int newId)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the element decl pool id for this element type. <a href="#393e55ac8c395680b15d894810a19fa2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#dd0cdf27f589ab23ea8de1a629b51dd7">setExternalElemDeclaration</a> (const bool aValue)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the element decl to indicate external declaration. <a href="#dd0cdf27f589ab23ea8de1a629b51dd7"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#86dec7ab6f2f2563a5531434c95a9573">storeElementDecl</a> (XSerializeEngine &amp;serEng, <a class="el" href="classXMLElementDecl.html">XMLElementDecl</a> *const element)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classXMLElementDecl.html">XMLElementDecl</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#529240e57fbaddca5de586b51fc4c167">loadElementDecl</a> (XSerializeEngine &amp;serEng)</td></tr>
<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#afc21717d7759f3fe357e92707d1870d">fgInvalidElemId</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#79dd4823913a168fb46ffb6b0bfc78ab">fgPCDataElemId</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const XMLCh&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#a7b8ed177aca128f956132dea880cf6b">fgPCDataElemName</a> []</td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLElementDecl.html#18305fabeda161fb2fd095597c32e438">XMLElementDecl</a> (<a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class defines the core information of an element declaration.
<p>
Each validator (DTD, Schema, etc...) will have its own information that it associations with the declaration of an element, but they must all share at least this core information, i.e. they must all derive from this class. The set of info enforced at this level is driven by the needs of XML 1.0 spec validation and well formedness checks.<p>
This class defines some special element id values for invalid elements and PCDATA elements, as well as a string for the special PCDATA element name. All validators must honor these special values in order to allow content models to work generically (i.e. to let code know when its dealing with invalid or PCDATA element ids without having to know what type of validator its messing with.) <hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="1307bfa5455f69a27898614ed168f7aa"></a><!-- doxytag: member="XMLElementDecl::CreateReasons" ref="1307bfa5455f69a27898614ed168f7aa" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classXMLElementDecl.html#1307bfa5455f69a27898614ed168f7aa">XMLElementDecl::CreateReasons</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="1307bfa5455f69a27898614ed168f7aa6ea7ebbb617f944752e95c68cbd8bbd0"></a><!-- doxytag: member="NoReason" ref="1307bfa5455f69a27898614ed168f7aa6ea7ebbb617f944752e95c68cbd8bbd0" args="" -->NoReason</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="1307bfa5455f69a27898614ed168f7aa5b140b134d9b9f934b740c7e995aa836"></a><!-- doxytag: member="Declared" ref="1307bfa5455f69a27898614ed168f7aa5b140b134d9b9f934b740c7e995aa836" args="" -->Declared</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="1307bfa5455f69a27898614ed168f7aaf89d8c19c104e67286afeff0d401ce89"></a><!-- doxytag: member="AttList" ref="1307bfa5455f69a27898614ed168f7aaf89d8c19c104e67286afeff0d401ce89" args="" -->AttList</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="1307bfa5455f69a27898614ed168f7aafeee0959f6ea3c8db3e3bb651364af5d"></a><!-- doxytag: member="InContentModel" ref="1307bfa5455f69a27898614ed168f7aafeee0959f6ea3c8db3e3bb651364af5d" args="" -->InContentModel</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="1307bfa5455f69a27898614ed168f7aa3698d0f84f817958f37821f0eb205382"></a><!-- doxytag: member="AsRootElem" ref="1307bfa5455f69a27898614ed168f7aa3698d0f84f817958f37821f0eb205382" args="" -->AsRootElem</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="1307bfa5455f69a27898614ed168f7aae8a7a59607f85cd925e175f5c0e26d85"></a><!-- doxytag: member="JustFaultIn" ref="1307bfa5455f69a27898614ed168f7aae8a7a59607f85cd925e175f5c0e26d85" args="" -->JustFaultIn</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="4944e397b4469a1303efb85704491e1d"></a><!-- doxytag: member="XMLElementDecl::LookupOpts" ref="4944e397b4469a1303efb85704491e1d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classXMLElementDecl.html#4944e397b4469a1303efb85704491e1d">XMLElementDecl::LookupOpts</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000013">Deprecated:</a></b></dt><dd>Use of addIfNotFound couldl produce undefined behaviour in multithreaded environments. </dd></dl>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="4944e397b4469a1303efb85704491e1db523a5469a02725f82b21a02b4fd2fb6"></a><!-- doxytag: member="AddIfNotFound" ref="4944e397b4469a1303efb85704491e1db523a5469a02725f82b21a02b4fd2fb6" args="" -->AddIfNotFound</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="4944e397b4469a1303efb85704491e1de507b7dfe56b31ba1e691f76c6f89976"></a><!-- doxytag: member="FailIfNotFound" ref="4944e397b4469a1303efb85704491e1de507b7dfe56b31ba1e691f76c6f89976" args="" -->FailIfNotFound</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="44870fe57f7421bc6506b835046ed1b0"></a><!-- doxytag: member="XMLElementDecl::CharDataOpts" ref="44870fe57f7421bc6506b835046ed1b0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classXMLElementDecl.html#44870fe57f7421bc6506b835046ed1b0">XMLElementDecl::CharDataOpts</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="44870fe57f7421bc6506b835046ed1b00a2b984dff23855ba968a2d92fd800a7"></a><!-- doxytag: member="NoCharData" ref="44870fe57f7421bc6506b835046ed1b00a2b984dff23855ba968a2d92fd800a7" args="" -->NoCharData</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="44870fe57f7421bc6506b835046ed1b0a3ed5983fbb5d209246f4aae94a558a8"></a><!-- doxytag: member="SpacesOk" ref="44870fe57f7421bc6506b835046ed1b0a3ed5983fbb5d209246f4aae94a558a8" args="" -->SpacesOk</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="44870fe57f7421bc6506b835046ed1b02f1f5a4d2563647af3ebf576d4988021"></a><!-- doxytag: member="AllCharData" ref="44870fe57f7421bc6506b835046ed1b02f1f5a4d2563647af3ebf576d4988021" args="" -->AllCharData</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="29b943d4557d3922d520ba034c8276de"></a><!-- doxytag: member="XMLElementDecl::objectType" ref="29b943d4557d3922d520ba034c8276de" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classXMLElementDecl.html#29b943d4557d3922d520ba034c8276de">XMLElementDecl::objectType</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="29b943d4557d3922d520ba034c8276de1cedeaedd7216de31223a41e2bd1bc2f"></a><!-- doxytag: member="Schema" ref="29b943d4557d3922d520ba034c8276de1cedeaedd7216de31223a41e2bd1bc2f" args="" -->Schema</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="29b943d4557d3922d520ba034c8276de5ef04d628563f5b7f64880851c37ceba"></a><!-- doxytag: member="DTD" ref="29b943d4557d3922d520ba034c8276de5ef04d628563f5b7f64880851c37ceba" args="" -->DTD</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="29b943d4557d3922d520ba034c8276de697bb7c4ff963ec996716075a91bd1bd"></a><!-- doxytag: member="UnKnown" ref="29b943d4557d3922d520ba034c8276de697bb7c4ff963ec996716075a91bd1bd" args="" -->UnKnown</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>
</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="c797a3100cb4fa56eda0c28a24b96ced"></a><!-- doxytag: member="XMLElementDecl::~XMLElementDecl" ref="c797a3100cb4fa56eda0c28a24b96ced" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual XMLElementDecl::~XMLElementDecl </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>
</div>
</div><p>
<a class="anchor" name="18305fabeda161fb2fd095597c32e438"></a><!-- doxytag: member="XMLElementDecl::XMLElementDecl" ref="18305fabeda161fb2fd095597c32e438" args="(MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XMLElementDecl::XMLElementDecl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const &nbsp;</td>
<td class="paramname"> <em>manager</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>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="0eedebcf0a94bae82edb63202056af60"></a><!-- doxytag: member="XMLElementDecl::findAttr" ref="0eedebcf0a94bae82edb63202056af60" args="(const XMLCh *const qName, const unsigned int uriId, const XMLCh *const baseName, const XMLCh *const prefix, const LookupOpts options, bool &amp;wasAdded) const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classXMLAttDef.html">XMLAttDef</a>* XMLElementDecl::findAttr </td>
<td>(</td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>qName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned int&nbsp;</td>
<td class="paramname"> <em>uriId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>baseName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>prefix</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classXMLElementDecl.html#4944e397b4469a1303efb85704491e1d">LookupOpts</a>&nbsp;</td>
<td class="paramname"> <em>options</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool &amp;&nbsp;</td>
<td class="paramname"> <em>wasAdded</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Find an attribute by name or optionally fault it in.
<p>
The derived class should look up the passed attribute in the list of of attributes for this element. If namespaces are enabled, then it should use the uriId/baseName pair, else it should use the qName. The options allow the caller to indicate whether the attribute should be defaulted in if not found. If it is defaulted in, then wasAdded should be set, else it should be cleared. If its not found and the caller does not want defaulting, then return a null pointer. Note that, in a multithreaded environment, it is dangerous for a caller to invoke this method with options set to AddIfNotFound.<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>qName</em>&nbsp;</td><td>This is the qName of the attribute, i.e. the actual lexical name found.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>uriId</em>&nbsp;</td><td>This is the id of the URI of the namespace to which this attribute mapped. Only valid if namespaces are enabled.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>baseName</em>&nbsp;</td><td>This is the base part of the name, i.e. after any prefix.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>prefix</em>&nbsp;</td><td>The prefix, if any, of this attribute's name. If this is empty, then uriID is meaningless as well.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>Indicates the lookup options.</td></tr>
<tr><td valign="top"></td><td valign="top"><em>wasAdded</em>&nbsp;</td><td>Should be set if the attribute is faulted in, else cleared. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="b48919296a6dccd95aa06e698991c080"></a><!-- doxytag: member="XMLElementDecl::getAttDefList" ref="b48919296a6dccd95aa06e698991c080" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classXMLAttDefList.html">XMLAttDefList</a>&amp; XMLElementDecl::getAttDefList </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 a list of attributes defined for this element.
<p>
The derived class should return a reference to some member object which implements the <a class="el" href="classXMLAttDefList.html" title="This class defines an abstract interface that all validators must support.">XMLAttDefList</a> interface. This object gives the scanner the ability to look through the attributes defined for this element.<p>
It is done this way for efficiency, though of course this is not thread safe. The scanner guarantees that it won't ever call this method in any nested way, but the outside world must be careful about when it calls this method, and optimally never would.
</div>
</div><p>
<a class="anchor" name="f43f4f07449e45f5a39cea54749e6f45"></a><!-- doxytag: member="XMLElementDecl::getCharDataOpts" ref="f43f4f07449e45f5a39cea54749e6f45" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classXMLElementDecl.html#44870fe57f7421bc6506b835046ed1b0">CharDataOpts</a> XMLElementDecl::getCharDataOpts </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>
The character data options for this element type.
<p>
The derived class should return an appropriate character data opts value which correctly represents its tolerance towards whitespace or character data inside of its instances. This allows the scanner to do all of the validation of character data.
</div>
</div><p>
<a class="anchor" name="2478e0d7865fdf9c46f885826c583634"></a><!-- doxytag: member="XMLElementDecl::hasAttDefs" ref="2478e0d7865fdf9c46f885826c583634" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool XMLElementDecl::hasAttDefs </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>
Indicate whether this element type defined any attributes.
<p>
The derived class should return a boolean that indicates whether this element has any attributes defined for it or not. This is an optimization that allows the scanner to skip some work if no attributes exist.
</div>
</div><p>
<a class="anchor" name="d771f12ba715ae671ecfb031d31b5c5c"></a><!-- doxytag: member="XMLElementDecl::resetDefs" ref="d771f12ba715ae671ecfb031d31b5c5c" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool XMLElementDecl::resetDefs </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>
Reset the flags on the attribute definitions.
<p>
This method is called by the scanner at the beginning of each scan of a start tag, asking this element decl to reset the 'declared' flag of each of its attribute defs. This allows the scanner to mark each one as declared yet or not.
</div>
</div><p>
<a class="anchor" name="e4e15ae8c4c565e1fecfdc2738ad2519"></a><!-- doxytag: member="XMLElementDecl::getContentSpec" ref="e4e15ae8c4c565e1fecfdc2738ad2519" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual const ContentSpecNode* XMLElementDecl::getContentSpec </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 a pointer to the content spec node.
<p>
This method will return a const pointer to the content spec node object of this element.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A const pointer to the element's content spec node </dd></dl>
</div>
</div><p>
<a class="anchor" name="5d928da25bb27fd26404d859c5d6289a"></a><!-- doxytag: member="XMLElementDecl::getContentSpec" ref="5d928da25bb27fd26404d859c5d6289a" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual ContentSpecNode* XMLElementDecl::getContentSpec </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>
Get a pointer to the content spec node.
<p>
This method is identical to the previous one, except that it is non const.
</div>
</div><p>
<a class="anchor" name="1211a1ac7eafbd17fc80cbeaf9ece031"></a><!-- doxytag: member="XMLElementDecl::setContentSpec" ref="1211a1ac7eafbd17fc80cbeaf9ece031" args="(ContentSpecNode *toAdopt)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void XMLElementDecl::setContentSpec </td>
<td>(</td>
<td class="paramtype">ContentSpecNode *&nbsp;</td>
<td class="paramname"> <em>toAdopt</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set the content spec node object for this element type.
<p>
This method will adopt the based content spec node object. This is called by the actual validator which is parsing its DTD or Schema or whatever and store it on the element decl object via this method.<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>toAdopt</em>&nbsp;</td><td>This method will adopt the passed content node spec object. Any previous object is destroyed. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="8b438615592593409ed52de910b5db2c"></a><!-- doxytag: member="XMLElementDecl::getContentModel" ref="8b438615592593409ed52de910b5db2c" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classXMLContentModel.html">XMLContentModel</a>* XMLElementDecl::getContentModel </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>
Get a pointer to the abstract content model.
<p>
This method will return a const pointer to the content model object of this element. This class is a simple abstraction that allows an element to define and use multiple, specialized content model types internally but still allow the outside world to do simple stuff with them.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the element's content model, via the basic abstract content model type. </dd></dl>
</div>
</div><p>
<a class="anchor" name="894f5fc7fff0d92e25ea2e7a16346266"></a><!-- doxytag: member="XMLElementDecl::setContentModel" ref="894f5fc7fff0d92e25ea2e7a16346266" args="(XMLContentModel *const newModelToAdopt)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void XMLElementDecl::setContentModel </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classXMLContentModel.html">XMLContentModel</a> *const &nbsp;</td>
<td class="paramname"> <em>newModelToAdopt</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set the content model object for this element type.
<p>
This method will adopt the based content model object. This is called by the actual validator which is parsing its DTD or Schema or whatever a creating an element decl. It will build what it feels is the correct content model type object and store it on the element decl object via this method.<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>newModelToAdopt</em>&nbsp;</td><td>This method will adopt the passed content model object. Any previous object is destroyed. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="59e5effbc797fc985d5006181c37a83f"></a><!-- doxytag: member="XMLElementDecl::getFormattedContentModel" ref="59e5effbc797fc985d5006181c37a83f" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual const XMLCh* XMLElementDecl::getFormattedContentModel </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>
Geta formatted string of the content model.
<p>
This method is a convenience method which will create a formatted representation of the content model of the element. It will not always exactly recreate the original model, since some normalization or or reformatting may occur. But, it will be a technically accurate representation of the original content model.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to an internal buffer which contains the formatted content model. The caller does not own this buffer and should copy it if it needs to be kept around. </dd></dl>
</div>
</div><p>
<a class="anchor" name="4b8e71ee50aafabc32c08c4b7024d00c"></a><!-- doxytag: member="XMLElementDecl::getBaseName" ref="4b8e71ee50aafabc32c08c4b7024d00c" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const XMLCh * XMLElementDecl::getBaseName </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the base name of this element type.
<p>
Return the base name part of the element's name. This is the same regardless of whether namespaces are enabled or not.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A const pointer to the base name of the element decl. </dd></dl>
</div>
</div><p>
<a class="anchor" name="8963b2d813cc5386096164147ed7d6e9"></a><!-- doxytag: member="XMLElementDecl::getBaseName" ref="8963b2d813cc5386096164147ed7d6e9" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XMLCh * XMLElementDecl::getBaseName </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="c2d6e48600f45dcaaedd6f278e7d285e"></a><!-- doxytag: member="XMLElementDecl::getURI" ref="c2d6e48600f45dcaaedd6f278e7d285e" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int XMLElementDecl::getURI </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the URI id of this element type.
<p>
Return the URI Id of this element.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The URI Id of the element decl, or the emptyNamespaceId if not applicable. </dd></dl>
</div>
</div><p>
<a class="anchor" name="a8581855ead5baddd945aab819c91ead"></a><!-- doxytag: member="XMLElementDecl::getElementName" ref="a8581855ead5baddd945aab819c91ead" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classQName.html">QName</a> * XMLElementDecl::getElementName </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the <a class="el" href="classQName.html">QName</a> of this element type.
<p>
Return the <a class="el" href="classQName.html">QName</a> part of the element's name. This is the same regardless of whether namespaces are enabled or not.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A const pointer to the <a class="el" href="classQName.html">QName</a> of the element decl. </dd></dl>
</div>
</div><p>
<a class="anchor" name="3f73052c506a1a8066c17c59e7485964"></a><!-- doxytag: member="XMLElementDecl::getElementName" ref="3f73052c506a1a8066c17c59e7485964" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classQName.html">QName</a> * XMLElementDecl::getElementName </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="ab7a3db5fbbe3c7e21956d78fa18ab6d"></a><!-- doxytag: member="XMLElementDecl::getFullName" ref="ab7a3db5fbbe3c7e21956d78fa18ab6d" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const XMLCh * XMLElementDecl::getFullName </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the full name of this element type.
<p>
Return the full name of the element. If namespaces are not enabled, then this is the qName. Else it is the {uri}baseName form. For those validators that always require namespace processing, it will always be in the latter form because namespace processing will always be on.
</div>
</div><p>
<a class="anchor" name="dc24848e8722ceed15af8366900206fd"></a><!-- doxytag: member="XMLElementDecl::getCreateReason" ref="dc24848e8722ceed15af8366900206fd" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classXMLElementDecl.html#1307bfa5455f69a27898614ed168f7aa">XMLElementDecl::CreateReasons</a> XMLElementDecl::getCreateReason </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the create reason for this element type.
<p>
This method returns an enumeration which indicates why this element declaration exists. Elements can be used before they are actually declared, so they will often be faulted into the pool and marked as to why they are there.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>An enumerated value that indicates the reason why this element was added to the element decl pool. </dd></dl>
</div>
</div><p>
<a class="anchor" name="d59c671130bf40c69e53cf624088f0bd"></a><!-- doxytag: member="XMLElementDecl::getId" ref="d59c671130bf40c69e53cf624088f0bd" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int XMLElementDecl::getId </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the element decl pool id for this element type.
<p>
This method will return the element decl pool id of this element declaration. This uniquely identifies this element type within the parse event that it is declared within. This value is assigned by the grammar whose decl pool this object belongs to.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The element decl id of this element declaration. </dd></dl>
</div>
</div><p>
<a class="anchor" name="4276d3d9d678442a55fbe7c23e1a2635"></a><!-- doxytag: member="XMLElementDecl::getDOMTypeInfoUri" ref="4276d3d9d678442a55fbe7c23e1a2635" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual const XMLCh* XMLElementDecl::getDOMTypeInfoUri </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>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the uri part of DOM Level 3 TypeInfo </dd></dl>
<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000014">Deprecated:</a></b></dt><dd></dd></dl>
</div>
</div><p>
<a class="anchor" name="ef1431d209e30c86d0a830d3e04ecf5c"></a><!-- doxytag: member="XMLElementDecl::getDOMTypeInfoName" ref="ef1431d209e30c86d0a830d3e04ecf5c" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual const XMLCh* XMLElementDecl::getDOMTypeInfoName </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>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the name part of DOM Level 3 TypeInfo </dd></dl>
<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000015">Deprecated:</a></b></dt><dd></dd></dl>
</div>
</div><p>
<a class="anchor" name="52c952aa2f0ddbebcbcc8a28dcbade89"></a><!-- doxytag: member="XMLElementDecl::isDeclared" ref="52c952aa2f0ddbebcbcc8a28dcbade89" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool XMLElementDecl::isDeclared </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Indicate whether this element type has been declared yet.
<p>
This method returns a boolean that indicates whether this element has been declared yet. There are a number of reasons why an element declaration can be faulted in, but eventually it must be declared or its an error. See the CreateReasons enumeration.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if this element has been declared, else false. </dd></dl>
</div>
</div><p>
<a class="anchor" name="59f01f2cfbeb9280a5ffcc9baab39177"></a><!-- doxytag: member="XMLElementDecl::isExternal" ref="59f01f2cfbeb9280a5ffcc9baab39177" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool XMLElementDecl::isExternal </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Indicate whether this element type has been declared externally.
<p>
This method returns a boolean that indicates whether this element has been declared externally.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if this element has been declared externally, else false. </dd></dl>
</div>
</div><p>
<a class="anchor" name="7fcea325660b738e0407cde416e5b4f4"></a><!-- doxytag: member="XMLElementDecl::getMemoryManager" ref="7fcea325660b738e0407cde416e5b4f4" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classMemoryManager.html">MemoryManager</a> * XMLElementDecl::getMemoryManager </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get the memory manager.
<p>
This method returns the configurable memory manager used by the element declaration for dynamic allocation/deacllocation.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the memory manager </dd></dl>
</div>
</div><p>
<a class="anchor" name="50602e4437a7d5806853fc18f4e37994"></a><!-- doxytag: member="XMLElementDecl::setElementName" ref="50602e4437a7d5806853fc18f4e37994" args="(const XMLCh *const prefix, const XMLCh *const localPart, const int uriId)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XMLElementDecl::setElementName </td>
<td>(</td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>prefix</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>localPart</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&nbsp;</td>
<td class="paramname"> <em>uriId</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set the element name object for this element type.
<p>
This method will adopt the based content spec node object. This is called by the actual validator which is parsing its DTD or Schema or whatever and store it on the element decl object via this method.<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>prefix</em>&nbsp;</td><td>Prefix of the element </td></tr>
<tr><td valign="top"></td><td valign="top"><em>localPart</em>&nbsp;</td><td>Base Name of the element </td></tr>
<tr><td valign="top"></td><td valign="top"><em>uriId</em>&nbsp;</td><td>The uriId of the element </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="84866197971f93c33ace2417997326b7"></a><!-- doxytag: member="XMLElementDecl::setElementName" ref="84866197971f93c33ace2417997326b7" args="(const XMLCh *const rawName, const int uriId)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XMLElementDecl::setElementName </td>
<td>(</td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>rawName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&nbsp;</td>
<td class="paramname"> <em>uriId</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set the element name object for this element type.
<p>
This method will adopt the based content spec node object. This is called by the actual validator which is parsing its DTD or Schema or whatever and store it on the element decl object via this method.<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>rawName</em>&nbsp;</td><td>Full Name of the element </td></tr>
<tr><td valign="top"></td><td valign="top"><em>uriId</em>&nbsp;</td><td>The uriId of the element </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="716c41e2fccc00bd5a4b336a6089f765"></a><!-- doxytag: member="XMLElementDecl::setElementName" ref="716c41e2fccc00bd5a4b336a6089f765" args="(const QName *const elementName)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XMLElementDecl::setElementName </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classQName.html">QName</a> *const &nbsp;</td>
<td class="paramname"> <em>elementName</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set the element name object for this element type.
<p>
This method will adopt the based content spec node object. This is called by the actual validator which is parsing its DTD or Schema or whatever and store it on the element decl object via this method.<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>elementName</em>&nbsp;</td><td><a class="el" href="classQName.html">QName</a> of the element </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="205865ce4f892e83e273d0febb46fa1c"></a><!-- doxytag: member="XMLElementDecl::setCreateReason" ref="205865ce4f892e83e273d0febb46fa1c" args="(const CreateReasons newReason)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XMLElementDecl::setCreateReason </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classXMLElementDecl.html#1307bfa5455f69a27898614ed168f7aa">CreateReasons</a>&nbsp;</td>
<td class="paramname"> <em>newReason</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Update the create reason for this element type.
<p>
This method will update the 'create reason' field for this element decl object. As the validator parses its DTD, Schema, etc... it will encounter various references to an element declaration, which will cause the element declaration to either be declared or to be faulted into the pool in preperation for some future declaration. As it does so,it will update this field to indicate the current satus of the decl object.
</div>
</div><p>
<a class="anchor" name="393e55ac8c395680b15d894810a19fa2"></a><!-- doxytag: member="XMLElementDecl::setId" ref="393e55ac8c395680b15d894810a19fa2" args="(const unsigned int newId)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XMLElementDecl::setId </td>
<td>(</td>
<td class="paramtype">const unsigned int&nbsp;</td>
<td class="paramname"> <em>newId</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set the element decl pool id for this element type.
<p>
This method will set the pool id of this element decl. This is called by the grammar which created this object, and will provide this decl object with a unique id within the parse event that created it.
</div>
</div><p>
<a class="anchor" name="dd0cdf27f589ab23ea8de1a629b51dd7"></a><!-- doxytag: member="XMLElementDecl::setExternalElemDeclaration" ref="dd0cdf27f589ab23ea8de1a629b51dd7" args="(const bool aValue)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XMLElementDecl::setExternalElemDeclaration </td>
<td>(</td>
<td class="paramtype">const bool&nbsp;</td>
<td class="paramname"> <em>aValue</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Set the element decl to indicate external declaration.
<p>
</div>
</div><p>
<a class="anchor" name="c073a720a71b31b939d49a3ff2b0de29"></a><!-- doxytag: member="XMLElementDecl::getObjectType" ref="c073a720a71b31b939d49a3ff2b0de29" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classXMLElementDecl.html#29b943d4557d3922d520ba034c8276de">XMLElementDecl::objectType</a> XMLElementDecl::getObjectType </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>
</div>
</div><p>
<a class="anchor" name="86dec7ab6f2f2563a5531434c95a9573"></a><!-- doxytag: member="XMLElementDecl::storeElementDecl" ref="86dec7ab6f2f2563a5531434c95a9573" args="(XSerializeEngine &amp;serEng, XMLElementDecl *const element)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void XMLElementDecl::storeElementDecl </td>
<td>(</td>
<td class="paramtype">XSerializeEngine &amp;&nbsp;</td>
<td class="paramname"> <em>serEng</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classXMLElementDecl.html">XMLElementDecl</a> *const &nbsp;</td>
<td class="paramname"> <em>element</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="529240e57fbaddca5de586b51fc4c167"></a><!-- doxytag: member="XMLElementDecl::loadElementDecl" ref="529240e57fbaddca5de586b51fc4c167" args="(XSerializeEngine &amp;serEng)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classXMLElementDecl.html">XMLElementDecl</a>* XMLElementDecl::loadElementDecl </td>
<td>(</td>
<td class="paramtype">XSerializeEngine &amp;&nbsp;</td>
<td class="paramname"> <em>serEng</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="afc21717d7759f3fe357e92707d1870d"></a><!-- doxytag: member="XMLElementDecl::fgInvalidElemId" ref="afc21717d7759f3fe357e92707d1870d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const unsigned int <a class="el" href="classXMLElementDecl.html#afc21717d7759f3fe357e92707d1870d">XMLElementDecl::fgInvalidElemId</a><code> [static]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="79dd4823913a168fb46ffb6b0bfc78ab"></a><!-- doxytag: member="XMLElementDecl::fgPCDataElemId" ref="79dd4823913a168fb46ffb6b0bfc78ab" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const unsigned int <a class="el" href="classXMLElementDecl.html#79dd4823913a168fb46ffb6b0bfc78ab">XMLElementDecl::fgPCDataElemId</a><code> [static]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="a7b8ed177aca128f956132dea880cf6b"></a><!-- doxytag: member="XMLElementDecl::fgPCDataElemName" ref="a7b8ed177aca128f956132dea880cf6b" args="[]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const XMLCh <a class="el" href="classXMLElementDecl.html#a7b8ed177aca128f956132dea880cf6b">XMLElementDecl::fgPCDataElemName</a>[]<code> [static]</code> </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="XMLElementDecl_8hpp-source.html">XMLElementDecl.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>