Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > c9cfbd1355daacaf3b34517a6d7b18cc > files > 603

libdap-doc-3.11.0-2.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libdap++: libdap::DDXParser Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">libdap++&#160;<span id="projectnumber">Updated for version 3.8.2</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classlibdap_1_1DDXParser.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<h1>libdap::DDXParser Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="libdap::DDXParser" -->
<p><code>#include &lt;<a class="el" href="DDXParserSAX2_8h_source.html">DDXParserSAX2.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for libdap::DDXParser:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DDXParser__coll__graph.png" border="0" usemap="#libdap_1_1DDXParser_coll__map" alt="Collaboration graph"/></div>
<map name="libdap_1_1DDXParser_coll__map" id="libdap_1_1DDXParser_coll__map">
<area shape="rect" id="node4" href="classlibdap_1_1DDS.html" title="{libdap::DDS\n|&#45; d_attr\l&#45; d_container\l&#45; d_container_name\l&#45; d_dap_major\l&#45; d_dap_minor\l&#45; d_factory\l&#45; d_filename\l&#45; d_request_xml_base\l&#45; d_timeout\l&#45; name\l&#45; vars\l|+ add_var()\l+ check_semantics()\l+ DDS()\l+ DDS()\l+ del_var()\l+ del_var()\l+ del_var()\l+ dump()\l+ get_attr_table()\l+ get_dap_major()\l+ get_dap_minor()\l+ get_factory()\l+ get_request_xml_base()\l+ get_timeout()\l+ get_var_index()\l+ get_vars_iter()\l+ mark()\l+ mark_all()\l+ num_var()\l+ operator=()\l+ parse()\l+ parse()\l+ parse()\l+ print()\l+ print_constrained()\l+ print_xml()\l+ set_dap_major()\l+ set_dap_minor()\l+ set_dap_version()\l+ set_factory()\l+ set_request_xml_base()\l+ set_timeout()\l+ tag_nested_sequences()\l+ timeout_off()\l+ timeout_on()\l+ transfer_attributes()\l+ var()\l+ var()\l+ var_begin()\l+ var_end()\l+ var_rbegin()\l+ var_rend()\l+ ~DDS()\l+ get_dataset_name()\l+ set_dataset_name()\l+ filename()\l+ filename()\l+ container_name()\l+ container_name()\l+ container()\l# duplicate()\l# exact_match()\l# leaf_match()\l&#45; find_hdf4_dimension_attribute_home()\l* get_dataset_name()\l* set_dataset_name()\l* filename()\l* filename()\l* container_name()\l* container_name()\l* container()\l}" alt="" coords="727,3501,1129,4605"/><area shape="rect" id="node6" href="classlibdap_1_1DapObj.html" title="libdap base object for common functionality of libdap objects" alt="" coords="1120,6,1283,98"/><area shape="rect" id="node12" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types." alt="" coords="859,1435,1109,2407"/><area shape="rect" id="node17" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset." alt="" coords="493,163,784,1370"/><area shape="rect" id="node8" href="classlibdap_1_1Structure.html" title="Holds a structure (aggregate) type." alt="" coords="804,2920,1036,3408"/><area shape="rect" id="node10" href="classlibdap_1_1Constructor.html" title="{libdap::Constructor\n|# _vars\l|+ dump()\l+ get_var_index()\l+ get_vars_iter()\l+ is_linear()\l+ operator=()\l+ print_decl()\l+ print_xml()\l+ transfer_attributes()\l+ var_begin()\l+ var_end()\l+ var_rbegin()\l+ var_rend()\l+ ~Constructor()\l# _duplicate()\l# Constructor()\l# Constructor()\l# Constructor()\l&#45; Constructor()\l&#45; find_hdf4_dimension_attribute_home()\l}" alt="" coords="761,2515,1164,2856"/><area shape="rect" id="node37" href="classlibdap_1_1BaseTypeFactory.html" title="{libdap::BaseTypeFactory\n||+ BaseTypeFactory()\l+ NewArray()\l+ NewByte()\l+ NewFloat32()\l+ NewFloat64()\l+ NewGrid()\l+ NewInt16()\l+ NewInt32()\l+ NewSequence()\l+ NewStr()\l+ NewStructure()\l+ NewUInt16()\l+ NewUInt32()\l+ NewUrl()\l+ ~BaseTypeFactory()\l}" alt="" coords="1255,3023,1505,3305"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classlibdap_1_1DDXParser-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><b>XMLAttribute</b></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html#abfbc95ad430e73daf1b31049feb71dd5">DDXParser</a> (<a class="el" href="classlibdap_1_1BaseTypeFactory.html">BaseTypeFactory</a> *factory)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html#ab9b18fbb234851a7047e8fe4d38233b8">intern</a> (const string &amp;document, <a class="el" href="classlibdap_1_1DDS.html">DDS</a> *dest_dds, string &amp;cid)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html#a76537c4e78cb5913b2c2f78b9f7cd458">intern_stream</a> (FILE *in, <a class="el" href="classlibdap_1_1DDS.html">DDS</a> *dds, string &amp;cid, const string &amp;boundary=&quot;&quot;)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the DDX from a stream instead of a file.  <a href="#a76537c4e78cb5913b2c2f78b9f7cd458"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">SAX Parser Callbacks</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>These methods are declared static in the class header. This gives them C linkage which allows them to be used as callbacks by the SAX parser engine. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html#a6c348bc021092a96a4110e979011bbb4">ddx_start_document</a> (void *parser)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html#ac17cd783fde5a64b25ea052b20c58e23">ddx_end_document</a> (void *parser)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html#a3f6ffdf8d928603db3bf2bf4f6b09cec">ddx_sax2_start_element</a> (void *parser, const xmlChar *localname, const xmlChar *prefix, const xmlChar *URI, int nb_namespaces, const xmlChar **namespaces, int nb_attributes, int nb_defaulted, const xmlChar **attributes)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html#a9e1509b05a8287ef873094ab64883800">ddx_sax2_end_element</a> (void *parser, const xmlChar *localname, const xmlChar *prefix, const xmlChar *URI)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html#a397d57776a44c3f4af9981f9e5352f6e">ddx_get_characters</a> (void *parser, const xmlChar *ch, int len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html#a2a2083b22105ff5d8269642c37e0d429">ddx_ignoreable_whitespace</a> (void *parser, const xmlChar *ch, int len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html#ac3d7aedee1616e457ccc507c57e8b156">ddx_get_cdata</a> (void *parser, const xmlChar *value, int len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static xmlEntityPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html#afaa8276f50340b319d9aa6613bb6014b">ddx_get_entity</a> (void *parser, const xmlChar *name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html#a05cf7e51b13e0ecb78008db76f3b131e">ddx_fatal_error</a> (void *parser, const char *msg,...)</td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1DDXParser.html#a99e6fccac5f43590df51a5d657c002da">DDXParserTest</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Parse the XML text which encodes the network/persistent representation of the DDX object. In the current implementation, the DDX is held by an instance of the class <a class="el" href="classlibdap_1_1DDS.html">DDS</a> which in turn holds variables which include attributes. That is, the binary <em>implementation</em> of a DDX uses the old <a class="el" href="classlibdap_1_1DDS.html">DDS</a>, <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> and <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> classes, albeit arranged in a slightly new way.</p>
<p>This parser for the DDX <em>document</em> uses the SAX interface of <code>libxml2</code>. Static methods are used as callbacks for the SAX parser. These static methods are public because making them private complicates compilation. They should not be called by anything other than the <em>intern</em> method. They do not throw exceptions because exceptions from within callbacks are not reliable or portable. To signal errors, the methods record information in the <a class="el" href="classlibdap_1_1DDXParser.html">DDXParser</a> object. Once the error handler is called, construction of an DDX/DDS object ends even though the SAX parser still calls the various callback functions. The parser treats <em>warnings</em>, <em>errors</em> and <em>fatal_errors</em> the same way; when any are found parsing stops. The <em>intern</em> method throws an <a class="el" href="classlibdap_1_1DDXParseFailed.html">DDXParseFailed</a> exception if an error was found.</p>
<p>Note that this class uses the C++-supplied default definitions for the default and copy constructors as well as the destructor and assignment operator.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1DDS.html">DDS</a> </dd></dl>

<p>Definition at line <a class="el" href="DDXParserSAX2_8h_source.html#l00079">79</a> of file <a class="el" href="DDXParserSAX2_8h_source.html">DDXParserSAX2.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="abfbc95ad430e73daf1b31049feb71dd5"></a><!-- doxytag: member="libdap::DDXParser::DDXParser" ref="abfbc95ad430e73daf1b31049feb71dd5" args="(BaseTypeFactory *factory)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">libdap::DDXParser::DDXParser </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1BaseTypeFactory.html">BaseTypeFactory</a> *&#160;</td>
          <td class="paramname"><em>factory</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DDXParserSAX2_8h_source.html#l00234">234</a> of file <a class="el" href="DDXParserSAX2_8h_source.html">DDXParserSAX2.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ac17cd783fde5a64b25ea052b20c58e23"></a><!-- doxytag: member="libdap::DDXParser::ddx_end_document" ref="ac17cd783fde5a64b25ea052b20c58e23" args="(void *parser)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DDXParser::ddx_end_document </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Clean up after finishing a parse. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">parser</td><td>The SAX parser </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="DDXParserSAX2_8cc_source.html#l00540">540</a> of file <a class="el" href="DDXParserSAX2_8cc_source.html">DDXParserSAX2.cc</a>.</p>

<p>References <a class="el" href="DDS_8cc_source.html#l00572">libdap::DDS::add_var()</a>, <a class="el" href="debug_8h_source.html#l00073">DBG2</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01056">ddx_fatal_error()</a>, <a class="el" href="Constructor_8cc_source.html#l00101">libdap::Constructor::var_begin()</a>, and <a class="el" href="Constructor_8cc_source.html#l00295">libdap::Constructor::var_end()</a>.</p>

<p>Referenced by <a class="el" href="DDXParserSAX2_8cc_source.html#l01172">intern()</a>, and <a class="el" href="DDXParserSAX2_8cc_source.html#l01107">intern_stream()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DDXParser_ac17cd783fde5a64b25ea052b20c58e23_cgraph.png" border="0" usemap="#classlibdap_1_1DDXParser_ac17cd783fde5a64b25ea052b20c58e23_cgraph" alt=""/></div>
<map name="classlibdap_1_1DDXParser_ac17cd783fde5a64b25ea052b20c58e23_cgraph" id="classlibdap_1_1DDXParser_ac17cd783fde5a64b25ea052b20c58e23_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1DDS.html#ade87418e97ee5c7efd92279cd41e421c" title="Adds a copy of the variable to the DDS. Using the ptr_duplicate() method, perform a deep copy on the ..." alt="" coords="497,56,719,83"/><area shape="rect" id="node12" href="classlibdap_1_1DDXParser.html#a05cf7e51b13e0ecb78008db76f3b131e" title="libdap::DDXParser::ddx_fatal_error" alt="" coords="427,107,789,133"/><area shape="rect" id="node18" href="classlibdap_1_1Constructor.html#adeafe3d6c82d07b456a598a7b446c2c6" title="libdap::Constructor::var_begin" alt="" coords="447,157,769,184"/><area shape="rect" id="node20" href="classlibdap_1_1Constructor.html#a936b38c7c35ffb4fe17c5b8e85bdaaa2" title="libdap::Constructor::var_end" alt="" coords="457,208,759,235"/><area shape="rect" id="node5" href="classlibdap_1_1Structure.html#aa2e403ad2ce9b78f279a18799f61b353" title="libdap::Structure::add_var" alt="" coords="837,56,1120,83"/><area shape="rect" id="node7" href="classlibdap_1_1BaseType.html#a0b130311c9901fb8a7ab11ea19090ef0" title="libdap::BaseType::ptr_duplicate" alt="" coords="1169,5,1500,32"/><area shape="rect" id="node9" href="classlibdap_1_1BaseType.html#a5b6a39f6ce6594fa74f3fc899ac9a966" title="libdap::BaseType::set_parent" alt="" coords="1184,56,1485,83"/><area shape="rect" id="node14" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="857,107,1100,133"/><area shape="rect" id="node16" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="1179,107,1491,133"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a05cf7e51b13e0ecb78008db76f3b131e"></a><!-- doxytag: member="libdap::DDXParser::ddx_fatal_error" ref="a05cf7e51b13e0ecb78008db76f3b131e" args="(void *parser, const char *msg,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DDXParser::ddx_fatal_error </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Process an XML fatal error. Note that SAX provides for warnings, errors and fatal errors. This code treats them all as fatal errors since there's typically no way to tell a user about the error since there's often no user interface for this software.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">parser</td><td>The SAX parser </td></tr>
    <tr><td class="paramname">msg</td><td>A printf-style format string. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="DDXParserSAX2_8cc_source.html#l01056">1056</a> of file <a class="el" href="DDXParserSAX2_8cc_source.html">DDXParserSAX2.cc</a>.</p>

<p>References <a class="el" href="util_8cc_source.html#l00440">libdap::long_to_string()</a>.</p>

<p>Referenced by <a class="el" href="DDXParserSAX2_8cc_source.html#l00540">ddx_end_document()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01020">ddx_get_cdata()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l00798">ddx_sax2_end_element()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l00569">ddx_sax2_start_element()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01172">intern()</a>, and <a class="el" href="DDXParserSAX2_8cc_source.html#l01107">intern_stream()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DDXParser_a05cf7e51b13e0ecb78008db76f3b131e_cgraph.png" border="0" usemap="#classlibdap_1_1DDXParser_a05cf7e51b13e0ecb78008db76f3b131e_cgraph" alt=""/></div>
<map name="classlibdap_1_1DDXParser_a05cf7e51b13e0ecb78008db76f3b131e_cgraph" id="classlibdap_1_1DDXParser_a05cf7e51b13e0ecb78008db76f3b131e_cgraph">
<area shape="rect" id="node3" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="416,5,659,32"/><area shape="rect" id="node5" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="707,5,1019,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ac3d7aedee1616e457ccc507c57e8b156"></a><!-- doxytag: member="libdap::DDXParser::ddx_get_cdata" ref="ac3d7aedee1616e457ccc507c57e8b156" args="(void *parser, const xmlChar *value, int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DDXParser::ddx_get_cdata </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const xmlChar *&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get characters in a cdata block. DAP does not use CData, but XML in an OtherXML attribute (the value of that DAP attribute) might use it. This callback also allows CData when the parser is in the 'parser_unknown' state since some future DAP element might use it. </p>

<p>Definition at line <a class="el" href="DDXParserSAX2_8cc_source.html#l01020">1020</a> of file <a class="el" href="DDXParserSAX2_8cc_source.html">DDXParserSAX2.cc</a>.</p>

<p>References <a class="el" href="DDXParserSAX2_8cc_source.html#l01056">ddx_fatal_error()</a>.</p>

<p>Referenced by <a class="el" href="DDXParserSAX2_8cc_source.html#l01172">intern()</a>, and <a class="el" href="DDXParserSAX2_8cc_source.html#l01107">intern_stream()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DDXParser_ac3d7aedee1616e457ccc507c57e8b156_cgraph.png" border="0" usemap="#classlibdap_1_1DDXParser_ac3d7aedee1616e457ccc507c57e8b156_cgraph" alt=""/></div>
<map name="classlibdap_1_1DDXParser_ac3d7aedee1616e457ccc507c57e8b156_cgraph" id="classlibdap_1_1DDXParser_ac3d7aedee1616e457ccc507c57e8b156_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1DDXParser.html#a05cf7e51b13e0ecb78008db76f3b131e" title="libdap::DDXParser::ddx_fatal_error" alt="" coords="397,5,760,32"/><area shape="rect" id="node5" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="808,5,1051,32"/><area shape="rect" id="node7" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="1099,5,1411,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a397d57776a44c3f4af9981f9e5352f6e"></a><!-- doxytag: member="libdap::DDXParser::ddx_get_characters" ref="a397d57776a44c3f4af9981f9e5352f6e" args="(void *parser, const xmlChar *ch, int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DDXParser::ddx_get_characters </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const xmlChar *&#160;</td>
          <td class="paramname"><em>ch</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Process/accumulate character data. This may be called more than once for one logical clump of data. Only save character data when processing 'value' elements; throw away all other characters. </p>

<p>Definition at line <a class="el" href="DDXParserSAX2_8cc_source.html#l00976">976</a> of file <a class="el" href="DDXParserSAX2_8cc_source.html">DDXParserSAX2.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00073">DBG2</a>.</p>

<p>Referenced by <a class="el" href="DDXParserSAX2_8cc_source.html#l01172">intern()</a>, and <a class="el" href="DDXParserSAX2_8cc_source.html#l01107">intern_stream()</a>.</p>

</div>
</div>
<a class="anchor" id="afaa8276f50340b319d9aa6613bb6014b"></a><!-- doxytag: member="libdap::DDXParser::ddx_get_entity" ref="afaa8276f50340b319d9aa6613bb6014b" args="(void *parser, const xmlChar *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">xmlEntityPtr libdap::DDXParser::ddx_get_entity </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>parser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const xmlChar *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Handle the standard XML entities.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">parser</td><td>The SAX parser </td></tr>
    <tr><td class="paramname">name</td><td>The XML entity. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="DDXParserSAX2_8cc_source.html#l01044">1044</a> of file <a class="el" href="DDXParserSAX2_8cc_source.html">DDXParserSAX2.cc</a>.</p>

<p>Referenced by <a class="el" href="DDXParserSAX2_8cc_source.html#l01172">intern()</a>, and <a class="el" href="DDXParserSAX2_8cc_source.html#l01107">intern_stream()</a>.</p>

</div>
</div>
<a class="anchor" id="a2a2083b22105ff5d8269642c37e0d429"></a><!-- doxytag: member="libdap::DDXParser::ddx_ignoreable_whitespace" ref="a2a2083b22105ff5d8269642c37e0d429" args="(void *parser, const xmlChar *ch, int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DDXParser::ddx_ignoreable_whitespace </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const xmlChar *&#160;</td>
          <td class="paramname"><em>ch</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Read whitespace that's not really important for content. This is used only for the OtherXML attribute type to preserve formating of the XML. Doing so makes the attribute value far easier to read. </p>

<p>Definition at line <a class="el" href="DDXParserSAX2_8cc_source.html#l01000">1000</a> of file <a class="el" href="DDXParserSAX2_8cc_source.html">DDXParserSAX2.cc</a>.</p>

<p>Referenced by <a class="el" href="DDXParserSAX2_8cc_source.html#l01172">intern()</a>, and <a class="el" href="DDXParserSAX2_8cc_source.html#l01107">intern_stream()</a>.</p>

</div>
</div>
<a class="anchor" id="a9e1509b05a8287ef873094ab64883800"></a><!-- doxytag: member="libdap::DDXParser::ddx_sax2_end_element" ref="a9e1509b05a8287ef873094ab64883800" args="(void *parser, const xmlChar *localname, const xmlChar *prefix, const xmlChar *URI)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DDXParser::ddx_sax2_end_element </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>parser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const xmlChar *&#160;</td>
          <td class="paramname"><em>localname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const xmlChar *&#160;</td>
          <td class="paramname"><em>prefix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const xmlChar *&#160;</td>
          <td class="paramname"><em>URI</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DDXParserSAX2_8cc_source.html#l00798">798</a> of file <a class="el" href="DDXParserSAX2_8cc_source.html">DDXParserSAX2.cc</a>.</p>

<p>References <a class="el" href="BaseType_8cc_source.html#l00719">libdap::BaseType::add_var()</a>, <a class="el" href="AttrTable_8cc_source.html#l00239">libdap::AttrTable::append_attr()</a>, <a class="el" href="debug_8h_source.html#l00073">DBG2</a>, <a class="el" href="debug_8h_source.html#l00059">DBGN</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01056">ddx_fatal_error()</a>, <a class="el" href="BaseType_8h_source.html#l00142">libdap::dods_array_c</a>, <a class="el" href="BaseType_8h_source.html#l00145">libdap::dods_grid_c</a>, <a class="el" href="BaseType_8h_source.html#l00132">libdap::dods_null_c</a>, <a class="el" href="BaseType_8h_source.html#l00144">libdap::dods_sequence_c</a>, <a class="el" href="BaseType_8h_source.html#l00143">libdap::dods_structure_c</a>, <a class="el" href="BaseType_8cc_source.html#l00356">libdap::BaseType::is_constructor_type()</a>, and <a class="el" href="BaseType_8cc_source.html#l00324">libdap::BaseType::is_vector_type()</a>.</p>

<p>Referenced by <a class="el" href="DDXParserSAX2_8cc_source.html#l01172">intern()</a>, and <a class="el" href="DDXParserSAX2_8cc_source.html#l01107">intern_stream()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DDXParser_a9e1509b05a8287ef873094ab64883800_cgraph.png" border="0" usemap="#classlibdap_1_1DDXParser_a9e1509b05a8287ef873094ab64883800_cgraph" alt=""/></div>
<map name="classlibdap_1_1DDXParser_a9e1509b05a8287ef873094ab64883800_cgraph" id="classlibdap_1_1DDXParser_a9e1509b05a8287ef873094ab64883800_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1BaseType.html#adca3c2621c4a509537c18362005d7f7f" title="Add a variable." alt="" coords="527,56,799,83"/><area shape="rect" id="node5" href="classlibdap_1_1AttrTable.html#a7a526505d174c7a2f33e6b57761f8bc4" title="Add an attribute to the table." alt="" coords="501,107,824,133"/><area shape="rect" id="node20" href="classlibdap_1_1DDXParser.html#a05cf7e51b13e0ecb78008db76f3b131e" title="libdap::DDXParser::ddx_fatal_error" alt="" coords="481,157,844,184"/><area shape="rect" id="node26" href="classlibdap_1_1BaseType.html#a9eb6cae7f3490723180131345c85cfc7" title="Returns true if the instance is a constructor (i.e., Structure, Sequence or Grid) type variable..." alt="" coords="467,208,859,235"/><area shape="rect" id="node30" href="classlibdap_1_1BaseType.html#ad1d57be80c8e89b8a9e59bed48779556" title="Returns true if the instance is a vector (i.e., array) type variable." alt="" coords="492,259,833,285"/><area shape="rect" id="node7" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="908,5,1199,32"/><area shape="rect" id="node9" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="1248,31,1571,57"/><area shape="rect" id="node12" href="namespacelibdap.html#a6d4117c49771ce2665142ff0dd9c976b" title="libdap::String_to_AttrType" alt="" coords="912,107,1195,133"/><area shape="rect" id="node16" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="972,157,1135,184"/><area shape="rect" id="node14" href="namespacelibdap.html#a7edce266869606fc7bb46124f8d63809" title="libdap::downcase" alt="" coords="1319,107,1500,133"/><area shape="rect" id="node18" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="1304,157,1515,184"/><area shape="rect" id="node22" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="932,208,1175,235"/><area shape="rect" id="node24" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="1253,208,1565,235"/><area shape="rect" id="node28" href="classlibdap_1_1BaseType.html#abc6b2d7099f00bb5f324ec129bff2a17" title="Returns the type of the class instance." alt="" coords="932,259,1175,285"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a3f6ffdf8d928603db3bf2bf4f6b09cec"></a><!-- doxytag: member="libdap::DDXParser::ddx_sax2_start_element" ref="a3f6ffdf8d928603db3bf2bf4f6b09cec" args="(void *parser, const xmlChar *localname, const xmlChar *prefix, const xmlChar *URI, int nb_namespaces, const xmlChar **namespaces, int nb_attributes, int nb_defaulted, const xmlChar **attributes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DDXParser::ddx_sax2_start_element </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>parser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const xmlChar *&#160;</td>
          <td class="paramname"><em>localname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const xmlChar *&#160;</td>
          <td class="paramname"><em>prefix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const xmlChar *&#160;</td>
          <td class="paramname"><em>URI</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nb_namespaces</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const xmlChar **&#160;</td>
          <td class="paramname"><em>namespaces</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nb_attributes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nb_defaulted</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const xmlChar **&#160;</td>
          <td class="paramname"><em>attributes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DDXParserSAX2_8cc_source.html#l00569">569</a> of file <a class="el" href="DDXParserSAX2_8cc_source.html">DDXParserSAX2.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00073">DBG2</a>, <a class="el" href="debug_8h_source.html#l00059">DBGN</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01056">ddx_fatal_error()</a>, <a class="el" href="BaseType_8h_source.html#l00142">libdap::dods_array_c</a>, <a class="el" href="DDS_8cc_source.html#l00494">libdap::DDS::set_dap_version()</a>, and <a class="el" href="DDS_8cc_source.html#l00451">libdap::DDS::set_dataset_name()</a>.</p>

<p>Referenced by <a class="el" href="DDXParserSAX2_8cc_source.html#l01172">intern()</a>, and <a class="el" href="DDXParserSAX2_8cc_source.html#l01107">intern_stream()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DDXParser_a3f6ffdf8d928603db3bf2bf4f6b09cec_cgraph.png" border="0" usemap="#classlibdap_1_1DDXParser_a3f6ffdf8d928603db3bf2bf4f6b09cec_cgraph" alt=""/></div>
<map name="classlibdap_1_1DDXParser_a3f6ffdf8d928603db3bf2bf4f6b09cec_cgraph" id="classlibdap_1_1DDXParser_a3f6ffdf8d928603db3bf2bf4f6b09cec_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1DDXParser.html#a05cf7e51b13e0ecb78008db76f3b131e" title="libdap::DDXParser::ddx_fatal_error" alt="" coords="485,5,848,32"/><area shape="rect" id="node9" href="classlibdap_1_1DDS.html#a53f79560bd6a0f60a37b99f602390631" title="libdap::DDS::set_dap_version" alt="" coords="516,56,817,83"/><area shape="rect" id="node15" href="classlibdap_1_1DDS.html#a0138ce1c3b26968f968a6b723ec70dfb" title="libdap::DDS::set_dataset_name" alt="" coords="511,107,823,133"/><area shape="rect" id="node5" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="916,5,1159,32"/><area shape="rect" id="node7" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="1227,5,1539,32"/><area shape="rect" id="node11" href="classlibdap_1_1DDS.html#a03062495c46ed3fad9fa0a5f6f6e8d00" title="Set the DAP major version (typically using info from the client)" alt="" coords="896,56,1179,83"/><area shape="rect" id="node13" href="classlibdap_1_1DDS.html#a358929d8f517dcdfe439037fb402351b" title="Set the DAP minor version (typically using info from the client)" alt="" coords="896,107,1179,133"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a6c348bc021092a96a4110e979011bbb4"></a><!-- doxytag: member="libdap::DDXParser::ddx_start_document" ref="a6c348bc021092a96a4110e979011bbb4" args="(void *parser)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DDXParser::ddx_start_document </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initialize the SAX parser state object. This object is passed to each callback as a void pointer. The initial state is parser_start.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">parser</td><td>The SAX parser </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="DDXParserSAX2_8cc_source.html#l00519">519</a> of file <a class="el" href="DDXParserSAX2_8cc_source.html">DDXParserSAX2.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00073">DBG2</a>, and <a class="el" href="DDS_8cc_source.html#l00460">libdap::DDS::get_attr_table()</a>.</p>

<p>Referenced by <a class="el" href="DDXParserSAX2_8cc_source.html#l01172">intern()</a>, and <a class="el" href="DDXParserSAX2_8cc_source.html#l01107">intern_stream()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DDXParser_a6c348bc021092a96a4110e979011bbb4_cgraph.png" border="0" usemap="#classlibdap_1_1DDXParser_a6c348bc021092a96a4110e979011bbb4_cgraph" alt=""/></div>
<map name="classlibdap_1_1DDXParser_a6c348bc021092a96a4110e979011bbb4_cgraph" id="classlibdap_1_1DDXParser_a6c348bc021092a96a4110e979011bbb4_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1DDS.html#a177e3df069cb0dcb3b30c0dcd236f8b3" title="libdap::DDS::get_attr_table" alt="" coords="447,5,737,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ab9b18fbb234851a7047e8fe4d38233b8"></a><!-- doxytag: member="libdap::DDXParser::intern" ref="ab9b18fbb234851a7047e8fe4d38233b8" args="(const string &amp;document, DDS *dest_dds, string &amp;cid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DDXParser::intern </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>document</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> *&#160;</td>
          <td class="paramname"><em>dest_dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string &amp;&#160;</td>
          <td class="paramname"><em>cid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Parse a DDX document stored in a file. The XML in the document is parsed and a binary DDX is built. This implementation stores the result in a <a class="el" href="classlibdap_1_1DDS.html">DDS</a> object where each instance of <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> can hold an <a class="el" href="classlibdap_1_1AttrTable.html" title="Contains the attributes for a dataset.">AttrTable</a> object.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">document</td><td>Read the DDX from this file. </td></tr>
    <tr><td class="paramname">dest_dds</td><td>Value/result parameter; dumps the information to this <a class="el" href="classlibdap_1_1DDS.html">DDS</a> instance. </td></tr>
    <tr><td class="paramname">cid</td><td>Value/result parameter; puts the href which references the <code>CID</code>. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classlibdap_1_1DDXParseFailed.html">DDXParseFailed</a></td><td>Thrown if the XML document could not be read or parsed. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="DDXParserSAX2_8cc_source.html#l01172">1172</a> of file <a class="el" href="DDXParserSAX2_8cc_source.html">DDXParserSAX2.cc</a>.</p>

<p>References <a class="el" href="DDXParserSAX2_8cc_source.html#l00540">ddx_end_document()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01056">ddx_fatal_error()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01020">ddx_get_cdata()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l00976">ddx_get_characters()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01044">ddx_get_entity()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01000">ddx_ignoreable_whitespace()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l00798">ddx_sax2_end_element()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l00569">ddx_sax2_start_element()</a>, and <a class="el" href="DDXParserSAX2_8cc_source.html#l00519">ddx_start_document()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DDXParser_ab9b18fbb234851a7047e8fe4d38233b8_cgraph.png" border="0" usemap="#classlibdap_1_1DDXParser_ab9b18fbb234851a7047e8fe4d38233b8_cgraph" alt=""/></div>
<map name="classlibdap_1_1DDXParser_ab9b18fbb234851a7047e8fe4d38233b8_cgraph" id="classlibdap_1_1DDXParser_ab9b18fbb234851a7047e8fe4d38233b8_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1DDXParser.html#ac17cd783fde5a64b25ea052b20c58e23" title="libdap::DDXParser::ddx_end_document" alt="" coords="372,132,743,159"/><area shape="rect" id="node14" href="classlibdap_1_1DDXParser.html#a05cf7e51b13e0ecb78008db76f3b131e" title="libdap::DDXParser::ddx_fatal_error" alt="" coords="852,183,1215,209"/><area shape="rect" id="node25" href="classlibdap_1_1DDXParser.html#ac3d7aedee1616e457ccc507c57e8b156" title="libdap::DDXParser::ddx_get_cdata" alt="" coords="387,183,728,209"/><area shape="rect" id="node28" href="classlibdap_1_1DDXParser.html#a397d57776a44c3f4af9981f9e5352f6e" title="libdap::DDXParser::ddx_get_characters" alt="" coords="361,385,753,412"/><area shape="rect" id="node30" href="classlibdap_1_1DDXParser.html#afaa8276f50340b319d9aa6613bb6014b" title="libdap::DDXParser::ddx_get_entity" alt="" coords="381,436,733,463"/><area shape="rect" id="node32" href="classlibdap_1_1DDXParser.html#a2a2083b22105ff5d8269642c37e0d429" title="libdap::DDXParser::ddx_ignoreable_whitespace" alt="" coords="327,487,788,513"/><area shape="rect" id="node34" href="classlibdap_1_1DDXParser.html#a9e1509b05a8287ef873094ab64883800" title="libdap::DDXParser::ddx_sax2_end_element" alt="" coords="352,284,763,311"/><area shape="rect" id="node61" href="classlibdap_1_1DDXParser.html#a3f6ffdf8d928603db3bf2bf4f6b09cec" title="libdap::DDXParser::ddx_sax2_start_element" alt="" coords="341,335,773,361"/><area shape="rect" id="node72" href="classlibdap_1_1DDXParser.html#a6c348bc021092a96a4110e979011bbb4" title="libdap::DDXParser::ddx_start_document" alt="" coords="361,537,753,564"/><area shape="rect" id="node5" href="classlibdap_1_1DDS.html#ade87418e97ee5c7efd92279cd41e421c" title="Adds a copy of the variable to the DDS. Using the ptr_duplicate() method, perform a deep copy on the ..." alt="" coords="923,31,1144,57"/><area shape="rect" id="node20" href="classlibdap_1_1Constructor.html#adeafe3d6c82d07b456a598a7b446c2c6" title="libdap::Constructor::var_begin" alt="" coords="872,81,1195,108"/><area shape="rect" id="node22" href="classlibdap_1_1Constructor.html#a936b38c7c35ffb4fe17c5b8e85bdaaa2" title="libdap::Constructor::var_end" alt="" coords="883,132,1184,159"/><area shape="rect" id="node7" href="classlibdap_1_1Structure.html#aa2e403ad2ce9b78f279a18799f61b353" title="libdap::Structure::add_var" alt="" coords="1283,56,1565,83"/><area shape="rect" id="node9" href="classlibdap_1_1BaseType.html#a0b130311c9901fb8a7ab11ea19090ef0" title="libdap::BaseType::ptr_duplicate" alt="" coords="1620,5,1951,32"/><area shape="rect" id="node11" href="classlibdap_1_1BaseType.html#a5b6a39f6ce6594fa74f3fc899ac9a966" title="libdap::BaseType::set_parent" alt="" coords="1635,56,1936,83"/><area shape="rect" id="node16" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="1303,183,1545,209"/><area shape="rect" id="node18" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="1629,183,1941,209"/><area shape="rect" id="node36" href="classlibdap_1_1BaseType.html#adca3c2621c4a509537c18362005d7f7f" title="Add a variable." alt="" coords="897,284,1169,311"/><area shape="rect" id="node38" href="classlibdap_1_1AttrTable.html#a7a526505d174c7a2f33e6b57761f8bc4" title="Add an attribute to the table." alt="" coords="872,385,1195,412"/><area shape="rect" id="node54" href="classlibdap_1_1BaseType.html#a9eb6cae7f3490723180131345c85cfc7" title="Returns true if the instance is a constructor (i.e., Structure, Sequence or Grid) type variable..." alt="" coords="837,233,1229,260"/><area shape="rect" id="node58" href="classlibdap_1_1BaseType.html#ad1d57be80c8e89b8a9e59bed48779556" title="Returns true if the instance is a vector (i.e., array) type variable." alt="" coords="863,335,1204,361"/><area shape="rect" id="node40" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="1279,385,1569,412"/><area shape="rect" id="node42" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="1624,360,1947,387"/><area shape="rect" id="node45" href="namespacelibdap.html#a6d4117c49771ce2665142ff0dd9c976b" title="libdap::String_to_AttrType" alt="" coords="1283,436,1565,463"/><area shape="rect" id="node49" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="1343,284,1505,311"/><area shape="rect" id="node47" href="namespacelibdap.html#a7edce266869606fc7bb46124f8d63809" title="libdap::downcase" alt="" coords="1695,436,1876,463"/><area shape="rect" id="node51" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="1680,284,1891,311"/><area shape="rect" id="node56" href="classlibdap_1_1BaseType.html#abc6b2d7099f00bb5f324ec129bff2a17" title="Returns the type of the class instance." alt="" coords="1303,233,1545,260"/><area shape="rect" id="node64" href="classlibdap_1_1DDS.html#a53f79560bd6a0f60a37b99f602390631" title="libdap::DDS::set_dap_version" alt="" coords="883,487,1184,513"/><area shape="rect" id="node70" href="classlibdap_1_1DDS.html#a0138ce1c3b26968f968a6b723ec70dfb" title="libdap::DDS::set_dataset_name" alt="" coords="877,436,1189,463"/><area shape="rect" id="node66" href="classlibdap_1_1DDS.html#a03062495c46ed3fad9fa0a5f6f6e8d00" title="Set the DAP major version (typically using info from the client)" alt="" coords="1283,487,1565,513"/><area shape="rect" id="node68" href="classlibdap_1_1DDS.html#a358929d8f517dcdfe439037fb402351b" title="Set the DAP minor version (typically using info from the client)" alt="" coords="1283,537,1565,564"/><area shape="rect" id="node74" href="classlibdap_1_1DDS.html#a177e3df069cb0dcb3b30c0dcd236f8b3" title="libdap::DDS::get_attr_table" alt="" coords="888,537,1179,564"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a76537c4e78cb5913b2c2f78b9f7cd458"></a><!-- doxytag: member="libdap::DDXParser::intern_stream" ref="a76537c4e78cb5913b2c2f78b9f7cd458" args="(FILE *in, DDS *dds, string &amp;cid, const string &amp;boundary=&quot;&quot;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::DDXParser::intern_stream </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> *&#160;</td>
          <td class="paramname"><em>dest_dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string &amp;&#160;</td>
          <td class="paramname"><em>cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>boundary</em> = <code>&quot;&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1DDXParser.html#ab9b18fbb234851a7047e8fe4d38233b8">DDXParser::intern()</a>. </dd></dl>

<p>Definition at line <a class="el" href="DDXParserSAX2_8cc_source.html#l01107">1107</a> of file <a class="el" href="DDXParserSAX2_8cc_source.html">DDXParserSAX2.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l00540">ddx_end_document()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01056">ddx_fatal_error()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01020">ddx_get_cdata()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l00976">ddx_get_characters()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01044">ddx_get_entity()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l01000">ddx_ignoreable_whitespace()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l00798">ddx_sax2_end_element()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l00569">ddx_sax2_start_element()</a>, <a class="el" href="DDXParserSAX2_8cc_source.html#l00519">ddx_start_document()</a>, and <a class="el" href="mime__util_8cc_source.html#l00781">libdap::is_boundary()</a>.</p>

<p>Referenced by <a class="el" href="Connect_8cc_source.html#l00633">libdap::Connect::request_ddx()</a>, and <a class="el" href="Connect_8cc_source.html#l00706">libdap::Connect::request_ddx_url()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classlibdap_1_1DDXParser_a76537c4e78cb5913b2c2f78b9f7cd458_cgraph.png" border="0" usemap="#classlibdap_1_1DDXParser_a76537c4e78cb5913b2c2f78b9f7cd458_cgraph" alt=""/></div>
<map name="classlibdap_1_1DDXParser_a76537c4e78cb5913b2c2f78b9f7cd458_cgraph" id="classlibdap_1_1DDXParser_a76537c4e78cb5913b2c2f78b9f7cd458_cgraph">
<area shape="rect" id="node3" href="classlibdap_1_1DDXParser.html#ac17cd783fde5a64b25ea052b20c58e23" title="libdap::DDXParser::ddx_end_document" alt="" coords="444,132,815,159"/><area shape="rect" id="node14" href="classlibdap_1_1DDXParser.html#a05cf7e51b13e0ecb78008db76f3b131e" title="libdap::DDXParser::ddx_fatal_error" alt="" coords="924,183,1287,209"/><area shape="rect" id="node25" href="classlibdap_1_1DDXParser.html#ac3d7aedee1616e457ccc507c57e8b156" title="libdap::DDXParser::ddx_get_cdata" alt="" coords="459,233,800,260"/><area shape="rect" id="node28" href="classlibdap_1_1DDXParser.html#a397d57776a44c3f4af9981f9e5352f6e" title="libdap::DDXParser::ddx_get_characters" alt="" coords="433,385,825,412"/><area shape="rect" id="node30" href="classlibdap_1_1DDXParser.html#afaa8276f50340b319d9aa6613bb6014b" title="libdap::DDXParser::ddx_get_entity" alt="" coords="453,436,805,463"/><area shape="rect" id="node32" href="classlibdap_1_1DDXParser.html#a2a2083b22105ff5d8269642c37e0d429" title="libdap::DDXParser::ddx_ignoreable_whitespace" alt="" coords="399,487,860,513"/><area shape="rect" id="node34" href="classlibdap_1_1DDXParser.html#a9e1509b05a8287ef873094ab64883800" title="libdap::DDXParser::ddx_sax2_end_element" alt="" coords="424,284,835,311"/><area shape="rect" id="node61" href="classlibdap_1_1DDXParser.html#a3f6ffdf8d928603db3bf2bf4f6b09cec" title="libdap::DDXParser::ddx_sax2_start_element" alt="" coords="413,335,845,361"/><area shape="rect" id="node72" href="classlibdap_1_1DDXParser.html#a6c348bc021092a96a4110e979011bbb4" title="libdap::DDXParser::ddx_start_document" alt="" coords="433,537,825,564"/><area shape="rect" id="node76" href="namespacelibdap.html#adf7e4c413496dc6047a0ea00855e78cb" title="libdap::is_boundary" alt="" coords="524,588,735,615"/><area shape="rect" id="node5" href="classlibdap_1_1DDS.html#ade87418e97ee5c7efd92279cd41e421c" title="Adds a copy of the variable to the DDS. Using the ptr_duplicate() method, perform a deep copy on the ..." alt="" coords="995,31,1216,57"/><area shape="rect" id="node20" href="classlibdap_1_1Constructor.html#adeafe3d6c82d07b456a598a7b446c2c6" title="libdap::Constructor::var_begin" alt="" coords="944,81,1267,108"/><area shape="rect" id="node22" href="classlibdap_1_1Constructor.html#a936b38c7c35ffb4fe17c5b8e85bdaaa2" title="libdap::Constructor::var_end" alt="" coords="955,132,1256,159"/><area shape="rect" id="node7" href="classlibdap_1_1Structure.html#aa2e403ad2ce9b78f279a18799f61b353" title="libdap::Structure::add_var" alt="" coords="1355,56,1637,83"/><area shape="rect" id="node9" href="classlibdap_1_1BaseType.html#a0b130311c9901fb8a7ab11ea19090ef0" title="libdap::BaseType::ptr_duplicate" alt="" coords="1692,5,2023,32"/><area shape="rect" id="node11" href="classlibdap_1_1BaseType.html#a5b6a39f6ce6594fa74f3fc899ac9a966" title="libdap::BaseType::set_parent" alt="" coords="1707,56,2008,83"/><area shape="rect" id="node16" href="namespacelibdap.html#a317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="1375,183,1617,209"/><area shape="rect" id="node18" href="namespacelibdap.html#a576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="1701,183,2013,209"/><area shape="rect" id="node36" href="classlibdap_1_1BaseType.html#adca3c2621c4a509537c18362005d7f7f" title="Add a variable." alt="" coords="969,284,1241,311"/><area shape="rect" id="node38" href="classlibdap_1_1AttrTable.html#a7a526505d174c7a2f33e6b57761f8bc4" title="Add an attribute to the table." alt="" coords="944,385,1267,412"/><area shape="rect" id="node54" href="classlibdap_1_1BaseType.html#a9eb6cae7f3490723180131345c85cfc7" title="Returns true if the instance is a constructor (i.e., Structure, Sequence or Grid) type variable..." alt="" coords="909,233,1301,260"/><area shape="rect" id="node58" href="classlibdap_1_1BaseType.html#ad1d57be80c8e89b8a9e59bed48779556" title="Returns true if the instance is a vector (i.e., array) type variable." alt="" coords="935,335,1276,361"/><area shape="rect" id="node40" href="classlibdap_1_1AttrTable.html#a689563c3beb8e6f571387c5105821f27" title="Get the type name of an attribute within this attribute table." alt="" coords="1351,385,1641,412"/><area shape="rect" id="node42" href="classlibdap_1_1AttrTable.html#ae7824f413ad036d91df0ef62cac14351" title="libdap::AttrTable::simple_find" alt="" coords="1696,360,2019,387"/><area shape="rect" id="node45" href="namespacelibdap.html#a6d4117c49771ce2665142ff0dd9c976b" title="libdap::String_to_AttrType" alt="" coords="1355,436,1637,463"/><area shape="rect" id="node49" href="namespacelibdap.html#a376f9593431111a80ef78c98b8f4a0e2" title="libdap::www2id" alt="" coords="1415,284,1577,311"/><area shape="rect" id="node47" href="namespacelibdap.html#a7edce266869606fc7bb46124f8d63809" title="libdap::downcase" alt="" coords="1767,436,1948,463"/><area shape="rect" id="node51" href="namespacelibdap.html#a9a3ca0a741a80db615410ac7dc3417f0" title="libdap::unhexstring" alt="" coords="1752,284,1963,311"/><area shape="rect" id="node56" href="classlibdap_1_1BaseType.html#abc6b2d7099f00bb5f324ec129bff2a17" title="Returns the type of the class instance." alt="" coords="1375,233,1617,260"/><area shape="rect" id="node64" href="classlibdap_1_1DDS.html#a53f79560bd6a0f60a37b99f602390631" title="libdap::DDS::set_dap_version" alt="" coords="955,487,1256,513"/><area shape="rect" id="node70" href="classlibdap_1_1DDS.html#a0138ce1c3b26968f968a6b723ec70dfb" title="libdap::DDS::set_dataset_name" alt="" coords="949,436,1261,463"/><area shape="rect" id="node66" href="classlibdap_1_1DDS.html#a03062495c46ed3fad9fa0a5f6f6e8d00" title="Set the DAP major version (typically using info from the client)" alt="" coords="1355,487,1637,513"/><area shape="rect" id="node68" href="classlibdap_1_1DDS.html#a358929d8f517dcdfe439037fb402351b" title="Set the DAP minor version (typically using info from the client)" alt="" coords="1355,537,1637,564"/><area shape="rect" id="node74" href="classlibdap_1_1DDS.html#a177e3df069cb0dcb3b30c0dcd236f8b3" title="libdap::DDS::get_attr_table" alt="" coords="960,537,1251,564"/></map>
</div>
</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a99e6fccac5f43590df51a5d657c002da"></a><!-- doxytag: member="libdap::DDXParser::DDXParserTest" ref="a99e6fccac5f43590df51a5d657c002da" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class DDXParserTest<code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="DDXParserSAX2_8h_source.html#l00231">231</a> of file <a class="el" href="DDXParserSAX2_8h_source.html">DDXParserSAX2.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="DDXParserSAX2_8h_source.html">DDXParserSAX2.h</a></li>
<li><a class="el" href="DDXParserSAX2_8cc_source.html">DDXParserSAX2.cc</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacelibdap.html">libdap</a>      </li>
      <li class="navelem"><a class="el" href="classlibdap_1_1DDXParser.html">DDXParser</a>      </li>
      <li class="footer">Generated on Tue Feb 8 2011 for libdap++ by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>