source: NonGTP/Xerces/xerces/doc/html/apiDocs/XMLElementDecl_8hpp-source.html @ 358

Revision 358, 44.2 KB checked in by bittner, 19 years ago (diff)

xerces added

Line 
1<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>XMLElementDecl.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>
2  <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>
3
4  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
5
6  <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>
7  <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>
8  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
9  <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>
10  <A href="http://xml.apache.org/dist/xerces-c/" onMouseOut="rolloverOff('side-ext-18');" onMouseOver="rolloverOn('side-ext-18');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-18" onLoad="rolloverLoad('side-ext-18','../graphics/ext-18-label-2.jpg','../graphics/ext-18-label-3.jpg');" src="../graphics/ext-18-label-3.jpg" vspace="0" width="120"></A><BR>
11  <A href="../build.html" onMouseOut="rolloverOff('side-build');" onMouseOver="rolloverOn('side-build');"><IMG alt="Build" 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>
12
13  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
14  <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> 
15  <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>
16  <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> 
17
18  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR> 
19  <A href="../ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-68');" onMouseOver="rolloverOn('side-ext-68');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-68" onLoad="rolloverLoad('side-ext-68','../graphics/ext-68-label-2.jpg','../graphics/ext-68-label-3.jpg');" src="../graphics/ext-68-label-3.jpg" vspace="0" width="120"></A><BR>
20
21  <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>
22  <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>
23
24  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
25
26  <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>
27  <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> 
28  <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>
29
30  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
31
32  <A href="http://xml.apache.org/websrc/cvsweb.cgi/xml-xerces/c/" onMouseOut="rolloverOff('side-ext-100');" onMouseOver="rolloverOn('side-ext-100');"><IMG alt="CVS Repository" border="0" height="12" hspace="0" name="side-ext-100" onLoad="rolloverLoad('side-ext-100','../graphics/ext-100-label-2.jpg','../graphics/ext-100-label-3.jpg');" src="../graphics/ext-100-label-3.jpg" vspace="0" width="120"></A><BR>
33
34  <A href="http://marc.theaimsgroup.com/?l=xerces-c-dev" onMouseOut="rolloverOff('side-ext-102');" onMouseOver="rolloverOn('side-ext-102');"><IMG alt="Mail Archive" 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>
35
36
37<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>
38    <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">
39
40            <P>
41<!-- Generated by Doxygen 1.2.14 -->
42<center>
43<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
44<hr><h1>XMLElementDecl.hpp</h1><a href="XMLElementDecl_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>
4500002 <font class="comment"> * Copyright 1999-2001,2004 The Apache Software Foundation.</font>
4600003 <font class="comment"> * </font>
4700004 <font class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</font>
4800005 <font class="comment"> * you may not use this file except in compliance with the License.</font>
4900006 <font class="comment"> * You may obtain a copy of the License at</font>
5000007 <font class="comment"> * </font>
5100008 <font class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</font>
5200009 <font class="comment"> * </font>
5300010 <font class="comment"> * Unless required by applicable law or agreed to in writing, software</font>
5400011 <font class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</font>
5500012 <font class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</font>
5600013 <font class="comment"> * See the License for the specific language governing permissions and</font>
5700014 <font class="comment"> * limitations under the License.</font>
5800015 <font class="comment"> */</font>
5900016
6000017 <font class="comment">/*</font>
6100018 <font class="comment"> * $Log: XMLElementDecl.hpp,v $</font>
6200019 <font class="comment"> * Revision 1.12  2004/09/08 13:55:58  peiyongz</font>
6300020 <font class="comment"> * Apache License Version 2.0</font>
6400021 <font class="comment"> *</font>
6500022 <font class="comment"> * Revision 1.11  2003/12/12 18:34:43  peiyongz</font>
6600023 <font class="comment"> * loadElement/storeElement</font>
6700024 <font class="comment"> *</font>
6800025 <font class="comment"> * Revision 1.10  2003/11/27 06:08:18  neilg</font>
6900026 <font class="comment"> * mark DOMTypeInfo-related methods on XMLElementDecl deprecated since they are not thread-safe</font>
7000027 <font class="comment"> *</font>
7100028 <font class="comment"> * Revision 1.9  2003/11/24 05:19:15  neilg</font>
7200029 <font class="comment"> * update method documentation</font>
7300030 <font class="comment"> *</font>
7400031 <font class="comment"> * Revision 1.8  2003/10/10 16:23:29  peiyongz</font>
7500032 <font class="comment"> * Implementation of Serialization/Deserialization</font>
7600033 <font class="comment"> *</font>
7700034 <font class="comment"> * Revision 1.7  2003/05/16 21:36:55  knoaman</font>
7800035 <font class="comment"> * Memory manager implementation: Modify constructors to pass in the memory manager.</font>
7900036 <font class="comment"> *</font>
8000037 <font class="comment"> * Revision 1.6  2003/05/15 18:26:07  knoaman</font>
8100038 <font class="comment"> * Partial implementation of the configurable memory manager.</font>
8200039 <font class="comment"> *</font>
8300040 <font class="comment"> * Revision 1.5  2003/03/07 18:08:10  tng</font>
8400041 <font class="comment"> * Return a reference instead of void for operator=</font>
8500042 <font class="comment"> *</font>
8600043 <font class="comment"> * Revision 1.4  2003/01/29 19:45:35  gareth</font>
8700044 <font class="comment"> * added api for DOMTypeInfo</font>
8800045 <font class="comment"> *</font>
8900046 <font class="comment"> * Revision 1.3  2002/11/04 15:00:21  tng</font>
9000047 <font class="comment"> * C++ Namespace Support.</font>
9100048 <font class="comment"> *</font>
9200049 <font class="comment"> * Revision 1.2  2002/08/20 16:55:33  tng</font>
9300050 <font class="comment"> * [Bug 6251] Info during compilation.</font>
9400051 <font class="comment"> *</font>
9500052 <font class="comment"> * Revision 1.1.1.1  2002/02/01 22:21:51  peiyongz</font>
9600053 <font class="comment"> * sane_include</font>
9700054 <font class="comment"> *</font>
9800055 <font class="comment"> * Revision 1.18  2001/08/21 16:06:10  tng</font>
9900056 <font class="comment"> * Schema: Unique Particle Attribution Constraint Checking.</font>
10000057 <font class="comment"> *</font>
10100058 <font class="comment"> * Revision 1.17  2001/07/24 18:30:47  knoaman</font>
10200059 <font class="comment"> * Added support for &lt;group&gt; + extra constraint checking for complexType</font>
10300060 <font class="comment"> *</font>
10400061 <font class="comment"> * Revision 1.16  2001/06/21 14:25:28  knoaman</font>
10500062 <font class="comment"> * Fix for bug 1946</font>
10600063 <font class="comment"> *</font>
10700064 <font class="comment"> * Revision 1.15  2001/05/11 13:25:32  tng</font>
10800065 <font class="comment"> * Copyright update.</font>
10900066 <font class="comment"> *</font>
11000067 <font class="comment"> * Revision 1.14  2001/05/03 20:34:22  tng</font>
11100068 <font class="comment"> * Schema: SchemaValidator update</font>
11200069 <font class="comment"> *</font>
11300070 <font class="comment"> * Revision 1.13  2001/04/19 18:16:52  tng</font>
11400071 <font class="comment"> * Schema: SchemaValidator update, and use QName in Content Model</font>
11500072 <font class="comment"> *</font>
11600073 <font class="comment"> * Revision 1.12  2001/03/21 21:56:02  tng</font>
11700074 <font class="comment"> * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.</font>
11800075 <font class="comment"> *</font>
11900076 <font class="comment"> * Revision 1.11  2001/03/21 19:29:29  tng</font>
12000077 <font class="comment"> * Schema: Content Model Updates, by Pei Yong Zhang.</font>
12100078 <font class="comment"> *</font>
12200079 <font class="comment"> * Revision 1.10  2001/02/26 19:29:13  tng</font>
12300080 <font class="comment"> * Schema: add virtual method getURI(), getContentSpec and setContenSpec in XMLElementDecl, and DTDElementDecl.</font>
12400081 <font class="comment"> *</font>
12500082 <font class="comment"> * Revision 1.9  2001/02/26 19:21:30  tng</font>
12600083 <font class="comment"> * Schema: add parameter prefix in findElem and findAttr.</font>
12700084 <font class="comment"> *</font>
12800085 <font class="comment"> * Revision 1.8  2000/12/14 18:49:57  tng</font>
12900086 <font class="comment"> * Fix API document generation warning: "Warning: end of member group without matching begin"</font>
13000087 <font class="comment"> *</font>
13100088 <font class="comment"> * Revision 1.7  2000/11/30 18:22:38  andyh</font>
13200089 <font class="comment"> * reuseValidator - fix bugs (spurious errors) that occured on reuse due to</font>
13300090 <font class="comment"> * pools already containing some items.  Fixed by Tinny Ng.</font>
13400091 <font class="comment"> *</font>
13500092 <font class="comment"> * Revision 1.6  2000/05/11 23:11:32  andyh</font>
13600093 <font class="comment"> * Add missing validity checks for stand-alone documents, character range</font>
13700094 <font class="comment"> * and Well-formed parsed entities.  Changes contributed by Sean MacRoibeaird</font>
13800095 <font class="comment"> * &lt;sean.Macroibeaird@ireland.sun.com&gt;</font>
13900096 <font class="comment"> *</font>
14000097 <font class="comment"> * Revision 1.5  2000/02/24 20:00:23  abagchi</font>
14100098 <font class="comment"> * Swat for removing Log from API docs</font>
14200099 <font class="comment"> *</font>
14300100 <font class="comment"> * Revision 1.4  2000/02/16 19:48:56  roddey</font>
14400101 <font class="comment"> * More documentation updates</font>
14500102 <font class="comment"> *</font>
14600103 <font class="comment"> * Revision 1.3  2000/02/15 01:21:30  roddey</font>
14700104 <font class="comment"> * Some initial documentation improvements. More to come...</font>
14800105 <font class="comment"> *</font>
14900106 <font class="comment"> * Revision 1.2  2000/02/06 07:47:48  rahulj</font>
15000107 <font class="comment"> * Year 2K copyright swat.</font>
15100108 <font class="comment"> *</font>
15200109 <font class="comment"> * Revision 1.1.1.1  1999/11/09 01:08:32  twl</font>
15300110 <font class="comment"> * Initial checkin</font>
15400111 <font class="comment"> *</font>
15500112 <font class="comment"> * Revision 1.2  1999/11/08 20:44:38  rahul</font>
15600113 <font class="comment"> * Swat for adding in Product name and CVS comment log variable.</font>
15700114 <font class="comment"> *</font>
15800115 <font class="comment"> */</font>
15900116
16000117 <font class="preprocessor">#if !defined(XMLELEMENTDECL_HPP)</font>
161<a name="l00118"></a><a class="code" href="XMLElementDecl_8hpp.html#a0">00118</a> <font class="preprocessor"></font><font class="preprocessor">#define XMLELEMENTDECL_HPP</font>
16200119 <font class="preprocessor"></font>
16300120 <font class="preprocessor">#include &lt;<a class="code" href="XMLAttr_8hpp.html">xercesc/framework/XMLAttr.hpp</a>&gt;</font>
16400121 <font class="preprocessor">#include &lt;<a class="code" href="XMLAttDefList_8hpp.html">xercesc/framework/XMLAttDefList.hpp</a>&gt;</font>
16500122 <font class="preprocessor">#include &lt;<a class="code" href="XMLString_8hpp.html">xercesc/util/XMLString.hpp</a>&gt;</font>
16600123 <font class="preprocessor">#include &lt;<a class="code" href="PlatformUtils_8hpp.html">xercesc/util/PlatformUtils.hpp</a>&gt;</font>
16700124 <font class="preprocessor">#include &lt;xercesc/internal/XSerializable.hpp&gt;</font>
16800125
16900126 <a class="code" href="XercesDefs_8hpp.html#a2">XERCES_CPP_NAMESPACE_BEGIN</a>
17000127
171<a name="l00128"></a><a class="code" href="XMLElementDecl_8hpp.html#a1">00128</a> <font class="keyword">class </font><a class="code" href="XMLElementDecl_8hpp.html#a1">ContentSpecNode</a>;
17200129 <font class="keyword">class </font><a class="code" href="classXMLContentModel.html">XMLContentModel</a>;
17300130
174<a name="l00146"></a><a class="code" href="classXMLElementDecl.html">00146</a> <font class="keyword">class </font><a class="code" href="XercesDefs_8hpp.html#a9"></a> <a class="code" href="classXMLElementDecl.html">XMLElementDecl</a> : <font class="keyword">public</font> XSerializable, <font class="keyword">public</font> <a class="code" href="classXMemory.html">XMemory</a>
17500147 {
17600148  <font class="keyword">public</font>:
17700149     <font class="comment">// -----------------------------------------------------------------------</font>
17800150     <font class="comment">//  Class specific types</font>
17900151     <font class="comment">//</font>
18000152     <font class="comment">//  CreateReasons</font>
18100153     <font class="comment">//      This type is used to store how an element declaration got into</font>
18200154     <font class="comment">//      the grammar's element pool. They are faulted in for various</font>
18300155     <font class="comment">//      reasons.</font>
18400156     <font class="comment">//</font>
18500157     <font class="comment">//  LookupOpts</font>
18600158     <font class="comment">//      These are the values used by the attribute lookup methods.</font>
18700159     <font class="comment">//</font>
18800160     <font class="comment">//  CharDataOpts</font>
18900161     <font class="comment">//      This is used to indicate how this type of element reacts to</font>
19000162     <font class="comment">//      character data as content.</font>
19100163     <font class="comment">// -----------------------------------------------------------------------</font>
192<a name="l00164"></a><a class="code" href="classXMLElementDecl.html#s14">00164</a>     <font class="keyword">enum</font> CreateReasons
19300165     {
19400166         NoReason
19500167         , Declared
19600168         , AttList
19700169         , InContentModel
19800170         , AsRootElem
19900171         , JustFaultIn
20000172     };
20100173
202<a name="l00178"></a><a class="code" href="classXMLElementDecl.html#s15">00178</a>     <font class="keyword">enum</font> LookupOpts
20300179     {
20400180         AddIfNotFound
20500181         , FailIfNotFound
20600182     };
20700183
208<a name="l00184"></a><a class="code" href="classXMLElementDecl.html#s16">00184</a>     <font class="keyword">enum</font> CharDataOpts
20900185     {
21000186         NoCharData
21100187         , SpacesOk
21200188         , AllCharData
21300189     };
21400190
21500191
21600192     <font class="comment">// -----------------------------------------------------------------------</font>
21700193     <font class="comment">//  Public static data</font>
21800194     <font class="comment">//</font>
21900195     <font class="comment">//  fgInvalidElemId</font>
22000196     <font class="comment">//      A value to represent an invalid element node id.</font>
22100197     <font class="comment">//</font>
22200198     <font class="comment">//  fgPCDataElemId</font>
22300199     <font class="comment">//      This is the value to use to represent a PCDATA node when an</font>
22400200     <font class="comment">//      element id is required.</font>
22500201     <font class="comment">//</font>
22600202     <font class="comment">//  fgPCDataElemName</font>
22700203     <font class="comment">//      This is the value to use to represent a PCDATA node when an</font>
22800204     <font class="comment">//      element name is required.</font>
22900205     <font class="comment">// -----------------------------------------------------------------------</font>
230<a name="l00206"></a><a class="code" href="classXMLElementDecl.html#p0">00206</a>     <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>   fgInvalidElemId;
231<a name="l00207"></a><a class="code" href="classXMLElementDecl.html#p1">00207</a>     <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>   fgPCDataElemId;
232<a name="l00208"></a><a class="code" href="classXMLElementDecl.html#p2">00208</a>     <font class="keyword">static</font> <font class="keyword">const</font> XMLCh          fgPCDataElemName[];
23300209
23400210
23500211
23600212     <font class="comment">// -----------------------------------------------------------------------</font>
23700213     <font class="comment">//  Destructor</font>
23800214     <font class="comment">// -----------------------------------------------------------------------</font>
23900217 <font class="comment"></font>    <font class="keyword">virtual</font> ~<a class="code" href="classXMLElementDecl.html">XMLElementDecl</a>();
24000219
24100220
24200221     <font class="comment">// -----------------------------------------------------------------------</font>
24300222     <font class="comment">//  The virtual element decl interface</font>
24400223     <font class="comment">// -----------------------------------------------------------------------</font>
24500224
24600227
24700258     <font class="keyword">virtual</font> <a class="code" href="classXMLAttDef.html">XMLAttDef</a>* findAttr
24800259     (
24900260         <font class="keyword">const</font>   XMLCh* <font class="keyword">const</font>    qName
25000261         , <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>    uriId
25100262         , <font class="keyword">const</font> XMLCh* <font class="keyword">const</font>    baseName
25200263         , <font class="keyword">const</font> XMLCh* <font class="keyword">const</font>    prefix
25300264         , <font class="keyword">const</font> LookupOpts      options
25400265         ,       <font class="keywordtype">bool</font>&amp;           wasAdded
25500266     )   <font class="keyword">const</font> = 0;
25600267
25700279     <font class="keyword">virtual</font> <a class="code" href="classXMLAttDefList.html">XMLAttDefList</a>&amp; getAttDefList() <font class="keyword">const</font> = 0;
25800280
25900288     <font class="keyword">virtual</font> CharDataOpts getCharDataOpts() <font class="keyword">const</font> = 0;
26000289
26100296     <font class="keyword">virtual</font> <font class="keywordtype">bool</font> hasAttDefs() <font class="keyword">const</font> = 0;
26200297
26300305     <font class="keyword">virtual</font> <font class="keywordtype">bool</font> resetDefs() = 0;
26400306
26500314     <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="XMLElementDecl_8hpp.html#a1">ContentSpecNode</a>* getContentSpec() <font class="keyword">const</font> = 0;
26600315
26700321     <font class="keyword">virtual</font> <a class="code" href="XMLElementDecl_8hpp.html#a1">ContentSpecNode</a>* getContentSpec() = 0;
26800322
26900332     <font class="keyword">virtual</font> <font class="keywordtype">void</font> setContentSpec(<a class="code" href="XMLElementDecl_8hpp.html#a1">ContentSpecNode</a>* toAdopt) = 0;
27000333
27100345     <font class="keyword">virtual</font> <a class="code" href="classXMLContentModel.html">XMLContentModel</a>* getContentModel() = 0;
27200346
27300358     <font class="keyword">virtual</font> <font class="keywordtype">void</font> setContentModel(<a class="code" href="classXMLContentModel.html">XMLContentModel</a>* <font class="keyword">const</font> newModelToAdopt) = 0;
27400359
27500372     <font class="keyword">virtual</font> <font class="keyword">const</font> XMLCh* getFormattedContentModel ()   <font class="keyword">const</font> = 0;
27600373
27700375
27800376
27900377     <font class="comment">// -----------------------------------------------------------------------</font>
28000378     <font class="comment">//  Getter methods</font>
28100379     <font class="comment">// -----------------------------------------------------------------------</font>
28200380
28300383
28400391     <font class="keyword">const</font> XMLCh* getBaseName() <font class="keyword">const</font>;
28500392     XMLCh* getBaseName();
28600393
28700400     <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> getURI() <font class="keyword">const</font>;
28800401
28900409     <font class="keyword">const</font> <a class="code" href="classQName.html">QName</a>* getElementName() <font class="keyword">const</font>;
29000410     <a class="code" href="classQName.html">QName</a>* getElementName();
29100411
29200420     <font class="keyword">const</font> XMLCh* getFullName() <font class="keyword">const</font>;
29300421
29400433     CreateReasons getCreateReason() <font class="keyword">const</font>;
29500434
29600444     <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> getId() <font class="keyword">const</font>;
29700445
29800446
29900451     <font class="keyword">virtual</font> <font class="keyword">const</font> XMLCh* getDOMTypeInfoUri() <font class="keyword">const</font> = 0;
30000452
30100457     <font class="keyword">virtual</font> <font class="keyword">const</font> XMLCh* getDOMTypeInfoName() <font class="keyword">const</font> = 0;
30200458
30300459
30400469     <font class="keywordtype">bool</font> isDeclared() <font class="keyword">const</font>;
30500470
30600479     <font class="keywordtype">bool</font> isExternal() <font class="keyword">const</font>;
30700480
30800488     <a class="code" href="classMemoryManager.html">MemoryManager</a>* getMemoryManager() <font class="keyword">const</font>;
30900489
31000491
31100492
31200493     <font class="comment">// -----------------------------------------------------------------------</font>
31300494     <font class="comment">//  Setter methods</font>
31400495     <font class="comment">// -----------------------------------------------------------------------</font>
31500496
31600499
31700510       <font class="keywordtype">void</font> setElementName(<font class="keyword">const</font> XMLCh* <font class="keyword">const</font>       prefix
31800511                         , <font class="keyword">const</font> XMLCh* <font class="keyword">const</font>       localPart
31900512                         , <font class="keyword">const</font> <font class="keywordtype">int</font>                uriId );
32000513
32100523       <font class="keywordtype">void</font> setElementName(<font class="keyword">const</font> XMLCh* <font class="keyword">const</font>    rawName
32200524                         , <font class="keyword">const</font> <font class="keywordtype">int</font>             uriId );
32300525
32400534       <font class="keywordtype">void</font> setElementName(<font class="keyword">const</font> <a class="code" href="classQName.html">QName</a>* <font class="keyword">const</font>    elementName);
32500535
32600546     <font class="keywordtype">void</font> setCreateReason(<font class="keyword">const</font> CreateReasons newReason);
32700547
32800554     <font class="keywordtype">void</font> setId(<font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> newId);
32900555
33000556
33100560     <font class="keywordtype">void</font> setExternalElemDeclaration(<font class="keyword">const</font> <font class="keywordtype">bool</font> aValue);
33200561
33300563
33400564
33500565     <font class="comment">// -----------------------------------------------------------------------</font>
33600566     <font class="comment">//  Miscellaneous methods</font>
33700567     <font class="comment">// -----------------------------------------------------------------------</font>
33800568
33900571
34000573
34100574     <font class="comment">/***</font>
34200575 <font class="comment">     * Support for Serialization/De-serialization</font>
34300576 <font class="comment">     ***/</font>
34400577     DECL_XSERIALIZABLE(<a class="code" href="classXMLElementDecl.html">XMLElementDecl</a>)
34500578
346<a name="l00579"></a><a class="code" href="classXMLElementDecl.html#s17">00579</a>     <font class="keyword">enum</font> objectType
34700580     {
34800581         Schema
34900582       , DTD
35000583       , UnKnown
35100584     };
35200585
35300586     <font class="keyword">virtual</font> <a class="code" href="classXMLElementDecl.html#s17">XMLElementDecl::objectType</a>  getObjectType() <font class="keyword">const</font> = 0;
35400587
35500588     <font class="keyword">static</font> <font class="keywordtype">void</font>            storeElementDecl(XSerializeEngine&amp;        serEng
35600589                                           , <a class="code" href="classXMLElementDecl.html">XMLElementDecl</a>*    <font class="keyword">const</font> element);
35700590
35800591     <font class="keyword">static</font> <a class="code" href="classXMLElementDecl.html">XMLElementDecl</a>* loadElementDecl(XSerializeEngine&amp; serEng);
35900592
36000593 <font class="keyword">protected</font> :
36100594     <font class="comment">// -----------------------------------------------------------------------</font>
36200595     <font class="comment">//  Hidden constructors</font>
36300596     <font class="comment">// -----------------------------------------------------------------------</font>
36400597     <a class="code" href="XMLDocumentHandler_8hpp.html#a1">XMLElementDecl</a>(<a class="code" href="classMemoryManager.html">MemoryManager</a>* <font class="keyword">const</font> manager = <a class="code" href="classXMLPlatformUtils.html#z488_4">XMLPlatformUtils::fgMemoryManager</a>);
36500598
36600599 <font class="keyword">private</font> :
36700600     <font class="comment">// -----------------------------------------------------------------------</font>
36800601     <font class="comment">//  Unimplemented constructors and operators</font>
36900602     <font class="comment">// -----------------------------------------------------------------------</font>
37000603     <a class="code" href="XMLDocumentHandler_8hpp.html#a1">XMLElementDecl</a>(<font class="keyword">const</font> <a class="code" href="classXMLElementDecl.html">XMLElementDecl</a>&amp;);
37100604     <a class="code" href="classXMLElementDecl.html">XMLElementDecl</a>&amp; operator=(<font class="keyword">const</font> <a class="code" href="classXMLElementDecl.html">XMLElementDecl</a>&amp;);
37200605
37300606
37400607     <font class="comment">// -----------------------------------------------------------------------</font>
37500608     <font class="comment">//  Data members</font>
37600609     <font class="comment">//</font>
37700610     <font class="comment">//  fElementName</font>
37800611     <font class="comment">//      This is the name of the element decl.</font>
37900612     <font class="comment">//</font>
38000613     <font class="comment">//  fCreateReason</font>
38100614     <font class="comment">//      We sometimes have to put an element decl object into the elem</font>
38200615     <font class="comment">//      decl pool before the element's declaration is seen, such as when</font>
38300616     <font class="comment">//      its used in another element's content model or an att list is</font>
38400617     <font class="comment">//      seen for it. This flag tells us whether its been declared, and</font>
38500618     <font class="comment">//      if not why it had to be created.</font>
38600619     <font class="comment">//</font>
38700620     <font class="comment">//  fId</font>
38800621     <font class="comment">//      The unique id of this element. This is created by the derived</font>
38900622     <font class="comment">//      class, or more accurately the grammar that owns the objects</font>
39000623     <font class="comment">//      of the derived types. But, since they all have to have them, we</font>
39100624     <font class="comment">//      let them all store the id here. It is defaulted to have the</font>
39200625     <font class="comment">//      value fgInvalidElem until explicitly set.</font>
39300626     <font class="comment">//</font>
39400627     <font class="comment">//  fExternalElement</font>
39500628     <font class="comment">//      This flag indicates whether or the element was declared externally.</font>
39600629     <font class="comment">// -----------------------------------------------------------------------</font>
39700630     <a class="code" href="classMemoryManager.html">MemoryManager</a>*      fMemoryManager;
39800631     <a class="code" href="classQName.html">QName</a>*              fElementName;
39900632     CreateReasons       fCreateReason;
40000633     <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>        fId;
40100634     <font class="keywordtype">bool</font>                fExternalElement;
40200635 };
40300636
40400637
40500638 <font class="comment">// ---------------------------------------------------------------------------</font>
40600639 <font class="comment">//  XMLElementDecl: Getter methods</font>
40700640 <font class="comment">// ---------------------------------------------------------------------------</font>
408<a name="l00641"></a><a class="code" href="classXMLElementDecl.html#z264_0">00641</a> <font class="keyword">inline</font> <font class="keyword">const</font> XMLCh* <a class="code" href="classXMLElementDecl.html#z264_0">XMLElementDecl::getBaseName</a>()<font class="keyword"> const</font>
40900642 <font class="keyword"></font>{
41000643     <font class="keywordflow">return</font> fElementName-&gt;<a class="code" href="classQName.html#a7">getLocalPart</a>();
41100644 }
41200645
413<a name="l00646"></a><a class="code" href="classXMLElementDecl.html#z264_1">00646</a> <font class="keyword">inline</font> XMLCh* <a class="code" href="classXMLElementDecl.html#z264_0">XMLElementDecl::getBaseName</a>()
41400647 {
41500648     <font class="keywordflow">return</font> fElementName-&gt;<a class="code" href="classQName.html#a7">getLocalPart</a>();
41600649 }
41700650
418<a name="l00651"></a><a class="code" href="classXMLElementDecl.html#z264_2">00651</a> <font class="keyword">inline</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> <a class="code" href="classXMLElementDecl.html#z264_2">XMLElementDecl::getURI</a>()<font class="keyword"> const</font>
41900652 <font class="keyword"></font>{
42000653     <font class="keywordflow">return</font> fElementName-&gt;<a class="code" href="classQName.html#a9">getURI</a>();
42100654 }
42200655
423<a name="l00656"></a><a class="code" href="classXMLElementDecl.html#z264_3">00656</a> <font class="keyword">inline</font> <font class="keyword">const</font> <a class="code" href="classQName.html">QName</a>* <a class="code" href="classXMLElementDecl.html#z264_3">XMLElementDecl::getElementName</a>()<font class="keyword"> const</font>
42400657 <font class="keyword"></font>{
42500658     <font class="keywordflow">return</font> fElementName;
42600659 }
42700660
428<a name="l00661"></a><a class="code" href="classXMLElementDecl.html#z264_4">00661</a> <font class="keyword">inline</font> <a class="code" href="classQName.html">QName</a>* <a class="code" href="classXMLElementDecl.html#z264_3">XMLElementDecl::getElementName</a>()
42900662 {
43000663     <font class="keywordflow">return</font> fElementName;
43100664 }
43200665
433<a name="l00666"></a><a class="code" href="classXMLElementDecl.html#z264_5">00666</a> <font class="keyword">inline</font> <font class="keyword">const</font> XMLCh* <a class="code" href="classXMLElementDecl.html#z264_5">XMLElementDecl::getFullName</a>()<font class="keyword"> const</font>
43400667 <font class="keyword"></font>{
43500668     <font class="keywordflow">return</font> fElementName-&gt;<a class="code" href="classQName.html#a10">getRawName</a>();
43600669 }
43700670
438<a name="l00671"></a><a class="code" href="classXMLElementDecl.html#z264_6">00671</a> <font class="keyword">inline</font> <a class="code" href="classXMLElementDecl.html#s14">XMLElementDecl::CreateReasons</a> <a class="code" href="classXMLElementDecl.html#z264_6">XMLElementDecl::getCreateReason</a>()<font class="keyword"> const</font>
43900672 <font class="keyword"></font>{
44000673     <font class="keywordflow">return</font> fCreateReason;
44100674 }
44200675
443<a name="l00676"></a><a class="code" href="classXMLElementDecl.html#z264_7">00676</a> <font class="keyword">inline</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> <a class="code" href="classXMLElementDecl.html#z264_7">XMLElementDecl::getId</a>()<font class="keyword"> const</font>
44400677 <font class="keyword"></font>{
44500678     <font class="keywordflow">return</font> fId;
44600679 }
44700680
448<a name="l00681"></a><a class="code" href="classXMLElementDecl.html#z264_10">00681</a> <font class="keyword">inline</font> <font class="keywordtype">bool</font> <a class="code" href="classXMLElementDecl.html#z264_10">XMLElementDecl::isDeclared</a>()<font class="keyword"> const</font>
44900682 <font class="keyword"></font>{
45000683     <font class="keywordflow">return</font> (fCreateReason == <a class="code" href="classXMLElementDecl.html#s14s1">Declared</a>);
45100684 }
45200685
45300686
454<a name="l00687"></a><a class="code" href="classXMLElementDecl.html#z264_11">00687</a> <font class="keyword">inline</font> <font class="keywordtype">bool</font> <a class="code" href="classXMLElementDecl.html#z264_11">XMLElementDecl::isExternal</a>()<font class="keyword"> const</font>
45500688 <font class="keyword"></font>{
45600689     <font class="keywordflow">return</font> fExternalElement;
45700690 }
45800691
459<a name="l00692"></a><a class="code" href="classXMLElementDecl.html#z264_12">00692</a> <font class="keyword">inline</font> <a class="code" href="classMemoryManager.html">MemoryManager</a>* <a class="code" href="classXMLElementDecl.html#z264_12">XMLElementDecl::getMemoryManager</a>()<font class="keyword"> const</font>
46000693 <font class="keyword"></font>{
46100694     <font class="keywordflow">return</font> fMemoryManager;
46200695 }
46300696
46400697
46500698 <font class="comment">// ---------------------------------------------------------------------------</font>
46600699 <font class="comment">//  XMLElementDecl: Setter methods</font>
46700700 <font class="comment">// ---------------------------------------------------------------------------</font>
46800701 <font class="keyword">inline</font> <font class="keywordtype">void</font>
469<a name="l00702"></a><a class="code" href="classXMLElementDecl.html#z265_3">00702</a> <a class="code" href="classXMLElementDecl.html#z265_3">XMLElementDecl::setCreateReason</a>(<font class="keyword">const</font> <a class="code" href="classXMLElementDecl.html#s14">XMLElementDecl::CreateReasons</a> newReason)
47000703 {
47100704     fCreateReason = newReason;
47200705 }
47300706
474<a name="l00707"></a><a class="code" href="classXMLElementDecl.html#z265_4">00707</a> <font class="keyword">inline</font> <font class="keywordtype">void</font> <a class="code" href="classXMLElementDecl.html#z265_4">XMLElementDecl::setId</a>(<font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> newId)
47500708 {
47600709     fId = newId;
47700710 }
47800711
47900712
480<a name="l00713"></a><a class="code" href="classXMLElementDecl.html#z265_5">00713</a> <font class="keyword">inline</font> <font class="keywordtype">void</font> <a class="code" href="classXMLElementDecl.html#z265_5">XMLElementDecl::setExternalElemDeclaration</a>(<font class="keyword">const</font> <font class="keywordtype">bool</font> aValue)
48100714 {
48200715     fExternalElement = aValue;
48300716 }
48400717
48500718 <a class="code" href="XercesDefs_8hpp.html#a3">XERCES_CPP_NAMESPACE_END</a>
48600719
48700720 <font class="preprocessor">#endif</font>
488</pre></div>    </FONT></TD></TR></TABLE><BR>
489</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>
490              Copyright &copy; 1994-2004 The Apache Software Foundation.
491              All Rights Reserved.
492            </I></FONT></TD></TR></TABLE></BODY></HTML>
Note: See TracBrowser for help on using the repository browser.