blob: a345ff3128f86a97fa6d8e41a1cb7e2790c9c498 [file] [log] [blame]
<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>Xerces-C++: XSModel.hpp Source File</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><a href="classes.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
</ul>
</div>
<h1>XSModel.hpp</h1><a href="XSModel_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</span>
<a name="l00003"></a>00003 <span class="comment"> * contributor license agreements. See the NOTICE file distributed with</span>
<a name="l00004"></a>00004 <span class="comment"> * this work for additional information regarding copyright ownership.</span>
<a name="l00005"></a>00005 <span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span>
<a name="l00006"></a>00006 <span class="comment"> * (the "License"); you may not use this file except in compliance with</span>
<a name="l00007"></a>00007 <span class="comment"> * the License. You may obtain a copy of the License at</span>
<a name="l00008"></a>00008 <span class="comment"> * </span>
<a name="l00009"></a>00009 <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00010"></a>00010 <span class="comment"> * </span>
<a name="l00011"></a>00011 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00012"></a>00012 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
<a name="l00013"></a>00013 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00014"></a>00014 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00015"></a>00015 <span class="comment"> * limitations under the License.</span>
<a name="l00016"></a>00016 <span class="comment"> */</span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="comment">/*</span>
<a name="l00019"></a>00019 <span class="comment"> * $Id: XSModel.hpp 568078 2007-08-21 11:43:25Z amassari $</span>
<a name="l00020"></a>00020 <span class="comment"> */</span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="preprocessor">#if !defined(XSMODEL_HPP)</span>
<a name="l00023"></a><a class="code" href="XSModel_8hpp.html#75ec1ab585a458ffe6aab3c46c7ea0d2">00023</a> <span class="preprocessor"></span><span class="preprocessor">#define XSMODEL_HPP</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="PlatformUtils_8hpp.html">xercesc/util/PlatformUtils.hpp</a>&gt;</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="XSObject_8hpp.html">xercesc/framework/psvi/XSObject.hpp</a>&gt;</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="XSNamedMap_8hpp.html">xercesc/framework/psvi/XSNamedMap.hpp</a>&gt;</span>
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;xercesc/util/ValueVectorOf.hpp&gt;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;xercesc/validators/schema/SchemaElementDecl.hpp&gt;</span>
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <a class="code" href="XercesDefs_8hpp.html#43d74fa53d868d978f3e97cbb78b194d">XERCES_CPP_NAMESPACE_BEGIN</a>
<a name="l00033"></a>00033
<a name="l00046"></a>00046 <span class="comment">// forward declarations</span>
<a name="l00047"></a>00047 <span class="keyword">class </span>Grammar;
<a name="l00048"></a>00048 <span class="keyword">class </span><a class="code" href="classXMLGrammarPool.html">XMLGrammarPool</a>;
<a name="l00049"></a>00049 <span class="keyword">class </span><a class="code" href="classXSAnnotation.html">XSAnnotation</a>;
<a name="l00050"></a>00050 <span class="keyword">class </span><a class="code" href="classXSAttributeDeclaration.html">XSAttributeDeclaration</a>;
<a name="l00051"></a>00051 <span class="keyword">class </span><a class="code" href="classXSAttributeGroupDefinition.html">XSAttributeGroupDefinition</a>;
<a name="l00052"></a>00052 <span class="keyword">class </span><a class="code" href="classXSElementDeclaration.html">XSElementDeclaration</a>;
<a name="l00053"></a>00053 <span class="keyword">class </span><a class="code" href="classXSModelGroupDefinition.html">XSModelGroupDefinition</a>;
<a name="l00054"></a>00054 <span class="keyword">class </span><a class="code" href="classXSNamespaceItem.html">XSNamespaceItem</a>;
<a name="l00055"></a>00055 <span class="keyword">class </span><a class="code" href="classXSNotationDeclaration.html">XSNotationDeclaration</a>;
<a name="l00056"></a>00056 <span class="keyword">class </span><a class="code" href="classXSTypeDefinition.html" title="This class represents a complexType or simpleType definition.">XSTypeDefinition</a>;
<a name="l00057"></a>00057 <span class="keyword">class </span>XSObjectFactory;
<a name="l00058"></a>00058
<a name="l00059"></a><a class="code" href="classXSModel.html">00059</a> <span class="keyword">class </span><a class="code" href="XercesDefs_8hpp.html#13df5a01e63e51f62a1467b588b59054"></a> <a class="code" href="classXSModel.html">XSModel</a> : <span class="keyword">public</span> <a class="code" href="classXMemory.html" title="This class makes it possible to override the C++ memory management by adding new/delete...">XMemory</a>
<a name="l00060"></a>00060 {
<a name="l00061"></a>00061 <span class="keyword">public</span>:
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="comment">// Constructors and Destructor</span>
<a name="l00064"></a>00064 <span class="comment">// -----------------------------------------------------------------------</span>
<a name="l00067"></a>00067 <span class="comment"></span>
<a name="l00073"></a>00073 <a class="code" href="classXSModel.html">XSModel</a>( <a class="code" href="classXMLGrammarPool.html">XMLGrammarPool</a> *grammarPool
<a name="l00074"></a>00074 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>);
<a name="l00075"></a>00075
<a name="l00085"></a>00085 <a class="code" href="classXSModel.html">XSModel</a>( <a class="code" href="classXSModel.html">XSModel</a> *baseModel
<a name="l00086"></a>00086 , GrammarResolver *grammarResolver
<a name="l00087"></a>00087 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>);
<a name="l00088"></a>00088
<a name="l00090"></a>00090
<a name="l00093"></a>00093 ~<a class="code" href="classXSModel.html">XSModel</a>();
<a name="l00095"></a>00095
<a name="l00096"></a>00096 <span class="comment">//---------------------</span>
<a name="l00100"></a>00100 <span class="comment"></span>
<a name="l00107"></a>00107 <a class="code" href="XSConstants_8hpp.html#ef973c7ee42adc6b41aa1bf50b8e19aa">StringList</a> *getNamespaces();
<a name="l00108"></a>00108
<a name="l00117"></a>00117 <a class="code" href="XSConstants_8hpp.html#946d1ec676dcfaf4881b68010c3e4a41">XSNamespaceItemList</a> *getNamespaceItems();
<a name="l00118"></a>00118
<a name="l00129"></a>00129 <a class="code" href="classXSNamedMap.html">XSNamedMap&lt;XSObject&gt;</a> *getComponents(<a class="code" href="classXSConstants.html#60daf162650cd8e58f53b85d8b93b99a">XSConstants::COMPONENT_TYPE</a> objectType);
<a name="l00130"></a>00130
<a name="l00143"></a>00143 <a class="code" href="classXSNamedMap.html">XSNamedMap&lt;XSObject&gt;</a> *getComponentsByNamespace(<a class="code" href="classXSConstants.html#60daf162650cd8e58f53b85d8b93b99a">XSConstants::COMPONENT_TYPE</a> objectType,
<a name="l00144"></a>00144 <span class="keyword">const</span> XMLCh *compNamespace);
<a name="l00145"></a>00145
<a name="l00149"></a>00149 <a class="code" href="XSConstants_8hpp.html#d1b2b08f8735f909f69d8dc7dfb301b5">XSAnnotationList</a> *getAnnotations();
<a name="l00150"></a>00150
<a name="l00158"></a>00158 <a class="code" href="classXSElementDeclaration.html">XSElementDeclaration</a> *getElementDeclaration(<span class="keyword">const</span> XMLCh *name
<a name="l00159"></a>00159 , <span class="keyword">const</span> XMLCh *compNamespace);
<a name="l00160"></a>00160
<a name="l00168"></a>00168 <a class="code" href="classXSAttributeDeclaration.html">XSAttributeDeclaration</a> *getAttributeDeclaration(<span class="keyword">const</span> XMLCh *name
<a name="l00169"></a>00169 , <span class="keyword">const</span> XMLCh *compNamespace);
<a name="l00170"></a>00170
<a name="l00179"></a>00179 <a class="code" href="classXSTypeDefinition.html" title="This class represents a complexType or simpleType definition.">XSTypeDefinition</a> *getTypeDefinition(<span class="keyword">const</span> XMLCh *name
<a name="l00180"></a>00180 , <span class="keyword">const</span> XMLCh *compNamespace);
<a name="l00181"></a>00181
<a name="l00189"></a>00189 <a class="code" href="classXSAttributeGroupDefinition.html">XSAttributeGroupDefinition</a> *getAttributeGroup(<span class="keyword">const</span> XMLCh *name
<a name="l00190"></a>00190 , <span class="keyword">const</span> XMLCh *compNamespace);
<a name="l00191"></a>00191
<a name="l00199"></a>00199 <a class="code" href="classXSModelGroupDefinition.html">XSModelGroupDefinition</a> *getModelGroupDefinition(<span class="keyword">const</span> XMLCh *name
<a name="l00200"></a>00200 , <span class="keyword">const</span> XMLCh *compNamespace);
<a name="l00201"></a>00201
<a name="l00209"></a>00209 <a class="code" href="classXSNotationDeclaration.html">XSNotationDeclaration</a> *getNotationDeclaration(<span class="keyword">const</span> XMLCh *name
<a name="l00210"></a>00210 , <span class="keyword">const</span> XMLCh *compNamespace);
<a name="l00211"></a>00211
<a name="l00221"></a>00221 <a class="code" href="classXSObject.html">XSObject</a> *getXSObjectById(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> compId
<a name="l00222"></a>00222 , <a class="code" href="classXSConstants.html#60daf162650cd8e58f53b85d8b93b99a">XSConstants::COMPONENT_TYPE</a> compType);
<a name="l00223"></a>00223
<a name="l00225"></a>00225
<a name="l00226"></a>00226 <span class="comment">//----------------------------------</span>
<a name="l00230"></a>00230 <span class="comment"></span> XMLStringPool* getURIStringPool();
<a name="l00231"></a>00231
<a name="l00232"></a>00232 <a class="code" href="classXSNamespaceItem.html">XSNamespaceItem</a>* getNamespaceItem(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> key);
<a name="l00233"></a>00233
<a name="l00241"></a>00241 <a class="code" href="classXSObject.html">XSObject</a>* getXSObject(<span class="keywordtype">void</span>* key);
<a name="l00242"></a>00242
<a name="l00244"></a>00244 <span class="keyword">private</span>:
<a name="l00245"></a>00245
<a name="l00246"></a>00246 <span class="comment">// -----------------------------------------------------------------------</span>
<a name="l00247"></a>00247 <span class="comment">// Helper methods</span>
<a name="l00248"></a>00248 <span class="comment">// -----------------------------------------------------------------------</span>
<a name="l00249"></a>00249 <span class="keywordtype">void</span> addGrammarToXSModel
<a name="l00250"></a>00250 (
<a name="l00251"></a>00251 <a class="code" href="classXSNamespaceItem.html">XSNamespaceItem</a>* namespaceItem
<a name="l00252"></a>00252 );
<a name="l00253"></a>00253 <span class="keywordtype">void</span> addS4SToXSModel
<a name="l00254"></a>00254 (
<a name="l00255"></a>00255 <a class="code" href="classXSNamespaceItem.html">XSNamespaceItem</a>* <span class="keyword">const</span> namespaceItem
<a name="l00256"></a>00256 , RefHashTableOf&lt;DatatypeValidator&gt;* <span class="keyword">const</span> builtInDV
<a name="l00257"></a>00257 );
<a name="l00258"></a>00258 <span class="keywordtype">void</span> addComponentToNamespace
<a name="l00259"></a>00259 (
<a name="l00260"></a>00260 <a class="code" href="classXSNamespaceItem.html">XSNamespaceItem</a>* <span class="keyword">const</span> namespaceItem
<a name="l00261"></a>00261 , <a class="code" href="classXSObject.html">XSObject</a>* <span class="keyword">const</span> component
<a name="l00262"></a>00262 , <span class="keywordtype">int</span> componentIndex
<a name="l00263"></a>00263 , <span class="keywordtype">bool</span> addToXSModel = <span class="keyword">true</span>
<a name="l00264"></a>00264 );
<a name="l00265"></a>00265
<a name="l00266"></a>00266 <span class="keywordtype">void</span> addComponentToIdVector
<a name="l00267"></a>00267 (
<a name="l00268"></a>00268 <a class="code" href="classXSObject.html">XSObject</a>* <span class="keyword">const</span> component
<a name="l00269"></a>00269 , <span class="keywordtype">int</span> componentIndex
<a name="l00270"></a>00270 );
<a name="l00271"></a>00271
<a name="l00272"></a>00272 <span class="comment">// -----------------------------------------------------------------------</span>
<a name="l00273"></a>00273 <span class="comment">// Unimplemented constructors and operators</span>
<a name="l00274"></a>00274 <span class="comment">// -----------------------------------------------------------------------</span>
<a name="l00275"></a>00275 <a class="code" href="classXSModel.html">XSModel</a>(<span class="keyword">const</span> <a class="code" href="classXSModel.html">XSModel</a>&amp;);
<a name="l00276"></a>00276 <a class="code" href="classXSModel.html">XSModel</a> &amp; operator=(<span class="keyword">const</span> <a class="code" href="classXSModel.html">XSModel</a> &amp;);
<a name="l00277"></a>00277
<a name="l00278"></a>00278 <span class="keyword">protected</span>:
<a name="l00279"></a><a class="code" href="classXSModel.html#19b0b061d2d22217269b8ba1b42eaab5">00279</a> <span class="keyword">friend</span> <span class="keyword">class </span>XSObjectFactory;
<a name="l00280"></a><a class="code" href="classXSModel.html#e4097b507b71933e1a8baa84d7b8e24e">00280</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classXSObject.html">XSObject</a>;
<a name="l00281"></a>00281
<a name="l00282"></a>00282 <span class="comment">// -----------------------------------------------------------------------</span>
<a name="l00283"></a>00283 <span class="comment">// data members</span>
<a name="l00284"></a>00284 <span class="comment">// -----------------------------------------------------------------------</span>
<a name="l00285"></a>00285 <span class="comment">// fMemoryManager:</span>
<a name="l00286"></a>00286 <span class="comment">// used for any memory allocations</span>
<a name="l00287"></a><a class="code" href="classXSModel.html#f1934d8075c22a4ce466e9e95f949f33">00287</a> <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> <a class="code" href="classXSObject.html#ae909af33a4fb6148972cfc3fa7f0b88">fMemoryManager</a>;
<a name="l00288"></a>00288
<a name="l00289"></a><a class="code" href="classXSModel.html#d06423155ed754649536329e07d719a2">00289</a> <a class="code" href="XSConstants_8hpp.html#ef973c7ee42adc6b41aa1bf50b8e19aa">StringList</a>* fNamespaceStringList;
<a name="l00290"></a><a class="code" href="classXSModel.html#7ff4173f52a446338ca3b9590e578010">00290</a> <a class="code" href="XSConstants_8hpp.html#946d1ec676dcfaf4881b68010c3e4a41">XSNamespaceItemList</a>* fXSNamespaceItemList;
<a name="l00291"></a>00291
<a name="l00292"></a><a class="code" href="classXSModel.html#610c98ae331ada2b0dfb5470e2492128">00292</a> RefVectorOf&lt;XSObject&gt;* fIdVector[<a class="code" href="classXSConstants.html#60daf162650cd8e58f53b85d8b93b99a7984774a8db9a3a5fdb4aa811b3ac068" title="The object describes enumeration/pattern facets.">XSConstants::MULTIVALUE_FACET</a>];
<a name="l00293"></a>00293
<a name="l00294"></a>00294 <span class="comment">/* Need a XSNamedMap for each component top-level?</span>
<a name="l00295"></a>00295 <span class="comment"> ATTRIBUTE_DECLARATION = 1, </span>
<a name="l00296"></a>00296 <span class="comment"> ELEMENT_DECLARATION = 2, </span>
<a name="l00297"></a>00297 <span class="comment"> TYPE_DEFINITION = 3, </span>
<a name="l00298"></a>00298 <span class="comment"> ATTRIBUTE_USE = 4, no </span>
<a name="l00299"></a>00299 <span class="comment"> ATTRIBUTE_GROUP_DEFINITION= 5, </span>
<a name="l00300"></a>00300 <span class="comment"> MODEL_GROUP_DEFINITION = 6, </span>
<a name="l00301"></a>00301 <span class="comment"> MODEL_GROUP = 7, no </span>
<a name="l00302"></a>00302 <span class="comment"> PARTICLE = 8, no</span>
<a name="l00303"></a>00303 <span class="comment"> WILDCARD = 9, no</span>
<a name="l00304"></a>00304 <span class="comment"> IDENTITY_CONSTRAINT = 10, no</span>
<a name="l00305"></a>00305 <span class="comment"> NOTATION_DECLARATION = 11, </span>
<a name="l00306"></a>00306 <span class="comment"> ANNOTATION = 12, no </span>
<a name="l00307"></a>00307 <span class="comment"> FACET = 13, no</span>
<a name="l00308"></a>00308 <span class="comment"> MULTIVALUE_FACET = 14 no</span>
<a name="l00309"></a>00309 <span class="comment"> */</span>
<a name="l00310"></a><a class="code" href="classXSModel.html#ace25e485abb79f9a64c0665f96e9cbf">00310</a> <a class="code" href="classXSNamedMap.html">XSNamedMap&lt;XSObject&gt;</a>* fComponentMap[<a class="code" href="classXSConstants.html#60daf162650cd8e58f53b85d8b93b99a7984774a8db9a3a5fdb4aa811b3ac068" title="The object describes enumeration/pattern facets.">XSConstants::MULTIVALUE_FACET</a>];
<a name="l00311"></a><a class="code" href="classXSModel.html#7bcff9cfded6b9c845e34735f06a31c9">00311</a> XMLStringPool* fURIStringPool;
<a name="l00312"></a><a class="code" href="classXSModel.html#4ee431946a5f1d18b768c076a0f74119">00312</a> <a class="code" href="XSConstants_8hpp.html#d1b2b08f8735f909f69d8dc7dfb301b5">XSAnnotationList</a>* fXSAnnotationList;
<a name="l00313"></a><a class="code" href="classXSModel.html#f8536618ab68ed8d37986bcf8494fa14">00313</a> RefHashTableOf&lt;XSNamespaceItem&gt;* fHashNamespace;
<a name="l00314"></a><a class="code" href="classXSModel.html#f65e39f591afc9e9c1f84a05446bdb02">00314</a> XSObjectFactory* fObjFactory;
<a name="l00315"></a><a class="code" href="classXSModel.html#3e113ba9c5609cdcaa34b7eb240494ac">00315</a> RefVectorOf&lt;XSNamespaceItem&gt;* fDeleteNamespace;
<a name="l00316"></a><a class="code" href="classXSModel.html#793a15eff84a32c767b43d3791b60fb9">00316</a> <a class="code" href="classXSModel.html">XSModel</a>* fParent;
<a name="l00317"></a><a class="code" href="classXSModel.html#c0f98f1246811edb865ab5ba0ee125fb">00317</a> <span class="keywordtype">bool</span> fDeleteParent;
<a name="l00318"></a><a class="code" href="classXSModel.html#85b9b687c34717c3b7f1cad3500d5c55">00318</a> <span class="keywordtype">bool</span> fAddedS4SGrammar;
<a name="l00319"></a>00319 };
<a name="l00320"></a>00320
<a name="l00321"></a><a class="code" href="classXSModel.html#d65ba195302a726f2f8aec45184db48b">00321</a> <span class="keyword">inline</span> XMLStringPool* <a class="code" href="classXSModel.html#d65ba195302a726f2f8aec45184db48b" title="methods needed by implementation">XSModel::getURIStringPool</a>()
<a name="l00322"></a>00322 {
<a name="l00323"></a>00323 <span class="keywordflow">return</span> <a class="code" href="classXSModel.html#7bcff9cfded6b9c845e34735f06a31c9">fURIStringPool</a>;
<a name="l00324"></a>00324 }
<a name="l00325"></a>00325
<a name="l00326"></a><a class="code" href="classXSModel.html#810078bfdeac0f58c72e5bb0dafeb6e3">00326</a> <span class="keyword">inline</span> <a class="code" href="XSConstants_8hpp.html#ef973c7ee42adc6b41aa1bf50b8e19aa">StringList</a> *<a class="code" href="classXSModel.html#810078bfdeac0f58c72e5bb0dafeb6e3" title="Convenience method.">XSModel::getNamespaces</a>()
<a name="l00327"></a>00327 {
<a name="l00328"></a>00328 <span class="keywordflow">return</span> <a class="code" href="classXSModel.html#d06423155ed754649536329e07d719a2">fNamespaceStringList</a>;
<a name="l00329"></a>00329 }
<a name="l00330"></a>00330
<a name="l00331"></a><a class="code" href="classXSModel.html#2dd8884638b5c4b2a8403b4f287a05c3">00331</a> <span class="keyword">inline</span> <a class="code" href="XSConstants_8hpp.html#946d1ec676dcfaf4881b68010c3e4a41">XSNamespaceItemList</a> *<a class="code" href="classXSModel.html#2dd8884638b5c4b2a8403b4f287a05c3" title="A set of namespace schema information information items ( of type XSNamespaceItem)...">XSModel::getNamespaceItems</a>()
<a name="l00332"></a>00332 {
<a name="l00333"></a>00333 <span class="keywordflow">return</span> <a class="code" href="classXSModel.html#7ff4173f52a446338ca3b9590e578010">fXSNamespaceItemList</a>;
<a name="l00334"></a>00334 }
<a name="l00335"></a>00335
<a name="l00336"></a>00336 <a class="code" href="XercesDefs_8hpp.html#f03d5cb905763ef7a7bd22ab82718285">XERCES_CPP_NAMESPACE_END</a>
<a name="l00337"></a>00337
<a name="l00338"></a>00338 <span class="preprocessor">#endif</span>
</pre></div> </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>