<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Xerces-C++: URLInputSource Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>URLInputSource Class Reference</h1><!-- doxytag: class="URLInputSource" --><!-- doxytag: inherits="InputSource" -->This class is a derivative of the standard <a class="el" href="classInputSource.html" title="A single input source for an XML entity.">InputSource</a> class. <a href="#_details">More...</a> <p> <div class="dynheader"> Inheritance diagram for URLInputSource:</div> <div class="dynsection"> <p><center><img src="classURLInputSource.png" usemap="#URLInputSource_map" border="0" alt=""></center> <map name="URLInputSource_map"> <area href="classInputSource.html" alt="InputSource" shape="rect" coords="0,56,103,80"> <area href="classXMemory.html" alt="XMemory" shape="rect" coords="0,0,103,24"> </map> </div> <p> <a href="classURLInputSource-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">Constructors</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classURLInputSource.html#f2c1aeee16602f7344f621546c3dda43">URLInputSource</a> (const <a class="el" href="classXMLURL.html">XMLURL</a> &urlId, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This constructor accepts an already built URL. <a href="#f2c1aeee16602f7344f621546c3dda43"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classURLInputSource.html#419319e81d552d522f7caf18d8d18b1c">URLInputSource</a> (const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const baseId, const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const systemId, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This constructor takes a base system id URL and a possibly relative system id. <a href="#419319e81d552d522f7caf18d8d18b1c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classURLInputSource.html#6770558db627e6c1882f9fd601902583">URLInputSource</a> (const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const baseId, const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const systemId, const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const publicId, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This constructor is indentical to the previous one, except that it also allows you to set a public id if you want to. <a href="#6770558db627e6c1882f9fd601902583"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classURLInputSource.html#214e2618de14560895aa7c30802e4cce">URLInputSource</a> (const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const baseId, const char *const systemId, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This constructor is identical to the second constructor above, except that it accepts the relative system id part as a local code page string and just transcodes it internally, as a convenience. <a href="#214e2618de14560895aa7c30802e4cce"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classURLInputSource.html#06252cc0796b865555d21045184ec356">URLInputSource</a> (const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const baseId, const char *const systemId, const char *const publicId, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This constructor is identical to the third constructor above, except that it accepts the relative and public ids as local code page strings and just transcodes them internally, as a convenience. <a href="#06252cc0796b865555d21045184ec356"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader">Destructor</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classURLInputSource.html#66591f6547adc1d9da4a7783cc415c05">~URLInputSource</a> ()</td></tr> <tr><td colspan="2"><div class="groupHeader">Virtual methods</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classBinInputStream.html">BinInputStream</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classURLInputSource.html#be64ab1b64137f5a045fedd074b3d77f">makeStream</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method will return a binary input stream derivative that will parse from the source refered to by the URL system id. <a href="#be64ab1b64137f5a045fedd074b3d77f"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader">Getter methods</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classXMLURL.html">XMLURL</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classURLInputSource.html#c068469253e88fc5ae9a69e45ad7517d">urlSrc</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method will return a const reference to the URL member which contains the system id in pre-parsed URL form. <a href="#c068469253e88fc5ae9a69e45ad7517d"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> This class is a derivative of the standard <a class="el" href="classInputSource.html" title="A single input source for an XML entity.">InputSource</a> class. <p> It provides for the parser access to data which is referenced via a URL, as apposed to a local file name. The URL can be provided via an <a class="el" href="classXMLURL.html">XMLURL</a> class, as a fully qualified system id, or a base system id and a system id which may be fully qualified or may be relative to the base.<p> As with all <a class="el" href="classInputSource.html" title="A single input source for an XML entity.">InputSource</a> derivatives. The primary objective of an input source is to create an input stream via which the parser can spool in data from the referenced source.<p> Note that the parse system does not necessarily support URL based XML entities out of the box. Support for socket based access is optional and controlled by the per-platform support. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="f2c1aeee16602f7344f621546c3dda43"></a><!-- doxytag: member="URLInputSource::URLInputSource" ref="f2c1aeee16602f7344f621546c3dda43" args="(const XMLURL &urlId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">URLInputSource::URLInputSource </td> <td>(</td> <td class="paramtype">const <a class="el" href="classXMLURL.html">XMLURL</a> & </td> <td class="paramname"> <em>urlId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const </td> <td class="paramname"> <em>manager</em> = <code><a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> This constructor accepts an already built URL. <p> It is assumed that it is correct and it will be used as is. In this case, no public id accepted, but it can still be set via the parent class' <a class="el" href="classInputSource.html#4cb3a625fac37721b2c719183e124792" title="Set the public identifier for this input source.">setPublicId()</a> method.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>urlId</em> </td><td>The URL which holds the system id of the entity to parse. </td></tr> <tr><td valign="top"></td><td valign="top"><em>manager</em> </td><td>Pointer to the memory manager to be used to allocate objects. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="419319e81d552d522f7caf18d8d18b1c"></a><!-- doxytag: member="URLInputSource::URLInputSource" ref="419319e81d552d522f7caf18d8d18b1c" args="(const XMLCh *const baseId, const XMLCh *const systemId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">URLInputSource::URLInputSource </td> <td>(</td> <td class="paramtype">const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const </td> <td class="paramname"> <em>baseId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const </td> <td class="paramname"> <em>systemId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const </td> <td class="paramname"> <em>manager</em> = <code><a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> This constructor takes a base system id URL and a possibly relative system id. <p> The relative part is parsed and, if it is indeed relative, it will be made relative to the passed base id. Otherwise, it will be taken as is.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>baseId</em> </td><td>The base system id URL which provides the base for any relative id part.</td></tr> <tr><td valign="top"></td><td valign="top"><em>systemId</em> </td><td>The possibly relative system id URL. If its relative its based on baseId, else its taken as is. </td></tr> <tr><td valign="top"></td><td valign="top"><em>manager</em> </td><td>Pointer to the memory manager to be used to allocate objects. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="6770558db627e6c1882f9fd601902583"></a><!-- doxytag: member="URLInputSource::URLInputSource" ref="6770558db627e6c1882f9fd601902583" args="(const XMLCh *const baseId, const XMLCh *const systemId, const XMLCh *const publicId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">URLInputSource::URLInputSource </td> <td>(</td> <td class="paramtype">const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const </td> <td class="paramname"> <em>baseId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const </td> <td class="paramname"> <em>systemId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const </td> <td class="paramname"> <em>publicId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const </td> <td class="paramname"> <em>manager</em> = <code><a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> This constructor is indentical to the previous one, except that it also allows you to set a public id if you want to. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>baseId</em> </td><td>The base system id URL which provides the base for any relative id part.</td></tr> <tr><td valign="top"></td><td valign="top"><em>systemId</em> </td><td>The possibly relative system id URL. If its relative its based on baseId, else its taken as is.</td></tr> <tr><td valign="top"></td><td valign="top"><em>publicId</em> </td><td>The optional public id to set. This is just passed on to the parent class for storage.</td></tr> <tr><td valign="top"></td><td valign="top"><em>manager</em> </td><td>Pointer to the memory manager to be used to allocate objects. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="214e2618de14560895aa7c30802e4cce"></a><!-- doxytag: member="URLInputSource::URLInputSource" ref="214e2618de14560895aa7c30802e4cce" args="(const XMLCh *const baseId, const char *const systemId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">URLInputSource::URLInputSource </td> <td>(</td> <td class="paramtype">const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const </td> <td class="paramname"> <em>baseId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char *const </td> <td class="paramname"> <em>systemId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const </td> <td class="paramname"> <em>manager</em> = <code><a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> This constructor is identical to the second constructor above, except that it accepts the relative system id part as a local code page string and just transcodes it internally, as a convenience. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>baseId</em> </td><td>The base system id URL which provides the base for any relative id part.</td></tr> <tr><td valign="top"></td><td valign="top"><em>systemId</em> </td><td>The possibly relative system id URL. If its relative its based on baseId, else its taken as is.</td></tr> <tr><td valign="top"></td><td valign="top"><em>manager</em> </td><td>Pointer to the memory manager to be used to allocate objects. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="06252cc0796b865555d21045184ec356"></a><!-- doxytag: member="URLInputSource::URLInputSource" ref="06252cc0796b865555d21045184ec356" args="(const XMLCh *const baseId, const char *const systemId, const char *const publicId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">URLInputSource::URLInputSource </td> <td>(</td> <td class="paramtype">const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const </td> <td class="paramname"> <em>baseId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char *const </td> <td class="paramname"> <em>systemId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char *const </td> <td class="paramname"> <em>publicId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const </td> <td class="paramname"> <em>manager</em> = <code><a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> This constructor is identical to the third constructor above, except that it accepts the relative and public ids as local code page strings and just transcodes them internally, as a convenience. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>baseId</em> </td><td>The base system id URL which provides the base for any relative id part.</td></tr> <tr><td valign="top"></td><td valign="top"><em>systemId</em> </td><td>The possibly relative system id URL. If its relative its based on baseId, else its taken as is.</td></tr> <tr><td valign="top"></td><td valign="top"><em>publicId</em> </td><td>The optional public id to set. This is just passed on to the parent class for storage. on to the parent class for storage.</td></tr> <tr><td valign="top"></td><td valign="top"><em>manager</em> </td><td>Pointer to the memory manager to be used to allocate objects. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="66591f6547adc1d9da4a7783cc415c05"></a><!-- doxytag: member="URLInputSource::~URLInputSource" ref="66591f6547adc1d9da4a7783cc415c05" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">URLInputSource::~URLInputSource </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="be64ab1b64137f5a045fedd074b3d77f"></a><!-- doxytag: member="URLInputSource::makeStream" ref="be64ab1b64137f5a045fedd074b3d77f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classBinInputStream.html">BinInputStream</a>* URLInputSource::makeStream </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> This method will return a binary input stream derivative that will parse from the source refered to by the URL system id. <p> <p>Implements <a class="el" href="classInputSource.html#f0722ef511e91e7b290528b3fd13be09">InputSource</a>.</p> </div> </div><p> <a class="anchor" name="c068469253e88fc5ae9a69e45ad7517d"></a><!-- doxytag: member="URLInputSource::urlSrc" ref="c068469253e88fc5ae9a69e45ad7517d" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classXMLURL.html">XMLURL</a> & URLInputSource::urlSrc </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> This method will return a const reference to the URL member which contains the system id in pre-parsed URL form. <p> If you just want the string format, call <a class="el" href="classInputSource.html#0ab7381f8cf189abc2b97fe22dacb31e" title="Get the system identifier for this input source.">getSystemId()</a> on the parent class.<p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>A const reference to a URL object that contains the current system id set for this input source. </dd></dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="URLInputSource_8hpp-source.html">URLInputSource.hpp</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 29 15:30:49 2010 for Xerces-C++ by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>