<!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>Xalan-C++ API : Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<!-- The head section is copied from Doxygen 1.7.1 generated default output -->
<body>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center"><a href="../index.html">The Xalan C++ XSLT Processor Version 1.11</a></h3>
<hr/>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>XercesDOMImplementationWrapper.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XercesDOMImplementationWrapper_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span>
<a name="l00003"></a>00003 <span class="comment"> * or more contributor license agreements. See the NOTICE file</span>
<a name="l00004"></a>00004 <span class="comment"> * distributed with this work for additional information</span>
<a name="l00005"></a>00005 <span class="comment"> * regarding copyright ownership. The ASF licenses this file</span>
<a name="l00006"></a>00006 <span class="comment"> * to you under the Apache License, Version 2.0 (the  &quot;License&quot;);</span>
<a name="l00007"></a>00007 <span class="comment"> * you may not use this file except in compliance with the License.</span>
<a name="l00008"></a>00008 <span class="comment"> * You may obtain a copy of the License at</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00011"></a>00011 <span class="comment"> *</span>
<a name="l00012"></a>00012 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00013"></a>00013 <span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
<a name="l00014"></a>00014 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00015"></a>00015 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00016"></a>00016 <span class="comment"> * limitations under the License.</span>
<a name="l00017"></a>00017 <span class="comment"> */</span>
<a name="l00018"></a>00018 <span class="preprocessor">#if !defined(XERCESDOMIMPLEMENTATIONWRAPPER_HEADER_GUARD_1357924680)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define XERCESDOMIMPLEMENTATIONWRAPPER_HEADER_GUARD_1357924680</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="XercesParserLiaisonDefinitions_8hpp.html">xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp</a>&gt;</span>
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="XalanMemMgrAutoPtr_8hpp.html">xalanc/Include/XalanMemMgrAutoPtr.hpp</a>&gt;</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="XalanDOMImplementation_8hpp.html">xalanc/XalanDOM/XalanDOMImplementation.hpp</a>&gt;</span>
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;<a class="code" href="XercesWrapperTypes_8hpp.html">xalanc/XercesParserLiaison/XercesWrapperTypes.hpp</a>&gt;</span>
<a name="l00032"></a>00032 
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00036"></a>00036 
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 <span class="keyword">class </span><a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>;
<a name="l00040"></a>00040 
<a name="l00041"></a>00041 
<a name="l00042"></a>00042 
<a name="l00043"></a><a class="code" href="classXercesDOMImplementationWrapper.html">00043</a> <span class="keyword">class </span><a class="code" href="XercesParserLiaisonDefinitions_8hpp.html#a8784e34032853206369b8386f5a993d8">XALAN_XERCESPARSERLIAISON_EXPORT</a> <a class="code" href="classXercesDOMImplementationWrapper.html">XercesDOMImplementationWrapper</a> : <span class="keyword">public</span> <a class="code" href="classXalanDOMImplementation.html">XalanDOMImplementation</a>
<a name="l00044"></a>00044 {
<a name="l00045"></a>00045 <span class="keyword">public</span>:
<a name="l00046"></a>00046 
<a name="l00047"></a>00047     <a class="code" href="classXercesDOMImplementationWrapper.html">XercesDOMImplementationWrapper</a>(<a class="code" href="XercesWrapperTypes_8hpp.html#a08e4b908b7d16a308b12791d99d5b641">DOMImplementationType</a>*   theXercesDOMImplementation);
<a name="l00048"></a>00048 
<a name="l00049"></a>00049     <span class="keyword">static</span> <a class="code" href="classXercesDOMImplementationWrapper.html">XercesDOMImplementationWrapper</a>*
<a name="l00050"></a>00050     create(MemoryManager&amp; theManager, <a class="code" href="XercesWrapperTypes_8hpp.html#a08e4b908b7d16a308b12791d99d5b641">DOMImplementationType</a>*    theXercesDOMImplementation);
<a name="l00051"></a>00051 
<a name="l00052"></a>00052     <span class="keyword">virtual</span>
<a name="l00053"></a>00053     ~<a class="code" href="classXercesDOMImplementationWrapper.html">XercesDOMImplementationWrapper</a>();
<a name="l00054"></a>00054 <span class="comment"></span>
<a name="l00055"></a>00055 <span class="comment">    /** @name Getter functions */</span><span class="comment"></span>
<a name="l00056"></a>00056 <span class="comment">    //@{</span>
<a name="l00057"></a>00057 <span class="comment"></span><span class="comment"></span>
<a name="l00058"></a>00058 <span class="comment">    /**</span>
<a name="l00059"></a>00059 <span class="comment">     * Test if the DOM implementation implements a specific feature.</span>
<a name="l00060"></a>00060 <span class="comment">     *</span>
<a name="l00061"></a>00061 <span class="comment">     * @param feature The string of the feature to test (case-insensitive). The legal </span>
<a name="l00062"></a>00062 <span class="comment">     *        values are defined throughout this specification. The string must be </span>
<a name="l00063"></a>00063 <span class="comment">     *        an &lt;EM&gt;XML name&lt;/EM&gt; (see also Compliance).</span>
<a name="l00064"></a>00064 <span class="comment">     * @param version This is the version number of the package name to test.  </span>
<a name="l00065"></a>00065 <span class="comment">     *   In Level 1, this is the string &quot;1.0&quot;. If the version is not specified, </span>
<a name="l00066"></a>00066 <span class="comment">     *   supporting any version of the  feature will cause the method to return </span>
<a name="l00067"></a>00067 <span class="comment">     *   &lt;code&gt;true&lt;/code&gt;. </span>
<a name="l00068"></a>00068 <span class="comment">     * @return &lt;code&gt;true&lt;/code&gt; if the feature is implemented in the specified </span>
<a name="l00069"></a>00069 <span class="comment">     *   version, &lt;code&gt;false&lt;/code&gt; otherwise.</span>
<a name="l00070"></a>00070 <span class="comment">     */</span>
<a name="l00071"></a>00071     <span class="keyword">virtual</span> <span class="keywordtype">bool</span>
<a name="l00072"></a>00072     <a class="code" href="classXalanDOMImplementation.html#a2753574fea033ec0a61344ddd9b89053" title="Test if the DOM implementation implements a specific feature.">hasFeature</a>(
<a name="l00073"></a>00073             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   feature,
<a name="l00074"></a>00074             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   version);
<a name="l00075"></a>00075 <span class="comment"></span>
<a name="l00076"></a>00076 <span class="comment"> //@}</span>
<a name="l00077"></a>00077 <span class="comment"></span><span class="comment"></span>
<a name="l00078"></a>00078 <span class="comment">    /** @name Functions introduced in DOM Level 2. */</span><span class="comment"></span>
<a name="l00079"></a>00079 <span class="comment">    //@{</span>
<a name="l00080"></a>00080 <span class="comment"></span><span class="comment"></span>
<a name="l00081"></a>00081 <span class="comment">    /**</span>
<a name="l00082"></a>00082 <span class="comment">     * Creates an empty &lt;code&gt;DOMDocumentType&lt;/code&gt; node.</span>
<a name="l00083"></a>00083 <span class="comment">     * Entity declarations and notations are not made available.</span>
<a name="l00084"></a>00084 <span class="comment">     * Entity reference expansions and default attribute additions</span>
<a name="l00085"></a>00085 <span class="comment">     * do not occur. It is expected that a future version of the DOM</span>
<a name="l00086"></a>00086 <span class="comment">     * will provide a way for populating a &lt;code&gt;DOMDocumentType&lt;/code&gt;.</span>
<a name="l00087"></a>00087 <span class="comment">     * @param qualifiedName The &lt;em&gt;qualified name&lt;/em&gt;</span>
<a name="l00088"></a>00088 <span class="comment">     * of the document type to be created.</span>
<a name="l00089"></a>00089 <span class="comment">     * @param publicId The external subset public identifier.</span>
<a name="l00090"></a>00090 <span class="comment">     * @param systemId The external subset system identifier.</span>
<a name="l00091"></a>00091 <span class="comment">     * @return A new &lt;code&gt;DocumentType&lt;/code&gt; node with</span>
<a name="l00092"></a>00092 <span class="comment">     * &lt;code&gt;Node.ownerDocument&lt;/code&gt; set to &lt;code&gt;null&lt;/code&gt;.</span>
<a name="l00093"></a>00093 <span class="comment">     */</span>
<a name="l00094"></a>00094     <span class="keyword">virtual</span> <a class="code" href="classXalanDocumentType.html">XalanDocumentType</a>*
<a name="l00095"></a>00095     <a class="code" href="classXalanDOMImplementation.html#a00cdfb930c36cb121aec01160526990b" title="Creates an empty DocumentType node.">createDocumentType</a>(
<a name="l00096"></a>00096             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   qualifiedName,
<a name="l00097"></a>00097             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   publicId,
<a name="l00098"></a>00098             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   systemId);
<a name="l00099"></a>00099 <span class="comment"></span>
<a name="l00100"></a>00100 <span class="comment">    /**</span>
<a name="l00101"></a>00101 <span class="comment">     * Creates an XML &lt;code&gt;DOMDocument&lt;/code&gt; object of the specified type</span>
<a name="l00102"></a>00102 <span class="comment">     * with its document element.</span>
<a name="l00103"></a>00103 <span class="comment">     * @param namespaceURI The &lt;em&gt;namespace URI&lt;/em&gt; of</span>
<a name="l00104"></a>00104 <span class="comment">     * the document element to create, or &lt;code&gt;null&lt;/code&gt;.</span>
<a name="l00105"></a>00105 <span class="comment">     * @param qualifiedName The &lt;em&gt;qualified name&lt;/em&gt;</span>
<a name="l00106"></a>00106 <span class="comment">     * of the document element to be created.</span>
<a name="l00107"></a>00107 <span class="comment">     * @param doctype The type of document to be created or &lt;code&gt;null&lt;/code&gt;.</span>
<a name="l00108"></a>00108 <span class="comment">     * &lt;p&gt;When &lt;code&gt;doctype&lt;/code&gt; is not &lt;code&gt;null&lt;/code&gt;, its</span>
<a name="l00109"></a>00109 <span class="comment">     * &lt;code&gt;Node.ownerDocument&lt;/code&gt; attribute is set to the document</span>
<a name="l00110"></a>00110 <span class="comment">     * being created.</span>
<a name="l00111"></a>00111 <span class="comment">     * @return A new &lt;code&gt;Document&lt;/code&gt; object.</span>
<a name="l00112"></a>00112 <span class="comment">     * @exception DOMException</span>
<a name="l00113"></a>00113 <span class="comment">     *   WRONG_DOCUMENT_ERR: Raised if &lt;code&gt;doctype&lt;/code&gt; has already</span>
<a name="l00114"></a>00114 <span class="comment">     *   been used with a different document.</span>
<a name="l00115"></a>00115 <span class="comment">     */</span>
<a name="l00116"></a>00116     <span class="keyword">virtual</span> <a class="code" href="classXalanDocument.html">XalanDocument</a>*
<a name="l00117"></a>00117     <a class="code" href="classXalanDOMImplementation.html#a79ebda0cdd88dadd8c248256a2193ff0" title="Creates an XML Document object of the specified type with its document element.">createDocument</a>(
<a name="l00118"></a>00118             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;       namespaceURI,
<a name="l00119"></a>00119             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;       qualifiedName,
<a name="l00120"></a>00120             <span class="keyword">const</span> <a class="code" href="classXalanDocumentType.html">XalanDocumentType</a>&amp;    doctype);
<a name="l00121"></a>00121 <span class="comment"></span>
<a name="l00122"></a>00122 <span class="comment">    /**</span>
<a name="l00123"></a>00123 <span class="comment">     * Get the Xerces node this instance represent.</span>
<a name="l00124"></a>00124 <span class="comment">     *</span>
<a name="l00125"></a>00125 <span class="comment">     * @return The Xerces node</span>
<a name="l00126"></a>00126 <span class="comment">     */</span>
<a name="l00127"></a>00127     <a class="code" href="XercesWrapperTypes_8hpp.html#a08e4b908b7d16a308b12791d99d5b641">DOMImplementationType</a>*
<a name="l00128"></a><a class="code" href="classXercesDOMImplementationWrapper.html#a26037e2331a99839cc653eea0a8d9873">00128</a>     getXercesNode()<span class="keyword"> const</span>
<a name="l00129"></a>00129 <span class="keyword">    </span>{
<a name="l00130"></a>00130         <span class="keywordflow">return</span> m_xercesNode;
<a name="l00131"></a>00131     }
<a name="l00132"></a>00132 <span class="comment"></span>
<a name="l00133"></a>00133 <span class="comment">    //@}</span>
<a name="l00134"></a>00134 <span class="comment"></span>
<a name="l00135"></a>00135 <span class="keyword">private</span>:
<a name="l00136"></a>00136 
<a name="l00137"></a>00137     <span class="comment">// These are not defined...</span>
<a name="l00138"></a>00138 
<a name="l00139"></a>00139     <a class="code" href="classXercesDOMImplementationWrapper.html">XercesDOMImplementationWrapper</a>(<span class="keyword">const</span> <a class="code" href="classXercesDOMImplementationWrapper.html">XercesDOMImplementationWrapper</a>&amp;    theSource);
<a name="l00140"></a>00140 
<a name="l00141"></a>00141     <a class="code" href="classXercesDOMImplementationWrapper.html">XercesDOMImplementationWrapper</a>&amp;
<a name="l00142"></a>00142     <a class="code" href="classXalanDOMImplementation.html#a50a415da9fe7840dab24c709592f1a00">operator=</a>(<span class="keyword">const</span> <a class="code" href="classXercesDOMImplementationWrapper.html">XercesDOMImplementationWrapper</a>&amp;     theSource);
<a name="l00143"></a>00143 
<a name="l00144"></a>00144     <span class="keywordtype">bool</span>
<a name="l00145"></a>00145     <a class="code" href="classXalanDOMImplementation.html#a7ee108679ff3d592f3187c9cb40e3ad7">operator==</a>(<span class="keyword">const</span> <a class="code" href="classXercesDOMImplementationWrapper.html">XercesDOMImplementationWrapper</a>&amp;    theRHS) <span class="keyword">const</span>;
<a name="l00146"></a>00146 
<a name="l00147"></a>00147     <span class="comment">// Data members...</span>
<a name="l00148"></a>00148 
<a name="l00149"></a>00149     <a class="code" href="XercesWrapperTypes_8hpp.html#a08e4b908b7d16a308b12791d99d5b641">DOMImplementationType</a>* <span class="keyword">const</span>    m_xercesNode;
<a name="l00150"></a>00150 };
<a name="l00151"></a>00151 
<a name="l00152"></a>00152 
<a name="l00153"></a>00153 
<a name="l00154"></a>00154 XALAN_CPP_NAMESPACE_END
<a name="l00155"></a>00155 
<a name="l00156"></a>00156 
<a name="l00157"></a>00157 
<a name="l00158"></a>00158 <span class="preprocessor">#endif  // !defined (XERCESDOMIMPLEMENTATIONWRAPPER_HEADER_GUARD_1357924680)</span>
</pre></div></div>
</div>
<p align="center"><a href="graph_legend.html">Interpreting class diagrams</a></p>
<p><font color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><a href="http://www.doxygen.org/">Doxygen</a> and 
<a href="http://www.graphviz.org/">GraphViz</a> are 
used to generate this API documentation from the Xalan-C header files.</i></font></p>

<table border="0" cellpadding="0" cellspacing="0" width="80%">
 <tr>
  <td width="80%" valign="top">
	<p align="center"><b>Xalan-C++ XSLT Processor Version 1.11</b><br/>
	Copyright &copy; 1999-2012 The Apache Software Foundation.<br/>
	All Rights Reserved.</p>
  </td>
 </tr>
 <tr>
  <td width="100%">
	<p align="center"><img src="asf_logo_wide.gif" width="268" height="25" align="bottom" border="0" alt="Apache Logo">
  </td>
 </tr>
</table>
</body>
</html>
