Sophie

Sophie

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

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++: XSValue.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>&nbsp;/&nbsp;<a class="el" href="dir_000008.html">psvi</a></div>
<h1>XSValue.hpp</h1><a href="XSValue_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 2004,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: XSValue.hpp 191054 2005-06-17 02:56:35Z jberry $</span>
00019 <span class="comment"> */</span>
00020 
00021 <span class="preprocessor">#if !defined(XSVALUE_HPP)</span>
<a name="l00022"></a><a class="code" href="XSValue_8hpp.html#a0">00022</a> <span class="preprocessor"></span><span class="preprocessor">#define XSVALUE_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;xercesc/util/ValueHashTableOf.hpp&gt;</span>
00026 
00027 <a class="code" href="XercesDefs_8hpp.html#a3">XERCES_CPP_NAMESPACE_BEGIN</a>
00028 
00029 <span class="keyword">class </span>RegularExpression;
00030 
<a name="l00031"></a><a class="code" href="classXSValue.html">00031</a> <span class="keyword">class </span><a class="code" href="XercesDefs_8hpp.html#a10"></a> XSValue : <span class="keyword">public</span> <a class="code" href="classXMemory.html">XMemory</a>
00032 {
00033 <span class="keyword">public</span>:
00034 
<a name="l00035"></a><a class="code" href="classXSValue.html#w66">00035</a>     <span class="keyword">enum</span> DataType {
00036               dt_string               = 0,
00037               dt_boolean              = 1,
00038               dt_decimal              = 2,
00039               dt_float                = 3,
00040               dt_double               = 4,
00041               dt_duration             = 5,
00042               dt_dateTime             = 6,
00043               dt_time                 = 7,
00044               dt_date                 = 8,
00045               dt_gYearMonth           = 9,
00046               dt_gYear                = 10,
00047               dt_gMonthDay            = 11,
00048               dt_gDay                 = 12,
00049               dt_gMonth               = 13,
00050               dt_hexBinary            = 14,
00051               dt_base64Binary         = 15,
00052               dt_anyURI               = 16,
00053               dt_QName                = 17,
00054               dt_NOTATION             = 18,
00055               dt_normalizedString     = 19,
00056               dt_token                = 20,
00057               dt_language             = 21,
00058               dt_NMTOKEN              = 22,
00059               dt_NMTOKENS             = 23,
00060               dt_Name                 = 24,
00061               dt_NCName               = 25,
00062               dt_ID                   = 26,
00063               dt_IDREF                = 27,
00064               dt_IDREFS               = 28,
00065               dt_ENTITY               = 29,
00066               dt_ENTITIES             = 30,
00067               dt_integer              = 31,
00068               dt_nonPositiveInteger   = 32,
00069               dt_negativeInteger      = 33,
00070               dt_long                 = 34,
00071               dt_int                  = 35,
00072               dt_short                = 36,
00073               dt_byte                 = 37,
00074               dt_nonNegativeInteger   = 38,
00075               dt_unsignedLong         = 39,
00076               dt_unsignedInt          = 40,
00077               dt_unsignedShort        = 41,
00078               dt_unsignedByte         = 42,
00079               dt_positiveInteger      = 43,
00080               dt_MAXCOUNT             = 44
00081     };
00082 
<a name="l00083"></a><a class="code" href="classXSValue.html#w67">00083</a>     <span class="keyword">enum</span> XMLVersion {
00084             ver_10,
00085             ver_11
00086     };
00087 
<a name="l00088"></a><a class="code" href="classXSValue.html#w68">00088</a>     <span class="keyword">enum</span> Status {
00089             st_Init,
00090             st_NoContent,
00091             st_NoCanRep,
00092             st_NoActVal,
00093             st_NotSupported,
00094             st_CantCreateRegEx,
00095             st_FOCA0002,        <span class="comment">//invalid lexical value </span>
00096             st_FOCA0001,        <span class="comment">//input value too large/too small for decimal </span>
00097             st_FOCA0003,        <span class="comment">//input value too large for integer </span>
00098             st_FODT0003,        <span class="comment">//invalid timezone value </span>
00099             st_UnknownType
00100     };
00101 
<a name="l00102"></a><a class="code" href="classXSValue.html#w69">00102</a>     <span class="keyword">enum</span> DataGroup {
00103             dg_numerics,            
00104             dg_datetimes,
00105             dg_strings
00106     };
00107 
<a name="l00108"></a><a class="code" href="classXSValue.html#w70">00108</a>     <span class="keyword">enum</span> DoubleFloatType
00109     {
00110         DoubleFloatType_NegINF,
00111         DoubleFloatType_PosINF,
00112         DoubleFloatType_NaN,
00113         DoubleFloatType_Zero,
00114         DoubleFloatType_Normal
00115     };
00116 
00117     <span class="comment">//  Constructors and Destructor</span>
00118     <span class="comment">// -----------------------------------------------------------------------</span>
00121 <span class="comment"></span>    ~XSValue();
00123 
00124     <span class="comment">//---------------------------------</span>
00127 <span class="comment"></span>
00137     <span class="keyword">static</span>
00138     <span class="keywordtype">bool</span>     validate
00139              (
00140                 <span class="keyword">const</span> XMLCh*          <span class="keyword">const</span> content    
00141               ,       DataType              datatype
00142               ,       Status&amp;               status
00143               ,       XMLVersion            version    = ver_10
00144               ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>*  <span class="keyword">const</span> manager    = XMLPlatformUtils::fgMemoryManager
00145              );
00146 
00158     <span class="keyword">static</span>
00159     XMLCh*   getCanonicalRepresentation
00160              (
00161                 <span class="keyword">const</span> XMLCh*          <span class="keyword">const</span> content    
00162               ,       DataType              datatype
00163               ,       Status&amp;               status
00164               ,       XMLVersion            version    = ver_10
00165               ,       <span class="keywordtype">bool</span>                  toValidate = <span class="keyword">true</span> 
00166               ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>*  <span class="keyword">const</span> manager    = XMLPlatformUtils::fgMemoryManager
00167              );
00168 
00182     <span class="keyword">static</span>
00183     XSValue* getActualValue
00184              (
00185                 <span class="keyword">const</span> XMLCh*          <span class="keyword">const</span> content    
00186               ,       DataType              datatype
00187               ,       Status&amp;               status
00188               ,       XMLVersion            version    = ver_10
00189               ,       <span class="keywordtype">bool</span>                  toValidate = <span class="keyword">true</span> 
00190               ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>*  <span class="keyword">const</span> manager    = XMLPlatformUtils::fgMemoryManager
00191              );
00192 
00193     <span class="keyword">static</span>
00194     DataType  getDataType  (<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> dtString);
00195 
00197 
00198     <span class="comment">//----------------------------------</span>
<a name="l00201"></a><a class="code" href="structXSValue_1_1XSValue__Data.html">00201</a> <span class="comment"></span>    <span class="keyword">struct </span><a class="code" href="structXSValue_1_1XSValue__Data.html">XSValue_Data</a> {
00202 
<a name="l00203"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o0">00203</a>         DataType f_datatype;
00204         
00205         <span class="keyword">union </span>{
<a name="l00206"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o1">00206</a>                          <span class="keywordtype">bool</span>      f_bool;
<a name="l00207"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o2">00207</a>                          <span class="keywordtype">char</span>      f_char;                    
<a name="l00208"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o3">00208</a>                 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>      f_uchar;
<a name="l00209"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o4">00209</a>                          <span class="keywordtype">short</span>     f_short;
<a name="l00210"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o5">00210</a>                 <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>     f_ushort;
<a name="l00211"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o6">00211</a>                          <span class="keywordtype">int</span>       f_int;
<a name="l00212"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o7">00212</a>                 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>       f_uint;
<a name="l00213"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o8">00213</a>                          <span class="keywordtype">long</span>      f_long;
<a name="l00214"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o9">00214</a>                 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>      f_ulong;
00215                          <span class="keywordtype">float</span>     f_float;
00216                          <span class="keywordtype">double</span>    f_double;
<a name="l00217"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o12">00217</a>                          XMLCh*    f_strVal;
<a name="l00218"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o13">00218</a>                          <a class="code" href="XercesDefs_8hpp.html#a17">XMLByte</a>*  f_byteVal;
00219 
00220                 <span class="keyword">struct </span>decimal {
<a name="l00221"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o14">00221</a>                                 <span class="keywordtype">double</span>           f_dvalue;
00222                 } f_decimal;
00223 
00224                 <span class="keyword">struct </span>datetime {
<a name="l00225"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o16">00225</a>                                 <span class="keywordtype">int</span>       f_year;
<a name="l00226"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o17">00226</a>                                 <span class="keywordtype">int</span>       f_month;
<a name="l00227"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o18">00227</a>                                 <span class="keywordtype">int</span>       f_day;
<a name="l00228"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o19">00228</a>                                 <span class="keywordtype">int</span>       f_hour;
<a name="l00229"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o20">00229</a>                                 <span class="keywordtype">int</span>       f_min;
<a name="l00230"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o21">00230</a>                                 <span class="keywordtype">int</span>       f_second;
<a name="l00231"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o22">00231</a>                                 <span class="keywordtype">double</span>    f_milisec;
00232 
00233                 } f_datetime;
00234 
00235                 <span class="keyword">struct </span>doubletype {
<a name="l00236"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o11">00236</a>                                 <span class="keywordtype">double</span>          f_double;
<a name="l00237"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o24">00237</a>                                 DoubleFloatType f_doubleEnum;
00238                 } f_doubleType;
00239 
00240                 <span class="keyword">struct </span>floattype {
<a name="l00241"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o10">00241</a>                                 <span class="keywordtype">float</span>           f_float;
<a name="l00242"></a><a class="code" href="structXSValue_1_1XSValue__Data.html#o26">00242</a>                                 DoubleFloatType f_floatEnum;
00243                 } f_floatType;
00244 
00245 
00246 
00247         } fValue;
00248 
00249     } fData;
00250 
00251     <span class="keyword">static</span>
00252     <span class="keywordtype">void</span> reinitMutex();
00253 
00254     <span class="keyword">static</span>
00255     <span class="keywordtype">void</span> reinitRegEx();
00256 
00257     <span class="keyword">static</span>
00258     <span class="keywordtype">void</span> reinitRegistry();
00259 
00260 <span class="keyword">private</span>:
00261 
00262     <span class="keyword">typedef</span> <span class="keyword">union</span>
00263 <span class="keyword">    </span>{
00264                 <span class="keywordtype">long</span>  f_long;
00265        <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>  f_ulong;
00266     } t_value;
00267 
00274     XSValue(
00275              DataType        <span class="keyword">const</span> dt
00276            , <a class="code" href="classMemoryManager.html">MemoryManager</a>*  <span class="keyword">const</span> manager = XMLPlatformUtils::fgMemoryManager
00277            );
00278 
00280 
00281     <span class="comment">// -----------------------------------------------------------------------</span>
00282     <span class="comment">//  Unimplemented constructors and operators</span>
00283     <span class="comment">// -----------------------------------------------------------------------</span>
00284     XSValue(<span class="keyword">const</span> XSValue&amp;);
00285     XSValue &amp; operator=(<span class="keyword">const</span> XSValue &amp;);
00286 
00287     <span class="comment">//---------------------------------</span>
00291 <span class="comment"></span>
00292     <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classXSValue.html#w69">XSValue::DataGroup</a> inGroup[];
00293     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> numericSign[];
00294 
00296 
00297     <span class="keyword">static</span>
00298     <span class="keywordtype">bool</span>     validateNumerics
00299              (
00300                 <span class="keyword">const</span> XMLCh*          <span class="keyword">const</span> content    
00301               ,       DataType              datatype
00302               ,       Status&amp;               status              
00303               ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>*  <span class="keyword">const</span> manager
00304              );
00305 
00306     <span class="keyword">static</span>
00307     <span class="keywordtype">bool</span>     validateDateTimes
00308              (
00309                 <span class="keyword">const</span> XMLCh*          <span class="keyword">const</span> content    
00310               ,       DataType              datatype
00311               ,       Status&amp;               status              
00312               ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>*  <span class="keyword">const</span> manager
00313              );
00314 
00315     <span class="keyword">static</span>
00316     <span class="keywordtype">bool</span>     validateStrings
00317              (
00318                 <span class="keyword">const</span> XMLCh*          <span class="keyword">const</span> content    
00319               ,       DataType              datatype
00320               ,       Status&amp;               status
00321               ,       XMLVersion            version
00322               ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>*  <span class="keyword">const</span> manager
00323              );
00324 
00325     <span class="keyword">static</span>
00326     XMLCh*   getCanRepNumerics
00327              (
00328                 <span class="keyword">const</span> XMLCh*          <span class="keyword">const</span> content    
00329               ,       DataType              datatype
00330               ,       Status&amp;               status             
00331               ,       <span class="keywordtype">bool</span>                  toValidate
00332               ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>*  <span class="keyword">const</span> manager
00333              );
00334 
00335     <span class="keyword">static</span>
00336     XMLCh*   getCanRepDateTimes
00337              (
00338                 <span class="keyword">const</span> XMLCh*          <span class="keyword">const</span> content    
00339               ,       DataType              datatype
00340               ,       Status&amp;               status             
00341               ,       <span class="keywordtype">bool</span>                  toValidate
00342               ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>*  <span class="keyword">const</span> manager
00343              );
00344 
00345     <span class="keyword">static</span>
00346     XMLCh*   getCanRepStrings
00347              (
00348                 <span class="keyword">const</span> XMLCh*          <span class="keyword">const</span> content    
00349               ,       DataType              datatype
00350               ,       Status&amp;               status
00351               ,       XMLVersion            version
00352               ,       <span class="keywordtype">bool</span>                  toValidate
00353               ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>*  <span class="keyword">const</span> manager
00354              );
00355 
00356     <span class="keyword">static</span>
00357     XSValue*  getActValNumerics
00358              (
00359                 <span class="keyword">const</span> XMLCh*          <span class="keyword">const</span> content    
00360               ,       DataType              datatype
00361               ,       Status&amp;               status              
00362               ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>*  <span class="keyword">const</span> manager
00363              );
00364 
00365     <span class="keyword">static</span>
00366     XSValue*  getActValDateTimes
00367              (
00368                 <span class="keyword">const</span> XMLCh*          <span class="keyword">const</span> content    
00369               ,       DataType              datatype
00370               ,       Status&amp;               status              
00371               ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>*  <span class="keyword">const</span> manager
00372              );
00373 
00374     <span class="keyword">static</span>
00375     XSValue*  getActValStrings
00376              (
00377                 <span class="keyword">const</span> XMLCh*          <span class="keyword">const</span> content    
00378               ,       DataType              datatype
00379               ,       Status&amp;               status
00380               ,       XMLVersion            version
00381               ,       <span class="keywordtype">bool</span>                  toValidate
00382               ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>*  <span class="keyword">const</span> manager
00383              );
00384 
00385     <span class="keyword">static</span>
00386     <span class="keywordtype">bool</span>      getActualNumericValue
00387               (
00388                  <span class="keyword">const</span> XMLCh*         <span class="keyword">const</span> content
00389                ,       Status&amp;               status                                
00390                ,       t_value&amp;              retVal                              
00391                ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span>  manager
00392                ,       DataType              datatype
00393                );
00394 
00395     <span class="keyword">static</span> ValueHashTableOf&lt;DataType&gt;*    fDataTypeRegistry;
00396 
00397     <span class="comment">// -----------------------------------------------------------------------</span>
00398     <span class="comment">//  static helper methods</span>
00399     <span class="comment">// -----------------------------------------------------------------------</span>
00400     <span class="keyword">static</span> <span class="keywordtype">void</span> initializeRegistry();
<a name="l00401"></a><a class="code" href="classXSValue.html#n0">00401</a>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classXMLInitializer.html">XMLInitializer</a>;
00402 
00403     <span class="comment">// -----------------------------------------------------------------------</span>
00404     <span class="comment">//  data members</span>
00405     <span class="comment">// -----------------------------------------------------------------------</span>
00406     <span class="keywordtype">bool</span>                fMemAllocated;
00407     <a class="code" href="classMemoryManager.html">MemoryManager</a>*      fMemoryManager;
00408 
00409 };
00410 
00411 <a class="code" href="XercesDefs_8hpp.html#a4">XERCES_CPP_NAMESPACE_END</a>
00412 
00413 <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>