Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > ee493823148ed6fb895c827f4e36eb1c > files > 751

xerces-c-doc-2.7.0-7mdv2008.1.x86_64.rpm

<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>Xerces-C++: XMLAttr.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://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">&nbsp;</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&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<div class="nav">
<a class="el" href="dir_000000.html">src</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">xercesc</a>&nbsp;/&nbsp;<a class="el" href="dir_000006.html">framework</a></div>
<h1>XMLAttr.hpp</h1><a href="XMLAttr_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/*</span>
00002 <span class="comment"> * Copyright 1999-2004 The Apache Software Foundation.</span>
00003 <span class="comment"> * </span>
00004 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
00005 <span class="comment"> * you may not use this file except in compliance with the License.</span>
00006 <span class="comment"> * You may obtain a copy of the License at</span>
00007 <span class="comment"> * </span>
00008 <span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span>
00009 <span class="comment"> * </span>
00010 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
00011 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
00012 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
00013 <span class="comment"> * See the License for the specific language governing permissions and</span>
00014 <span class="comment"> * limitations under the License.</span>
00015 <span class="comment"> */</span>
00016 
00017 <span class="comment">/*</span>
00018 <span class="comment"> * $Id: XMLAttr.hpp 191054 2005-06-17 02:56:35Z jberry $</span>
00019 <span class="comment"> */</span>
00020 
00021 <span class="preprocessor">#if !defined(XMLATTR_HPP)</span>
<a name="l00022"></a><a class="code" href="XMLAttr_8hpp.html#a0">00022</a> <span class="preprocessor"></span><span class="preprocessor">#define XMLATTR_HPP</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include &lt;<a class="code" href="PlatformUtils_8hpp.html">xercesc/util/PlatformUtils.hpp</a>&gt;</span>
00025 <span class="preprocessor">#include &lt;<a class="code" href="QName_8hpp.html">xercesc/util/QName.hpp</a>&gt;</span>
00026 <span class="preprocessor">#include &lt;<a class="code" href="XMLAttDef_8hpp.html">xercesc/framework/XMLAttDef.hpp</a>&gt;</span>
00027 <span class="preprocessor">#include &lt;xercesc/validators/datatype/DatatypeValidator.hpp&gt;</span>
00028 
00029 <a class="code" href="XercesDefs_8hpp.html#a3">XERCES_CPP_NAMESPACE_BEGIN</a>
00030 
<a name="l00052"></a><a class="code" href="classXMLAttr.html">00052</a> <span class="keyword">class </span><a class="code" href="XercesDefs_8hpp.html#a10"></a> XMLAttr : <span class="keyword">public</span> <a class="code" href="classXMemory.html">XMemory</a>
00053 {
00054 <span class="keyword">public</span>:
00055     <span class="comment">// -----------------------------------------------------------------------</span>
00056     <span class="comment">//  Constructors and Destructor</span>
00057     <span class="comment">// -----------------------------------------------------------------------</span>
00060 <span class="comment"></span>
00068     XMLAttr(<a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = XMLPlatformUtils::fgMemoryManager);
00069 
00102     XMLAttr
00103     (
00104           <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>        uriId
00105         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrName
00106         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrPrefix
00107         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrValue
00108         , <span class="keyword">const</span> XMLAttDef::AttTypes type = XMLAttDef::CData
00109         , <span class="keyword">const</span> <span class="keywordtype">bool</span>                specified = <span class="keyword">true</span>
00110         , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span>      manager = XMLPlatformUtils::fgMemoryManager
00111         , DatatypeValidator * datatypeValidator = 0
00112         , <span class="keyword">const</span> <span class="keywordtype">bool</span> isSchema = <span class="keyword">false</span>
00113     );
00114 
00143     XMLAttr
00144     (
00145         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uriId
00146         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> rawName
00147         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> attrValue
00148         , <span class="keyword">const</span> XMLAttDef::AttTypes type = XMLAttDef::CData
00149         , <span class="keyword">const</span> <span class="keywordtype">bool</span> specified = <span class="keyword">true</span>
00150         , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = XMLPlatformUtils::fgMemoryManager
00151         , DatatypeValidator * datatypeValidator = 0
00152         , <span class="keyword">const</span> <span class="keywordtype">bool</span> isSchema = <span class="keyword">false</span>
00153     );
00154 
00156 
00159     ~XMLAttr();
00161 
00162 
00163     <span class="comment">// -----------------------------------------------------------------------</span>
00164     <span class="comment">//  Getter methods</span>
00165     <span class="comment">// -----------------------------------------------------------------------</span>
00166 
00169 
00173     <a class="code" href="classQName.html">QName</a>* getAttName() <span class="keyword">const</span>;
00174 
00179     <span class="keyword">const</span> XMLCh* getName() <span class="keyword">const</span>;
00180 
00185     <span class="keyword">const</span> XMLCh* getPrefix() <span class="keyword">const</span>;
00186 
00192     <span class="keyword">const</span> XMLCh* getQName() <span class="keyword">const</span>;
00193 
00198     <span class="keywordtype">bool</span> getSpecified() <span class="keyword">const</span>;
00199 
00204     XMLAttDef::AttTypes getType() <span class="keyword">const</span>;
00205 
00211     <span class="keyword">const</span> XMLCh* getValue() <span class="keyword">const</span>;
00212 
00217     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> getURIId() <span class="keyword">const</span>;
00218 
00223     <span class="keyword">const</span> XMLCh* getValidatingTypeURI() <span class="keyword">const</span>;
00224 
00229     <span class="keyword">const</span> XMLCh* getValidatingTypeName() <span class="keyword">const</span>;
00230 
00232 
00233 
00234     <span class="comment">// -----------------------------------------------------------------------</span>
00235     <span class="comment">//  Setter methods</span>
00236     <span class="comment">// -----------------------------------------------------------------------</span>
00237 
00240 
00269     <span class="keywordtype">void</span> set
00270     (
00271         <span class="keyword">const</span>   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>        uriId
00272         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrName
00273         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrPrefix
00274         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrValue
00275         , <span class="keyword">const</span> XMLAttDef::AttTypes type = XMLAttDef::CData
00276         , DatatypeValidator * datatypeValidator = 0
00277         , <span class="keyword">const</span> <span class="keywordtype">bool</span> isSchema = <span class="keyword">false</span>
00278     );
00279 
00303     <span class="keywordtype">void</span> set
00304     (
00305         <span class="keyword">const</span>   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>        uriId
00306         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrRawName
00307         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrValue
00308         , <span class="keyword">const</span> XMLAttDef::AttTypes type = XMLAttDef::CData
00309         , DatatypeValidator * datatypeValidator = 0
00310         , <span class="keyword">const</span> <span class="keywordtype">bool</span> isSchema = <span class="keyword">false</span>
00311     );
00312 
00327     <span class="keywordtype">void</span> setName
00328     (
00329         <span class="keyword">const</span>   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>        uriId
00330         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrName
00331         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrPrefix
00332     );
00333 
00341     <span class="keywordtype">void</span> setSpecified(<span class="keyword">const</span> <span class="keywordtype">bool</span> newValue);
00342 
00351     <span class="keywordtype">void</span> setType(<span class="keyword">const</span> XMLAttDef::AttTypes newType);
00352 
00360     <span class="keywordtype">void</span> setValue(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> newValue);
00361 
00369     <span class="keywordtype">void</span> setURIId(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uriId);
00370 
00378     <span class="keywordtype">void</span> setDatatypeValidator(DatatypeValidator * datatypeValidator);
00379 
00387     <span class="keywordtype">void</span> setSchemaValidated(<span class="keyword">const</span> <span class="keywordtype">bool</span> isSchema);
00388 
00390 
00391 
00392 
00393 <span class="keyword">private</span> :
00394     <span class="comment">// -----------------------------------------------------------------------</span>
00395     <span class="comment">//  Unimplemented constructors and operators</span>
00396     <span class="comment">// -----------------------------------------------------------------------</span>
00397     XMLAttr(<span class="keyword">const</span> XMLAttr&amp;);
00398     XMLAttr&amp; operator=(<span class="keyword">const</span> XMLAttr&amp;);
00399 
00400 
00401     <span class="comment">// -----------------------------------------------------------------------</span>
00402     <span class="comment">//  Private, helper methods</span>
00403     <span class="comment">// -----------------------------------------------------------------------</span>
00404     <span class="keywordtype">void</span> cleanUp();
00405 
00406 
00407     <span class="comment">// -----------------------------------------------------------------------</span>
00408     <span class="comment">//  Private instance variables</span>
00409     <span class="comment">//</span>
00410     <span class="comment">//  fAttName</span>
00411     <span class="comment">//      The Attribute Name;</span>
00412     <span class="comment">//</span>
00413     <span class="comment">//  fSpecified</span>
00414     <span class="comment">//      True if this attribute appeared in the element; else, false if</span>
00415     <span class="comment">//      it was defaulted from an AttDef.</span>
00416     <span class="comment">//</span>
00417     <span class="comment">//  fType</span>
00418     <span class="comment">//      The attribute type enum value for this attribute. Indicates what</span>
00419     <span class="comment">//      type of attribute it was.</span>
00420     <span class="comment">//</span>
00421     <span class="comment">//  fValue</span>
00422     <span class="comment">//  fValueBufSz</span>
00423     <span class="comment">//      The attribute value that was given in the attribute instance, and</span>
00424     <span class="comment">//      its current buffer size (minus one, where the null is.)</span>
00425     <span class="comment">//</span>
00426     <span class="comment">//  fMemoryManager</span>
00427     <span class="comment">//      The memory manager used for dynamic memory allocation/deallocation</span>
00428     <span class="comment">//  fDatatypeValidator</span>
00429     <span class="comment">//      The validator used to validate the value of this attribute.</span>
00430     <span class="comment">//      The attribute does not own this object, and it is only</span>
00431     <span class="comment">//      used in the calculation of DOMTypeInfo information.</span>
00432     <span class="comment">//  fIsSchemaValidated</span>
00433     <span class="comment">//      whether this attribute was validated by an XML Schema</span>
00434     <span class="comment">//</span>
00435     <span class="comment">// -----------------------------------------------------------------------</span>
00436     <span class="keywordtype">bool</span>                fSpecified;
00437     XMLAttDef::AttTypes fType;
00438     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>        fValueBufSz;
00439     XMLCh*              fValue;
00440     <a class="code" href="classQName.html">QName</a>*              fAttName;
00441     <a class="code" href="classMemoryManager.html">MemoryManager</a>*      fMemoryManager;
00442     DatatypeValidator * fDatatypeValidator;
00443     <span class="keywordtype">bool</span>                fIsSchemaValidated;
00444 };
00445 
00446 <span class="comment">// ---------------------------------------------------------------------------</span>
00447 <span class="comment">//  XMLAttr: Constructors and Destructor</span>
00448 <span class="comment">// ---------------------------------------------------------------------------</span>
<a name="l00449"></a><a class="code" href="classXMLAttr.html#z500_0">00449</a> <span class="keyword">inline</span> <a class="code" href="classXMLAttr.html#z500_0">XMLAttr::~XMLAttr</a>()
00450 {
00451     cleanUp();
00452 }
00453 
00454 
00455 <span class="comment">// ---------------------------------------------------------------------------</span>
00456 <span class="comment">//  XMLAttr: Getter methods</span>
00457 <span class="comment">// ---------------------------------------------------------------------------</span>
<a name="l00458"></a><a class="code" href="classXMLAttr.html#z502_0">00458</a> <span class="keyword">inline</span> <a class="code" href="classQName.html">QName</a>* <a class="code" href="classXMLAttr.html#z502_0">XMLAttr::getAttName</a>()<span class="keyword"> const</span>
00459 <span class="keyword"></span>{
00460     <span class="keywordflow">return</span> fAttName;
00461 }
00462 
<a name="l00463"></a><a class="code" href="classXMLAttr.html#z502_1">00463</a> <span class="keyword">inline</span> <span class="keyword">const</span> XMLCh* <a class="code" href="classXMLAttr.html#z502_1">XMLAttr::getName</a>()<span class="keyword"> const</span>
00464 <span class="keyword"></span>{
00465     <span class="keywordflow">return</span> fAttName-&gt;<a class="code" href="classQName.html#a7">getLocalPart</a>();
00466 }
00467 
<a name="l00468"></a><a class="code" href="classXMLAttr.html#z502_2">00468</a> <span class="keyword">inline</span> <span class="keyword">const</span> XMLCh* <a class="code" href="classXMLAttr.html#z502_2">XMLAttr::getPrefix</a>()<span class="keyword"> const</span>
00469 <span class="keyword"></span>{
00470     <span class="keywordflow">return</span> fAttName-&gt;<a class="code" href="classQName.html#a5">getPrefix</a>();
00471 }
00472 
<a name="l00473"></a><a class="code" href="classXMLAttr.html#z502_4">00473</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classXMLAttr.html#z502_4">XMLAttr::getSpecified</a>()<span class="keyword"> const</span>
00474 <span class="keyword"></span>{
00475     <span class="keywordflow">return</span> fSpecified;
00476 }
00477 
<a name="l00478"></a><a class="code" href="classXMLAttr.html#z502_5">00478</a> <span class="keyword">inline</span> XMLAttDef::AttTypes <a class="code" href="classXMLAttr.html#z502_5">XMLAttr::getType</a>()<span class="keyword"> const</span>
00479 <span class="keyword"></span>{
00480     <span class="keywordflow">return</span> fType;
00481 }
00482 
<a name="l00483"></a><a class="code" href="classXMLAttr.html#z502_6">00483</a> <span class="keyword">inline</span> <span class="keyword">const</span> XMLCh* <a class="code" href="classXMLAttr.html#z502_6">XMLAttr::getValue</a>()<span class="keyword"> const</span>
00484 <span class="keyword"></span>{
00485     <span class="keywordflow">return</span> fValue;
00486 }
00487 
<a name="l00488"></a><a class="code" href="classXMLAttr.html#z502_7">00488</a> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classXMLAttr.html#z502_7">XMLAttr::getURIId</a>()<span class="keyword"> const</span>
00489 <span class="keyword"></span>{
00490     <span class="keywordflow">return</span> fAttName-&gt;<a class="code" href="classQName.html#a9">getURI</a>();
00491 }
00492 
<a name="l00493"></a><a class="code" href="classXMLAttr.html#z502_9">00493</a> <span class="keyword">inline</span> <span class="keyword">const</span> XMLCh* <a class="code" href="classXMLAttr.html#z502_9">XMLAttr::getValidatingTypeName</a>()<span class="keyword"> const</span>
00494 <span class="keyword"></span>{
00495     <span class="keywordflow">if</span>(fIsSchemaValidated)
00496     {
00497         <span class="keywordflow">if</span>(!fDatatypeValidator || fDatatypeValidator-&gt;getAnonymous())
00498             <span class="keywordflow">return</span> 0; 
00499         <span class="keywordflow">return</span> fDatatypeValidator-&gt;getTypeLocalName();
00500     }
00501     <span class="keywordflow">else</span>
00502     {
00503         <span class="keywordflow">return</span> <a class="code" href="classXMLAttDef.html#z484_0">XMLAttDef::getAttTypeString</a>(fType, fMemoryManager);
00504     }
00505 }
00506 
<a name="l00507"></a><a class="code" href="classXMLAttr.html#z502_8">00507</a> <span class="keyword">inline</span> <span class="keyword">const</span> XMLCh* <a class="code" href="classXMLAttr.html#z502_8">XMLAttr::getValidatingTypeURI</a>()<span class="keyword"> const</span>
00508 <span class="keyword"></span>{
00509     <span class="keywordflow">if</span>(fIsSchemaValidated)
00510     {
00511         <span class="keywordflow">if</span>(!fDatatypeValidator || fDatatypeValidator-&gt;getAnonymous())
00512             <span class="keywordflow">return</span> 0; 
00513         <span class="keywordflow">return</span> fDatatypeValidator-&gt;getTypeUri();
00514     }
00515     <span class="keywordflow">else</span>
00516     {
00517         <span class="keywordflow">return</span> 0;
00518     }
00519 }
00520 
00521 <span class="comment">// ---------------------------------------------------------------------------</span>
00522 <span class="comment">//  XMLAttr: Setter methods</span>
00523 <span class="comment">// ---------------------------------------------------------------------------</span>
<a name="l00524"></a><a class="code" href="classXMLAttr.html#z504_0">00524</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classXMLAttr.html#z504_0">XMLAttr::set</a>(<span class="keyword">const</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>        uriId
00525                         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrName
00526                         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrPrefix
00527                         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrValue
00528                         , <span class="keyword">const</span> XMLAttDef::AttTypes type
00529                         , DatatypeValidator * datatypeValidator 
00530                         , <span class="keyword">const</span> <span class="keywordtype">bool</span> isSchema )
00531 {
00532     <span class="comment">// Set the name info and the value via their respective calls</span>
00533     fAttName-&gt;<a class="code" href="classQName.html#a13">setName</a>(attrPrefix, attrName, uriId);
00534     <a class="code" href="classXMLAttr.html#z504_5">setValue</a>(attrValue);
00535 
00536     <span class="comment">// And store the type</span>
00537     fType = type;
00538 
00539     <span class="comment">// and set up info for DOM type info </span>
00540     fIsSchemaValidated = isSchema;
00541     fDatatypeValidator = datatypeValidator;
00542 }
00543 
<a name="l00544"></a><a class="code" href="classXMLAttr.html#z504_1">00544</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classXMLAttr.html#z504_0">XMLAttr::set</a>(<span class="keyword">const</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>        uriId
00545                         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrRawName
00546                         , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span>        attrValue
00547                         , <span class="keyword">const</span> XMLAttDef::AttTypes type
00548                         , DatatypeValidator * datatypeValidator 
00549                         , <span class="keyword">const</span> <span class="keywordtype">bool</span> isSchema )
00550 {
00551     <span class="comment">// Set the name info and the value via their respective calls</span>
00552     fAttName-&gt;<a class="code" href="classQName.html#a13">setName</a>(attrRawName, uriId);
00553     <a class="code" href="classXMLAttr.html#z504_5">setValue</a>(attrValue);
00554 
00555     <span class="comment">// And store the type</span>
00556     fType = type;
00557 
00558     <span class="comment">// and set up info for DOM type info </span>
00559     fIsSchemaValidated = isSchema;
00560     fDatatypeValidator = datatypeValidator;
00561 }
00562 
<a name="l00563"></a><a class="code" href="classXMLAttr.html#z504_4">00563</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classXMLAttr.html#z504_4">XMLAttr::setType</a>(<span class="keyword">const</span> XMLAttDef::AttTypes newValue)
00564 {
00565     fType = newValue;
00566 }
00567 
<a name="l00568"></a><a class="code" href="classXMLAttr.html#z504_3">00568</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classXMLAttr.html#z504_3">XMLAttr::setSpecified</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> newValue)
00569 {
00570     fSpecified = newValue;
00571 }
00572 
<a name="l00573"></a><a class="code" href="classXMLAttr.html#z504_7">00573</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classXMLAttr.html#z504_7">XMLAttr::setDatatypeValidator</a>(DatatypeValidator *datatypeValidator)
00574 {
00575     fDatatypeValidator = datatypeValidator;
00576 }
00577 
<a name="l00578"></a><a class="code" href="classXMLAttr.html#z504_8">00578</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classXMLAttr.html#z504_8">XMLAttr::setSchemaValidated</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> isSchema)
00579 {
00580     fIsSchemaValidated = isSchema;
00581 }
00582 
00583 <a class="code" href="XercesDefs_8hpp.html#a4">XERCES_CPP_NAMESPACE_END</a>
00584 
00585 <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>