<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://xml.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="../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> <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="../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> <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR> <A href="../ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-70');" onMouseOver="rolloverOn('side-ext-70');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-70" onLoad="rolloverLoad('side-ext-70','../graphics/ext-70-label-2.jpg','../graphics/ext-70-label-3.jpg');" src="../graphics/ext-70-label-3.jpg" vspace="0" width="120"></A><BR> <IMG alt="Programming" border="0" height="12" hspace="0" src="../graphics/program-label-1.jpg" vspace="0" width="120"><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="../pdf.html" onMouseOut="rolloverOff('side-pdf');" onMouseOver="rolloverOn('side-pdf');"><IMG alt="PDF Document" border="0" height="12" hspace="0" name="side-pdf" onLoad="rolloverLoad('side-pdf','../graphics/pdf-label-2.jpg','../graphics/pdf-label-3.jpg');" src="../graphics/pdf-label-3.jpg" vspace="0" width="120"></A><BR> <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR> <A href="http://svn.apache.org/viewcvs.cgi/xerces/?root=Apache-SVN" onMouseOut="rolloverOff('side-ext-102');" onMouseOver="rolloverOn('side-ext-102');"><IMG alt="Source Repository" border="0" height="12" hspace="0" name="side-ext-102" onLoad="rolloverLoad('side-ext-102','../graphics/ext-102-label-2.jpg','../graphics/ext-102-label-3.jpg');" src="../graphics/ext-102-label-3.jpg" vspace="0" width="120"></A><BR> <A href="http://marc.theaimsgroup.com/?l=xerces-c-users" onMouseOut="rolloverOff('side-ext-104');" onMouseOver="rolloverOn('side-ext-104');"><IMG alt="User Mail Archive" border="0" height="12" hspace="0" name="side-ext-104" onLoad="rolloverLoad('side-ext-104','../graphics/ext-104-label-2.jpg','../graphics/ext-104-label-3.jpg');" src="../graphics/ext-104-label-3.jpg" vspace="0" width="120"></A><BR> <A href="http://marc.theaimsgroup.com/?l=xerces-c-dev" onMouseOut="rolloverOff('side-ext-106');" onMouseOver="rolloverOn('side-ext-106');"><IMG alt="Devel Mail Archive" border="0" height="12" hspace="0" name="side-ext-106" onLoad="rolloverLoad('side-ext-106','../graphics/ext-106-label-2.jpg','../graphics/ext-106-label-3.jpg');" src="../graphics/ext-106-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"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"> <P> <!-- Generated by Doxygen 1.4.1 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <h1>XSTypeDefinition Class Reference</h1>This class represents a complexType or simpleType definition. <a href="#_details">More...</a> <p> Inheritance diagram for XSTypeDefinition:<p><center><img src="classXSTypeDefinition__inherit__graph.png" border="0" usemap="#XSTypeDefinition__inherit__map" alt="Inheritance graph"></center> <map name="XSTypeDefinition__inherit__map"> <area href="classXSComplexTypeDefinition.html" shape="rect" coords="8,233,192,257" alt=""> <area href="classXSSimpleTypeDefinition.html" shape="rect" coords="216,233,386,257" alt=""> <area href="classXSObject.html" shape="rect" coords="158,83,241,107" alt=""> <area href="classXMemory.html" shape="rect" coords="158,9,241,33" alt=""> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#w2">TYPE_CATEGORY</a> { <a class="el" href="classXSTypeDefinition.html#w2w0">COMPLEX_TYPE</a> = 15, <a class="el" href="classXSTypeDefinition.html#w2w1">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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#z779_0">XSTypeDefinition</a> (<a class="el" href="classXSTypeDefinition.html#w2">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#z941_4">XMLPlatformUtils::fgMemoryManager</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The default constructor. <a href="#z779_0"></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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#z781_0">~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 * </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#z783_0">getName</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The name of type <code>NCName</code> of this declaration as defined in XML Namespaces. <a href="#z783_0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const XMLCh * </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#z783_1">getNamespace</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The [target namespace] of this object, or <code>null</code> if it is unspecified. <a href="#z783_1"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classXSNamespaceItem.html">XSNamespaceItem</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#z783_2">getNamespaceItem</a> ()=0</td></tr> <tr><td class="mdescLeft"> </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="#z783_2"></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#w2">TYPE_CATEGORY</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#z785_0">getTypeCategory</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return whether this type definition is a simple type or complex type. <a href="#z785_0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#z785_1">getBaseType</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">{base type definition}: either a simple type definition or a complex type definition. <a href="#z785_1"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#z785_2">isFinal</a> (short toTest)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">{final}. <a href="#z785_2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">short </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#z785_3">getFinal</a> () const </td></tr> <tr><td class="mdescLeft"> </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="#z785_3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#z785_4">getAnonymous</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A boolean that specifies if the type definition is anonymous. <a href="#z785_4"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#z785_5">derivedFromType</a> (const <a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a> *const ancestorType)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience method: check if this type is derived from the given <code>ancestorType</code>. <a href="#z785_5"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#z785_6">derivedFrom</a> (const XMLCh *typeNamespace, const XMLCh *name)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience method: check if this type is derived from the given ancestor type. <a href="#z785_6"></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#w2">TYPE_CATEGORY</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#p0">fTypeCategory</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">short </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#p1">fFinal</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classXSTypeDefinition.html#p2">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. <p> <hr><h2>Member Enumeration Documentation</h2> <a class="anchor" name="w2" doxytag="XSTypeDefinition::TYPE_CATEGORY"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">enum <a class="el" href="classXSTypeDefinition.html#w2">XSTypeDefinition::TYPE_CATEGORY</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> <dl compact><dt><b>Enumeration values: </b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" name="w2w0" doxytag="COMPLEX_TYPE"></a>COMPLEX_TYPE</em> </td><td> This constant value signifies a complex type. </td></tr> <tr><td valign="top"><em><a class="anchor" name="w2w1" doxytag="SIMPLE_TYPE"></a>SIMPLE_TYPE</em> </td><td> This constant value signifies a simple type. <p> </td></tr> </table> </dl> </td> </tr> </table> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="z779_0" doxytag="XSTypeDefinition::XSTypeDefinition"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">XSTypeDefinition::XSTypeDefinition </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classXSTypeDefinition.html#w2">TYPE_CATEGORY</a> </td> <td class="mdname" nowrap> <em>typeCategory</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a> *const </td> <td class="mdname" nowrap> <em>xsBaseType</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="classXSModel.html">XSModel</a> *const </td> <td class="mdname" nowrap> <em>xsModel</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="classMemoryManager.html">MemoryManager</a> *const </td> <td class="mdname" nowrap> <em>manager</em> = <code><a class="el" href="classXMLPlatformUtils.html#z941_4">XMLPlatformUtils::fgMemoryManager</a></code></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>xsBaseType</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>xsModel</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>manager</em> </td><td>The configurable memory manager </td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="z781_0" doxytag="XSTypeDefinition::~XSTypeDefinition"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">virtual XSTypeDefinition::~<a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a> </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="z785_6" doxytag="XSTypeDefinition::derivedFrom"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">bool XSTypeDefinition::derivedFrom </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const XMLCh * </td> <td class="mdname" nowrap> <em>typeNamespace</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>const XMLCh * </td> <td class="mdname" nowrap> <em>name</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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> </td><td>An ancestor type namespace. </td></tr> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>An ancestor type name. </td></tr> </table> </dl> <dl 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> </td> </tr> </table> <a class="anchor" name="z785_5" doxytag="XSTypeDefinition::derivedFromType"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">virtual bool XSTypeDefinition::derivedFromType </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a> *const </td> <td class="mdname1" valign="top" nowrap> <em>ancestorType</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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> </td><td>An ancestor type definition. </td></tr> </table> </dl> <dl 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#z677_15">XSComplexTypeDefinition</a>, and <a class="el" href="classXSSimpleTypeDefinition.html#z776_23">XSSimpleTypeDefinition</a>. </td> </tr> </table> <a class="anchor" name="z785_4" doxytag="XSTypeDefinition::getAnonymous"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">virtual bool XSTypeDefinition::getAnonymous </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const<code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> A boolean that specifies if the type definition is anonymous. <p> Convenience attribute. <p> Implemented in <a class="el" href="classXSComplexTypeDefinition.html#z677_13">XSComplexTypeDefinition</a>, and <a class="el" href="classXSSimpleTypeDefinition.html#z776_21">XSSimpleTypeDefinition</a>. </td> </tr> </table> <a class="anchor" name="z785_1" doxytag="XSTypeDefinition::getBaseType"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">virtual <a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a>* XSTypeDefinition::getBaseType </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> {base type definition}: either a simple type definition or a complex type definition. <p> <p> Implemented in <a class="el" href="classXSComplexTypeDefinition.html#z677_14">XSComplexTypeDefinition</a>, and <a class="el" href="classXSSimpleTypeDefinition.html#z776_22">XSSimpleTypeDefinition</a>. </td> </tr> </table> <a class="anchor" name="z785_3" doxytag="XSTypeDefinition::getFinal"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">short XSTypeDefinition::getFinal </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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>. </td> </tr> </table> <a class="anchor" name="z783_0" doxytag="XSTypeDefinition::getName"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">virtual const XMLCh* XSTypeDefinition::getName </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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#z762_1">XSObject</a>. <p> Implemented in <a class="el" href="classXSComplexTypeDefinition.html#z677_10">XSComplexTypeDefinition</a>, and <a class="el" href="classXSSimpleTypeDefinition.html#z776_18">XSSimpleTypeDefinition</a>. </td> </tr> </table> <a class="anchor" name="z783_1" doxytag="XSTypeDefinition::getNamespace"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">virtual const XMLCh* XSTypeDefinition::getNamespace </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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#z762_2">XSObject</a>. <p> Implemented in <a class="el" href="classXSComplexTypeDefinition.html#z677_11">XSComplexTypeDefinition</a>, and <a class="el" href="classXSSimpleTypeDefinition.html#z776_19">XSSimpleTypeDefinition</a>. </td> </tr> </table> <a class="anchor" name="z783_2" doxytag="XSTypeDefinition::getNamespaceItem"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">virtual <a class="el" href="classXSNamespaceItem.html">XSNamespaceItem</a>* XSTypeDefinition::getNamespaceItem </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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#z762_3">XSObject</a>. <p> Implemented in <a class="el" href="classXSComplexTypeDefinition.html#z677_12">XSComplexTypeDefinition</a>, and <a class="el" href="classXSSimpleTypeDefinition.html#z776_20">XSSimpleTypeDefinition</a>. </td> </tr> </table> <a class="anchor" name="z785_0" doxytag="XSTypeDefinition::getTypeCategory"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="classXSTypeDefinition.html#w2">XSTypeDefinition::TYPE_CATEGORY</a> XSTypeDefinition::getTypeCategory </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Return whether this type definition is a simple type or complex type. <p> </td> </tr> </table> <a class="anchor" name="z785_2" doxytag="XSTypeDefinition::isFinal"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">bool XSTypeDefinition::isFinal </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">short </td> <td class="mdname1" valign="top" nowrap> <em>toTest</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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> </td><td>Extension, restriction, list, union constants (defined in <code><a class="el" href="classXSObject.html">XSObject</a></code>). </td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>True if toTest is in the final set, otherwise false. </dd></dl> </td> </tr> </table> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="p2" doxytag="XSTypeDefinition::fBaseType"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="classXSTypeDefinition.html">XSTypeDefinition</a>* <a class="el" href="classXSTypeDefinition.html#p2">XSTypeDefinition::fBaseType</a><code> [protected]</code> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> </td> </tr> </table> <a class="anchor" name="p1" doxytag="XSTypeDefinition::fFinal"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">short <a class="el" href="classXSTypeDefinition.html#p1">XSTypeDefinition::fFinal</a><code> [protected]</code> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> </td> </tr> </table> <a class="anchor" name="p0" doxytag="XSTypeDefinition::fTypeCategory"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="classXSTypeDefinition.html#w2">TYPE_CATEGORY</a> <a class="el" href="classXSTypeDefinition.html#p0">XSTypeDefinition::fTypeCategory</a><code> [protected]</code> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> </td> </tr> </table> <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 © 1994-2004 The Apache Software Foundation. All Rights Reserved. </I></FONT></TD></TR></TABLE></BODY></HTML>