blob: 213e0994827b566d9f1e6d42aaa739d24609a923 [file] [log] [blame]
<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>Xerces-C++: XSTypeDefinition 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>XSTypeDefinition Class Reference</h1><!-- doxytag: class="XSTypeDefinition" --><!-- doxytag: inherits="XSObject" -->This class represents a complexType or simpleType definition.
<a href="#_details">More...</a>
<p>
<div class="dynheader">
Inheritance diagram for XSTypeDefinition:</div>
<div class="dynsection">
<p><center><img src="classXSTypeDefinition__inherit__graph.png" border="0" usemap="#XSTypeDefinition__inherit__map" alt="Inheritance graph"></center>
<map name="XSTypeDefinition__inherit__map">
<area shape="rect" href="classXSComplexTypeDefinition.html" title="XSComplexTypeDefinition" alt="" coords="5,239,192,265"><area shape="rect" href="classXSSimpleTypeDefinition.html" title="XSSimpleTypeDefinition" alt="" coords="216,239,389,265"><area shape="rect" href="classXSObject.html" title="XSObject" alt="" coords="160,84,240,111"><area shape="rect" href="classXMemory.html" title="This class makes it possible to override the C++ memory management by adding new/delete..." alt="" coords="159,7,241,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<p>
<a href="classXSTypeDefinition-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="classXSTypeDefinition.html#a5133e3e9582a7f5d9d57b64e40d7fda">TYPE_CATEGORY</a> { <a class="el" href="classXSTypeDefinition.html#a5133e3e9582a7f5d9d57b64e40d7fdac8a0baf57f1ca913a94ce6d12a2439da">COMPLEX_TYPE</a> = 15,
<a class="el" href="classXSTypeDefinition.html#a5133e3e9582a7f5d9d57b64e40d7fda1b6eb76bd6c5bb3d73ee729f689c754e">SIMPLE_TYPE</a> = 16
}</td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructors</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#4f56d9f9a0b1747dbe5df826c72e4e19">XSTypeDefinition</a> (<a class="el" href="classXSTypeDefinition.html#a5133e3e9582a7f5d9d57b64e40d7fda">TYPE_CATEGORY</a> typeCategory, <a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a> *const xsBaseType, <a class="el" href="classXSModel.html">XSModel</a> *const xsModel, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The default constructor. <a href="#4f56d9f9a0b1747dbe5df826c72e4e19"></a><br></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="classXSTypeDefinition.html#50e46ad305d6a85eb0c0435563621d79">~XSTypeDefinition</a> ()</td></tr>
<tr><td colspan="2"><div class="groupHeader">overloaded XSObject methods</div></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="classXSTypeDefinition.html#559b76d77511967d133e7859d8ea1294">getName</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name of type <code>NCName</code> of this declaration as defined in XML Namespaces. <a href="#559b76d77511967d133e7859d8ea1294"></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="classXSTypeDefinition.html#7447cf7b677b8b6ce6210fca7b1b91ee">getNamespace</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The [target namespace] of this object, or <code>null</code> if it is unspecified. <a href="#7447cf7b677b8b6ce6210fca7b1b91ee"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classXSNamespaceItem.html">XSNamespaceItem</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#03eda9b3b838672be352a90b4fc6be8e">getNamespaceItem</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A namespace schema information item corresponding to the target namespace of the component, if it's globally declared; or null otherwise. <a href="#03eda9b3b838672be352a90b4fc6be8e"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">XSTypeDefinition methods</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXSTypeDefinition.html#a5133e3e9582a7f5d9d57b64e40d7fda">TYPE_CATEGORY</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#324843fb61a8bbeec0f09d0a874aeed1">getTypeCategory</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return whether this type definition is a simple type or complex type. <a href="#324843fb61a8bbeec0f09d0a874aeed1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#ac9f9ecba9b43ef6c70bec4029082a03">getBaseType</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">{base type definition}: either a simple type definition or a complex type definition. <a href="#ac9f9ecba9b43ef6c70bec4029082a03"></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="classXSTypeDefinition.html#14fe5af6956337416352b43f9a9cec55">isFinal</a> (short toTest)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">{final}. <a href="#14fe5af6956337416352b43f9a9cec55"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#b0c00282184fafcd1b1a2ebd15b5da8d">getFinal</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For complex types the returned value is a bit combination of the subset of {<code>DERIVATION_EXTENSION, DERIVATION_RESTRICTION</code>} corresponding to <code>final</code> set of this type or <code>DERIVATION_NONE</code>. <a href="#b0c00282184fafcd1b1a2ebd15b5da8d"></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="classXSTypeDefinition.html#d10c04658d38dc1cc8a566bc65ab93ab">getAnonymous</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A boolean that specifies if the type definition is anonymous. <a href="#d10c04658d38dc1cc8a566bc65ab93ab"></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="classXSTypeDefinition.html#2b9faf29aad92753f1ef1ed596bbfd7f">derivedFromType</a> (const <a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a> *const ancestorType)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience method: check if this type is derived from the given <code>ancestorType</code>. <a href="#2b9faf29aad92753f1ef1ed596bbfd7f"></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="classXSTypeDefinition.html#f4951dcfcfa3623d9a05d7e16918be5b">derivedFrom</a> (const XMLCh *typeNamespace, const XMLCh *name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience method: check if this type is derived from the given ancestor type. <a href="#f4951dcfcfa3623d9a05d7e16918be5b"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXSTypeDefinition.html#a5133e3e9582a7f5d9d57b64e40d7fda">TYPE_CATEGORY</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#5cd77485c1e0d0b6eda21fc693a3f901">fTypeCategory</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#196fc0cd3f9f7e963a5ae17f7aa39183">fFinal</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#ceaf1e135f4bcd5577063d0f36f93a3d">fBaseType</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class represents a complexType or simpleType definition.
<p>
This is *always* owned by the validator /parser object from which it is obtained. <hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="a5133e3e9582a7f5d9d57b64e40d7fda"></a><!-- doxytag: member="XSTypeDefinition::TYPE_CATEGORY" ref="a5133e3e9582a7f5d9d57b64e40d7fda" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classXSTypeDefinition.html#a5133e3e9582a7f5d9d57b64e40d7fda">XSTypeDefinition::TYPE_CATEGORY</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="a5133e3e9582a7f5d9d57b64e40d7fdac8a0baf57f1ca913a94ce6d12a2439da"></a><!-- doxytag: member="COMPLEX_TYPE" ref="a5133e3e9582a7f5d9d57b64e40d7fdac8a0baf57f1ca913a94ce6d12a2439da" args="" -->COMPLEX_TYPE</em>&nbsp;</td><td>
This constant value signifies a complex type. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a5133e3e9582a7f5d9d57b64e40d7fda1b6eb76bd6c5bb3d73ee729f689c754e"></a><!-- doxytag: member="SIMPLE_TYPE" ref="a5133e3e9582a7f5d9d57b64e40d7fda1b6eb76bd6c5bb3d73ee729f689c754e" args="" -->SIMPLE_TYPE</em>&nbsp;</td><td>
This constant value signifies a simple type. </td></tr>
</table>
</dl>
</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="4f56d9f9a0b1747dbe5df826c72e4e19"></a><!-- doxytag: member="XSTypeDefinition::XSTypeDefinition" ref="4f56d9f9a0b1747dbe5df826c72e4e19" args="(TYPE_CATEGORY typeCategory, XSTypeDefinition *const xsBaseType, XSModel *const xsModel, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XSTypeDefinition::XSTypeDefinition </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classXSTypeDefinition.html#a5133e3e9582a7f5d9d57b64e40d7fda">TYPE_CATEGORY</a>&nbsp;</td>
<td class="paramname"> <em>typeCategory</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a> *const &nbsp;</td>
<td class="paramname"> <em>xsBaseType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classXSModel.html">XSModel</a> *const &nbsp;</td>
<td class="paramname"> <em>xsModel</em>, </td>
</tr>
<tr>
<td class="paramkey"></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;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The default constructor.
<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>typeCategory</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>xsBaseType</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>xsModel</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>manager</em>&nbsp;</td><td>The configurable memory manager </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="50e46ad305d6a85eb0c0435563621d79"></a><!-- doxytag: member="XSTypeDefinition::~XSTypeDefinition" ref="50e46ad305d6a85eb0c0435563621d79" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual XSTypeDefinition::~XSTypeDefinition </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>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="559b76d77511967d133e7859d8ea1294"></a><!-- doxytag: member="XSTypeDefinition::getName" ref="559b76d77511967d133e7859d8ea1294" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual const XMLCh* XSTypeDefinition::getName </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>
The name of type <code>NCName</code> of this declaration as defined in XML Namespaces.
<p>
<p>Reimplemented from <a class="el" href="classXSObject.html#6d4fd599e6486b6bc8dd06cb99759f51">XSObject</a>.</p>
<p>Implemented in <a class="el" href="classXSComplexTypeDefinition.html#766d7899033852a739c857c98d55313d">XSComplexTypeDefinition</a>, and <a class="el" href="classXSSimpleTypeDefinition.html#0ea3da8b94f6d0bcd16eded3d2813da2">XSSimpleTypeDefinition</a>.</p>
</div>
</div><p>
<a class="anchor" name="7447cf7b677b8b6ce6210fca7b1b91ee"></a><!-- doxytag: member="XSTypeDefinition::getNamespace" ref="7447cf7b677b8b6ce6210fca7b1b91ee" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual const XMLCh* XSTypeDefinition::getNamespace </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>
The [target namespace] of this object, or <code>null</code> if it is unspecified.
<p>
<p>Reimplemented from <a class="el" href="classXSObject.html#8826fc266bad97aea3d4f319b188bd0c">XSObject</a>.</p>
<p>Implemented in <a class="el" href="classXSComplexTypeDefinition.html#1ef52639d494120a855c41c8a9110472">XSComplexTypeDefinition</a>, and <a class="el" href="classXSSimpleTypeDefinition.html#24decce7b15daada38ce5aaeeea18370">XSSimpleTypeDefinition</a>.</p>
</div>
</div><p>
<a class="anchor" name="03eda9b3b838672be352a90b4fc6be8e"></a><!-- doxytag: member="XSTypeDefinition::getNamespaceItem" ref="03eda9b3b838672be352a90b4fc6be8e" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classXSNamespaceItem.html">XSNamespaceItem</a>* XSTypeDefinition::getNamespaceItem </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>
A namespace schema information item corresponding to the target namespace of the component, if it's globally declared; or null otherwise.
<p>
<p>Reimplemented from <a class="el" href="classXSObject.html#f118c3c00b4df60399b070661aa3591f">XSObject</a>.</p>
<p>Implemented in <a class="el" href="classXSComplexTypeDefinition.html#87f4bdc3ac76f1bb676d6800bd2f8ce9">XSComplexTypeDefinition</a>, and <a class="el" href="classXSSimpleTypeDefinition.html#348ce897d2516380e4696435479cb34c">XSSimpleTypeDefinition</a>.</p>
</div>
</div><p>
<a class="anchor" name="324843fb61a8bbeec0f09d0a874aeed1"></a><!-- doxytag: member="XSTypeDefinition::getTypeCategory" ref="324843fb61a8bbeec0f09d0a874aeed1" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classXSTypeDefinition.html#a5133e3e9582a7f5d9d57b64e40d7fda">XSTypeDefinition::TYPE_CATEGORY</a> XSTypeDefinition::getTypeCategory </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return whether this type definition is a simple type or complex type.
<p>
</div>
</div><p>
<a class="anchor" name="ac9f9ecba9b43ef6c70bec4029082a03"></a><!-- doxytag: member="XSTypeDefinition::getBaseType" ref="ac9f9ecba9b43ef6c70bec4029082a03" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a>* XSTypeDefinition::getBaseType </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>
{base type definition}: either a simple type definition or a complex type definition.
<p>
<p>Implemented in <a class="el" href="classXSComplexTypeDefinition.html#48c4a1c2d9080795761412a2dbf7a625">XSComplexTypeDefinition</a>, and <a class="el" href="classXSSimpleTypeDefinition.html#a50dc3b532516ec7e26b29b1a19e97f3">XSSimpleTypeDefinition</a>.</p>
</div>
</div><p>
<a class="anchor" name="14fe5af6956337416352b43f9a9cec55"></a><!-- doxytag: member="XSTypeDefinition::isFinal" ref="14fe5af6956337416352b43f9a9cec55" args="(short toTest)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool XSTypeDefinition::isFinal </td>
<td>(</td>
<td class="paramtype">short&nbsp;</td>
<td class="paramname"> <em>toTest</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
{final}.
<p>
For complex type definition it is a subset of {extension, restriction}. For simple type definition it is a subset of {extension, list, restriction, union}. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>toTest</em>&nbsp;</td><td>Extension, restriction, list, union constants (defined in <code><a class="el" href="classXSObject.html">XSObject</a></code>). </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if toTest is in the final set, otherwise false. </dd></dl>
</div>
</div><p>
<a class="anchor" name="b0c00282184fafcd1b1a2ebd15b5da8d"></a><!-- doxytag: member="XSTypeDefinition::getFinal" ref="b0c00282184fafcd1b1a2ebd15b5da8d" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">short XSTypeDefinition::getFinal </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
For complex types the returned value is a bit combination of the subset of {<code>DERIVATION_EXTENSION, DERIVATION_RESTRICTION</code>} corresponding to <code>final</code> set of this type or <code>DERIVATION_NONE</code>.
<p>
For simple types the returned value is a bit combination of the subset of { <code>DERIVATION_RESTRICTION, DERIVATION_EXTENSION, DERIVATION_UNION, DERIVATION_LIST</code> } corresponding to <code>final</code> set of this type or <code>DERIVATION_NONE</code>.
</div>
</div><p>
<a class="anchor" name="d10c04658d38dc1cc8a566bc65ab93ab"></a><!-- doxytag: member="XSTypeDefinition::getAnonymous" ref="d10c04658d38dc1cc8a566bc65ab93ab" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool XSTypeDefinition::getAnonymous </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>
A boolean that specifies if the type definition is anonymous.
<p>
Convenience attribute.
<p>Implemented in <a class="el" href="classXSComplexTypeDefinition.html#8a6daa50999eb4f5115117304eb08bcb">XSComplexTypeDefinition</a>, and <a class="el" href="classXSSimpleTypeDefinition.html#ef7cabfa92c06f5050e135347a54ad7b">XSSimpleTypeDefinition</a>.</p>
</div>
</div><p>
<a class="anchor" name="2b9faf29aad92753f1ef1ed596bbfd7f"></a><!-- doxytag: member="XSTypeDefinition::derivedFromType" ref="2b9faf29aad92753f1ef1ed596bbfd7f" args="(const XSTypeDefinition *const ancestorType)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool XSTypeDefinition::derivedFromType </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a> *const &nbsp;</td>
<td class="paramname"> <em>ancestorType</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Convenience method: check if this type is derived from the given <code>ancestorType</code>.
<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>ancestorType</em>&nbsp;</td><td>An ancestor type definition. </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return true if this type is derived from <code>ancestorType</code>. </dd></dl>
<p>Implemented in <a class="el" href="classXSComplexTypeDefinition.html#35c034baec55378991539022040cce97">XSComplexTypeDefinition</a>, and <a class="el" href="classXSSimpleTypeDefinition.html#a2d7f3e6c21f85d747ed657c60a66dd6">XSSimpleTypeDefinition</a>.</p>
</div>
</div><p>
<a class="anchor" name="f4951dcfcfa3623d9a05d7e16918be5b"></a><!-- doxytag: member="XSTypeDefinition::derivedFrom" ref="f4951dcfcfa3623d9a05d7e16918be5b" args="(const XMLCh *typeNamespace, const XMLCh *name)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool XSTypeDefinition::derivedFrom </td>
<td>(</td>
<td class="paramtype">const XMLCh *&nbsp;</td>
<td class="paramname"> <em>typeNamespace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const XMLCh *&nbsp;</td>
<td class="paramname"> <em>name</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>
Convenience method: check if this type is derived from the given ancestor type.
<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>typeNamespace</em>&nbsp;</td><td>An ancestor type namespace. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>An ancestor type name. </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return true if this type is derived from the ancestor defined by <code>typeNamespace</code> and <code>name</code>. </dd></dl>
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="5cd77485c1e0d0b6eda21fc693a3f901"></a><!-- doxytag: member="XSTypeDefinition::fTypeCategory" ref="5cd77485c1e0d0b6eda21fc693a3f901" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classXSTypeDefinition.html#a5133e3e9582a7f5d9d57b64e40d7fda">TYPE_CATEGORY</a> <a class="el" href="classXSTypeDefinition.html#5cd77485c1e0d0b6eda21fc693a3f901">XSTypeDefinition::fTypeCategory</a><code> [protected]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="196fc0cd3f9f7e963a5ae17f7aa39183"></a><!-- doxytag: member="XSTypeDefinition::fFinal" ref="196fc0cd3f9f7e963a5ae17f7aa39183" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">short <a class="el" href="classXSTypeDefinition.html#196fc0cd3f9f7e963a5ae17f7aa39183">XSTypeDefinition::fFinal</a><code> [protected]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="ceaf1e135f4bcd5577063d0f36f93a3d"></a><!-- doxytag: member="XSTypeDefinition::fBaseType" ref="ceaf1e135f4bcd5577063d0f36f93a3d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a>* <a class="el" href="classXSTypeDefinition.html#ceaf1e135f4bcd5577063d0f36f93a3d">XSTypeDefinition::fBaseType</a><code> [protected]</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="XSTypeDefinition_8hpp-source.html">XSTypeDefinition.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>