<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
               Class DOMBuilder</h2><br><hr><pre>public class <strong>DOMBuilder</strong>
extends java.lang.Object</pre>The DOM builder loads an DOM from an InputStream. The loading is always namespace aware.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code><a href="#field__namespace_aware">_namespace_aware</a></code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code><a href="#field__validating">_validating</a></code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DOMBuilder">DOMBuilder</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.w3c.dom.Document</code></td><td width="" align="left"><code><a href="#method_load">load</a>(java.io.InputStream in)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Loads The XML document.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_validating">set_validating</a>(boolean x)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set validating boolean.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Field Detail
               </h2></td></tr></table><h2><a name="field__namespace_aware">_namespace_aware</a></h2><p><code>package-private boolean <strong>_namespace_aware</strong></code></p><hr><h2><a name="field__validating">_validating</a></h2><p><code>package-private boolean <strong>_validating</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Constructor Detail
               </h2></td></tr></table><h2><a name="con_DOMBuilder">DOMBuilder</a></h2><p><code>public <strong>DOMBuilder</strong>()</code></p><p>Constructor for DOM builder.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Methods Detail
               </h2></td></tr></table><h2><a name="method_load">load</a></h2><p><code>public org.w3c.dom.Document <strong>load</strong>(java.io.InputStream in)</code></p><p>Loads The XML document.</p><h3>Parameters</h3><p><code>in</code> - is the input stream.</p><h3>Returns</h3><p><code>org.w3c.dom.Document</code> - The loaded document.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DOMLoaderException - DOM loader exception.</code></p><hr><h2><a name="method_set_validating">set_validating</a></h2><p><code>public void <strong>set_validating</strong>(boolean x)</code></p><p>Set validating boolean.</p><h3>Parameters</h3><p><code>x</code> - is the value to set the validating boolean to.</p><hr></body></html>