uTools-Manuals/docs/java/javax/xml/parsers/DocumentBuilderFactory.html

836 lines
45 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact2, compact3
</div>
<div class="subTitle">
javax.xml.parsers
</div>
<h2 class="title" title="Class DocumentBuilderFactory">Class DocumentBuilderFactory</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.xml.parsers.DocumentBuilderFactory</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">DocumentBuilderFactory</span>
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
定义工厂API使应用程序能够从XML文档获取生成DOM对象树的解析器。
</div>
<dl>
<dt>
<span class="simpleTagLabel">Version:</span>
</dt>
<dd>
$修订1.9 $$日期2010/05/25 16:19:44 $
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#DocumentBuilderFactory--">DocumentBuilderFactory</a></span>()</code>
<div class="block">
受保护的构造函数以防止实例化。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t1"><span><a href="javascript:show(1);">静态方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>abstract <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#getAttribute-java.lang.String-">getAttribute</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name)</code>
<div class="block">
允许用户检索底层实现的特定属性。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#getFeature-java.lang.String-">getFeature</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name)</code>
<div class="block">
获取命名功能的状态。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#getSchema--">getSchema</a></span>()</code>
<div class="block">
<span>获取通过<a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setSchema-javax.xml.validation.Schema-"><code>setSchema(Schema schema)</code></a>方法指定的<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象。</span>
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#isCoalescing--">isCoalescing</a></span>()</code>
<div class="block">
指示工厂是否配置为生成将CDATA节点转换为文本节点并将其附加到相邻如果有文本节点的解析器。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#isExpandEntityReferences--">isExpandEntityReferences</a></span>()</code>
<div class="block">
指示工厂是否配置为生成扩展实体引用节点的解析器。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#isIgnoringComments--">isIgnoringComments</a></span>()</code>
<div class="block">
指示工厂是否配置为生成忽略注释的解析器。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#isIgnoringElementContentWhitespace--">isIgnoringElementContentWhitespace</a></span>()</code>
<div class="block">
指示工厂是否配置为生成忽略元素内容中的可忽略空白的解析器。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#isNamespaceAware--">isNamespaceAware</a></span>()</code>
<div class="block">
指示工厂是否配置为生成名称空间感知的解析器。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#isValidating--">isValidating</a></span>()</code>
<div class="block">
指示工厂是否配置为生成在解析期间验证XML内容的解析器。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#isXIncludeAware--">isXIncludeAware</a></span>()</code>
<div class="block">
获取XInclude处理的状态。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>abstract <a href="../../../javax/xml/parsers/DocumentBuilder.html" title="class in javax.xml.parsers">DocumentBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#newDocumentBuilder--">newDocumentBuilder</a></span>()</code>
<div class="block">
<span>使用当前配置的参数创建一个新的<a href="../../../javax/xml/parsers/DocumentBuilder.html" title="javax.xml.parsers中的类"><code>DocumentBuilder</code></a>实例。</span>
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>static <a href="../../../javax/xml/parsers/DocumentBuilderFactory.html" title="class in javax.xml.parsers">DocumentBuilderFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#newInstance--">newInstance</a></span>()</code>
<div class="block">
获得一个新的一个
<code>DocumentBuilderFactory</code>实例。
</div> </td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>static <a href="../../../javax/xml/parsers/DocumentBuilderFactory.html" title="class in javax.xml.parsers">DocumentBuilderFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#newInstance-java.lang.String-java.lang.ClassLoader-">newInstance</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> factoryClassName, <a href="../../../java/lang/ClassLoader.html" title="class in java.lang">ClassLoader</a> classLoader)</code>
<div class="block">
从类名获取一个新的实例
<code>DocumentBuilderFactory</code>
</div> </td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setAttribute-java.lang.String-java.lang.Object-">setAttribute</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> value)</code>
<div class="block">
允许用户在底层实现上设置特定属性。
</div> </td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setCoalescing-boolean-">setCoalescing</a></span>(boolean coalescing)</code>
<div class="block">
指定此代码生成的解析器将CDATA节点转换为文本节点并将其附加到相邻如果有的话文本节点。
</div> </td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setExpandEntityReferences-boolean-">setExpandEntityReferences</a></span>(boolean expandEntityRef)</code>
<div class="block">
指定此代码生成的解析器将扩展实体引用节点。
</div> </td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setFeature-java.lang.String-boolean-">setFeature</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name, boolean value)</code>
<div class="block">
为这个工厂创建的
<code>DocumentBuilderFactory</code>
<code>DocumentBuilder</code>设置了一个功能。
</div> </td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setIgnoringComments-boolean-">setIgnoringComments</a></span>(boolean ignoreComments)</code>
<div class="block">
指定此代码生成的解析器将忽略注释。
</div> </td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setIgnoringElementContentWhitespace-boolean-">setIgnoringElementContentWhitespace</a></span>(boolean whitespace)</code>
<div class="block">
指定此工厂创建的解析器必须在解析XML文档时消除元素内容中的空格有时称为“可忽略的空白”请参阅XML Rec 2.10)。
</div> </td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setNamespaceAware-boolean-">setNamespaceAware</a></span>(boolean awareness)</code>
<div class="block">
指定此代码生成的解析器将为XML命名空间提供支持。
</div> </td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setSchema-javax.xml.validation.Schema-">setSchema</a></span>(<a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> schema)</code>
<div class="block">
<span><a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>设置为由此工厂创建的解析器使用。</span>
</div> </td>
</tr>
<tr class="rowColor" id="i21">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setValidating-boolean-">setValidating</a></span>(boolean validating)</code>
<div class="block">
指定此代码生成的解析器将在文档解析时验证文档。
</div> </td>
</tr>
<tr class="altColor" id="i22">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setXIncludeAware-boolean-">setXIncludeAware</a></span>(boolean state)</code>
<div class="block">
设置XInclude处理的状态。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="DocumentBuilderFactory--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>DocumentBuilderFactory</h4> <pre>protected DocumentBuilderFactory()</pre>
<div class="block">
<p> <span>受保护的构造函数以防止实例化。</span> <span>使用<a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#newInstance--"><code>newInstance()</code></a></span> </p>
</div> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="newInstance--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newInstance</h4> <pre>public static <a href="../../../javax/xml/parsers/DocumentBuilderFactory.html" title="class in javax.xml.parsers">DocumentBuilderFactory</a> newInstance()</pre>
<div class="block">
<span>获得一个新的实例<code>DocumentBuilderFactory</code></span>
<span>这个静态方法创建一个新的工厂实例。</span>
<span>此方法使用以下有序查找过程来确定要加载的<code>DocumentBuilderFactory</code>实现类:</span>
<ul>
<li> <span>使用<code>javax.xml.parsers.DocumentBuilderFactory</code>系统属性。</span> </li>
<li> <span>在JRE目录中使用属性文件“lib / jaxp.properties”。</span> <span>此配置文件采用标准<code>java.util.Properties</code>格式,包含实现类的完全限定名称,其中键为上面定义的系统属性。</span> <span>jaxp.properties文件由JAXP实现只读一次然后将其缓存以备将来使用。</span> <span>如果文件第一次尝试读取文件不存在,则不再进一步检查其存在。</span> <span>在第一次读取jaxp.properties之后无法更改任何属性的值。</span> </li>
<li> <span>使用由<a href="../../../java/util/ServiceLoader.html" title="java.util中的类"><code>ServiceLoader</code></a>类定义的服务提供商加载工具,使用<a href="../../../java/util/ServiceLoader.html" title="java.util中的类">default loading mechanism</a>尝试定位并加载服务的<a href="../../../java/util/ServiceLoader.html#load-java.lang.Class-">实现</a> :服务提供商加载工具将使用<a href="../../../java/lang/Thread.html#getContextClassLoader--">current thread's context class loader</a>尝试加载服务。</span> <span>如果上下文类加载器为null <a href="../../../java/lang/ClassLoader.html#getSystemClassLoader--">那么</a>将使用<a href="../../../java/lang/ClassLoader.html#getSystemClassLoader--">system class loader</a></span> </li>
<li> <span>否则,返回系统默认实现。</span> </li>
</ul>
<span>一旦应用程序获得了对DocumentBuilderFactory的<code>DocumentBuilderFactory</code>它可以使用工厂来配置和获取解析器实例。</span>
<h2> <span>提示进行故障排除</span> </h2>
<p> <span>设置<code>jaxp.debug</code>系统属性将导致此方法打印大量调试消息到<code>System.err</code>关于它正在做什么和它在哪里看。</span> </p>
<p> <span>如果您有问题加载<a href="../../../javax/xml/parsers/DocumentBuilder.html" title="javax.xml.parsers中的类"><code>DocumentBuilder</code></a> s请尝试</span> </p>
<pre> <span>java -Djaxp.debug=1 YourProgram ....</span> </pre>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新实例的一个
<code>DocumentBuilderFactory</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/xml/parsers/FactoryConfigurationError.html" title="class in javax.xml.parsers">FactoryConfigurationError</a></code> -在以下情况下<a href="../../../java/util/ServiceConfigurationError.html" title="java.util中的类">service configuration error</a>或者如果实现不可用或不能被实例化。</span>
</dd>
</dl> </li>
</ul> <a name="newInstance-java.lang.String-java.lang.ClassLoader-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newInstance</h4> <pre>public static <a href="../../../javax/xml/parsers/DocumentBuilderFactory.html" title="class in javax.xml.parsers">DocumentBuilderFactory</a> newInstance(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> factoryClassName,
<a href="../../../java/lang/ClassLoader.html" title="class in java.lang">ClassLoader</a> classLoader)</pre>
<div class="block">
<p> <span>从类名获取一个新的实例<code>DocumentBuilderFactory</code></span> <span>在类路径中有多个提供程序时,此功能很有用。</span> <span>它可以更好地控制应用程序,因为它可以指定应该加载哪个提供程序。</span> </p>
<p> <span>一旦应用程序获得了对DocumentBuilderFactory的<code>DocumentBuilderFactory</code>就可以使用工厂来配置和获取解析器实例。</span> </p>
<h2> <span>提示进行故障排除</span> </h2>
<p> <span>设置<code>jaxp.debug</code>系统属性将导致此方法打印大量调试消息到<code>System.err</code>有关它在做什么和它在哪里看。</span> </p>
<p> <span>如果您有问题,请尝试:</span> </p>
<pre> <span>java -Djaxp.debug=1 YourProgram ....</span> </pre>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>factoryClassName</code> -完全限定工厂类名称,提供实施
<code>javax.xml.parsers.DocumentBuilderFactory</code>
</dd>
<dd>
<span><code>classLoader</code> - <code>ClassLoader</code>用于加载工厂类。</span>
<span>如果<code>null</code>当前的<code>Thread</code>的上下文classLoader用于加载工厂类。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>DocumentBuilderFactory</code>新实例
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/parsers/FactoryConfigurationError.html" title="class in javax.xml.parsers">FactoryConfigurationError</a></code> - 如果
<code>factoryClassName</code>
<code>null</code> ,或工厂类无法加载,实例化。
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#newInstance--"><code>newInstance()</code></a>
</dd>
</dl> </li>
</ul> <a name="newDocumentBuilder--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newDocumentBuilder</h4> <pre>public abstract <a href="../../../javax/xml/parsers/DocumentBuilder.html" title="class in javax.xml.parsers">DocumentBuilder</a> newDocumentBuilder()
throws <a href="../../../javax/xml/parsers/ParserConfigurationException.html" title="class in javax.xml.parsers">ParserConfigurationException</a></pre>
<div class="block">
<span>使用当前配置的参数创建一个新的<a href="../../../javax/xml/parsers/DocumentBuilder.html" title="javax.xml.parsers中的类"><code>DocumentBuilder</code></a>实例。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
DocumentBuilder的新实例。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/parsers/ParserConfigurationException.html" title="class in javax.xml.parsers">ParserConfigurationException</a></code> - 如果无法创建满足所请求配置的DocumentBuilder。
</dd>
</dl> </li>
</ul> <a name="setNamespaceAware-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setNamespaceAware</h4> <pre>public void setNamespaceAware(boolean awareness)</pre>
<div class="block">
<span>指定此代码生成的解析器将为XML命名空间提供支持。</span>
<span>默认情况下,该值设置为<code>false</code></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>awareness</code> - 如果生成的解析器将为XML命名空间提供支持则为true;</span>
<span>否则为假。</span>
</dd>
</dl> </li>
</ul> <a name="setValidating-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setValidating</h4> <pre>public void setValidating(boolean validating)</pre>
<div class="block">
<span>指定此代码生成的解析器将在文档解析时验证文档。</span>
<span>默认情况下,该值设置为<code>false</code></span>
<p> <span>需要注意的是“验证”在这里是指<a href="http://www.w3.org/TR/REC-xml#proc-types">a validating parser</a>如XML推荐定义。</span> <span>换句话说它基本上只是控制DTD验证。</span> <span>JAXP 1.2中定义的遗留的两个属性除外)</span> </p>
<p> <span>要使用现代模式语言如W3C XML Schema或RELAX NG而不是DTD您可以通过离开<a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setValidating-boolean-"><code>setValidating(boolean)</code></a>方法<code>false</code>将该解析器配置为非验证解析器,然后使用<a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setSchema-javax.xml.validation.Schema-"><code>setSchema(Schema)</code></a>方法将模式与解析器相关联。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>validating</code> - 如果生成的解析器将在验证文档时被解析则为true;</span>
<span>否则为假。</span>
</dd>
</dl> </li>
</ul> <a name="setIgnoringElementContentWhitespace-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setIgnoringElementContentWhitespace</h4> <pre>public void setIgnoringElementContentWhitespace(boolean whitespace)</pre>
<div class="block">
<span>指定此工厂创建的解析器必须在解析XML文档时消除元素内容中的空格有时称为“可忽略的空白”请参阅XML Rec 2.10)。</span>
<span>请注意只有具有仅包含元素内容模型参见XML Rec 3.2.1)的元素内容中直接包含的空格将被消除。</span>
<span>由于依赖于内容模型,此设置需要解析器处于验证模式。</span>
<span>默认情况下,该值设置为<code>false</code></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>whitespace</code> - 如果创建的解析器在解析XML文档时必须消除元素内容中的<code>whitespace</code> 则为true;</span>
<span>否则为假。</span>
</dd>
</dl> </li>
</ul> <a name="setExpandEntityReferences-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setExpandEntityReferences</h4> <pre>public void setExpandEntityReferences(boolean expandEntityRef)</pre>
<div class="block">
<span>指定此代码生成的解析器将扩展实体引用节点。</span>
<span>默认情况下,该值设置为<code>true</code></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>expandEntityRef</code> - 如果生成的解析器将扩展实体引用节点则为true;</span>
<span>否则为假。</span>
</dd>
</dl> </li>
</ul> <a name="setIgnoringComments-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setIgnoringComments</h4> <pre>public void setIgnoringComments(boolean ignoreComments)</pre>
<div class="block">
<p> <span>指定此代码生成的解析器将忽略注释。</span> <span>默认情况下,该值设置为<code>false</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>ignoreComments</code> -
<code>boolean</code>值在处理过程中忽略注释
</dd>
</dl> </li>
</ul> <a name="setCoalescing-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setCoalescing</h4> <pre>public void setCoalescing(boolean coalescing)</pre>
<div class="block">
<span>指定此代码生成的解析器将CDATA节点转换为文本节点并将其附加到相邻如果有的话文本节点。</span>
<span>默认情况下,该值设置为<code>false</code></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>coalescing</code> - 如果生成的解析器将CDATA节点转换为文本节点并将其附加到相邻如果有的话文本节点则为true;</span>
<span>否则为假。</span>
</dd>
</dl> </li>
</ul> <a name="isNamespaceAware--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isNamespaceAware</h4> <pre>public boolean isNamespaceAware()</pre>
<div class="block">
指示工厂是否配置为生成名称空间感知的解析器。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>如果工厂配置为生成名称空间感知的解析器则为true;</span>
<span>否则为假。</span>
</dd>
</dl> </li>
</ul> <a name="isValidating--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isValidating</h4> <pre>public boolean isValidating()</pre>
<div class="block">
指示工厂是否配置为生成在解析期间验证XML内容的解析器。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>如果工厂配置为生成在解析期间验证XML内容的解析器则为true;</span>
<span>否则为假。</span>
</dd>
</dl> </li>
</ul> <a name="isIgnoringElementContentWhitespace--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isIgnoringElementContentWhitespace</h4> <pre>public boolean isIgnoringElementContentWhitespace()</pre>
<div class="block">
指示工厂是否配置为生成忽略元素内容中的可忽略空白的解析器。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>如果工厂配置为生成忽略元素内容中的可忽略空白的解析器则为true;</span>
<span>否则为假。</span>
</dd>
</dl> </li>
</ul> <a name="isExpandEntityReferences--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isExpandEntityReferences</h4> <pre>public boolean isExpandEntityReferences()</pre>
<div class="block">
指示工厂是否配置为生成扩展实体引用节点的解析器。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>如果工厂配置为生成扩展实体引用节点的解析器则为true;</span>
<span>否则为假。</span>
</dd>
</dl> </li>
</ul> <a name="isIgnoringComments--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isIgnoringComments</h4> <pre>public boolean isIgnoringComments()</pre>
<div class="block">
指示工厂是否配置为生成忽略注释的解析器。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>如果工厂配置为生成忽略注释的解析器则为true;</span>
<span>否则为假。</span>
</dd>
</dl> </li>
</ul> <a name="isCoalescing--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isCoalescing</h4> <pre>public boolean isCoalescing()</pre>
<div class="block">
指示工厂是否配置为生成将CDATA节点转换为文本节点并将其附加到相邻如果有文本节点的解析器。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>如果工厂配置为生成将CDATA节点转换为文本节点并将其附加到相邻如果有的话文本节点的解析器则为true;</span>
<span>否则为假。</span>
</dd>
</dl> </li>
</ul> <a name="setAttribute-java.lang.String-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setAttribute</h4> <pre>public abstract void setAttribute(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> value)
throws <a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></pre>
<div class="block">
<span>允许用户在底层实现上设置特定属性。</span>
<p> <span>实现JAXP 1.5或更高版本的所有实现都需要支持<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_DTD"><code>XMLConstants.ACCESS_EXTERNAL_DTD</code></a><a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_SCHEMA"><code>XMLConstants.ACCESS_EXTERNAL_SCHEMA</code></a>属性。</span> </p>
<ul>
<li><p> <span>设置<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_DTD"><code>XMLConstants.ACCESS_EXTERNAL_DTD</code></a>属性限制对外部DTD的访问外部实体对属性指定的协议的引用。</span> <span>如果由于此属性的限制,在解析期间访问被拒绝, <a href="../../../org/xml/sax/SAXException.html" title="在org.xml.sax中的类"><code>SAXException</code></a>将被<a href="../../../javax/xml/parsers/DocumentBuilder.html" title="javax.xml.parsers中的类"><code>DocumentBuilder</code></a>定义的解析方法抛出。</span> </p><p> <span>设置<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_SCHEMA"><code>XMLConstants.ACCESS_EXTERNAL_SCHEMA</code></a>属性将对<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_SCHEMA">schemaLocation</a>属性设置的外部模式的访问限制为属性指定的协议。</span> <span>如果由于此属性的限制在解析期间访问被拒绝, <a href="../../../org/xml/sax/SAXException.html" title="在org.xml.sax中的类"><code>SAXException</code></a>将被<a href="../../../javax/xml/parsers/DocumentBuilder.html" title="javax.xml.parsers中的类"><code>DocumentBuilder</code></a>定义的解析方法抛出。</span> </p></li>
</ul>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>name</code> - 属性的名称。
</dd>
<dd>
<code>value</code> - 属性的值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果底层的实现无法识别属性,则抛出。
</dd>
</dl> </li>
</ul> <a name="getAttribute-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getAttribute</h4> <pre>public abstract <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> getAttribute(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name)
throws <a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></pre>
<div class="block">
允许用户检索底层实现的特定属性。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>name</code> - 属性的名称。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
value属性的值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果底层实现无法识别属性,则抛出。
</dd>
</dl> </li>
</ul> <a name="setFeature-java.lang.String-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setFeature</h4> <pre>public abstract void setFeature(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name,
boolean value)
throws <a href="../../../javax/xml/parsers/ParserConfigurationException.html" title="class in javax.xml.parsers">ParserConfigurationException</a></pre>
<div class="block">
<p> <span>设置此工厂创建的<code>DocumentBuilderFactory</code><code>DocumentBuilder</code>的功能。</span> </p>
<p> <span>功能名称完全符合<a href="../../../java/net/URI.html" title="java.net中的类"><code>URI</code></a> s。</span> <span>实现可以定义自己的特征。</span> <span>如果这个<code>DocumentBuilderFactory</code>或其创建的<code>DocumentBuilder</code> s无法支持该功能则会抛出一个<a href="../../../javax/xml/parsers/ParserConfigurationException.html" title="javax.xml.parsers中的类"><code>ParserConfigurationException</code></a></span> <span><code>DocumentBuilderFactory</code>可以公开特征值,但无法更改其状态。</span> </p>
<p> <span>所有实现都需要支持<a href="../../../javax/xml/XMLConstants.html#FEATURE_SECURE_PROCESSING"><code>XMLConstants.FEATURE_SECURE_PROCESSING</code></a>功能。</span> <span>当功能是:</span> </p>
<ul>
<li> <span><code>true</code> 实现将限制XML处理以符合实现限制。</span> <span>示例包括enity扩展限制和消耗大量资源的XML Schema结构。</span> <span>如果XML处理由于安全原因而受到限制则将通过对已注册的<a href="../../../org/xml/sax/ErrorHandler.html#fatalError-org.xml.sax.SAXParseException-"><code>ErrorHandler.fatalError(SAXParseException exception)</code></a>的呼叫进行报告。</span> <span><a href="../../../javax/xml/parsers/DocumentBuilder.html#setErrorHandler-org.xml.sax.ErrorHandler-"><code>DocumentBuilder.setErrorHandler(org.xml.sax.ErrorHandler errorHandler)</code></a></span> </li>
<li> <span><code>false</code> 实现将根据XML规范处理XML而不考虑可能的实现限制。</span> </li>
</ul>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>name</code> - 功能名称。
</dd>
<dd>
<code>value</code> - 是功能状态
<code>true</code>
<code>false</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/parsers/ParserConfigurationException.html" title="class in javax.xml.parsers">ParserConfigurationException</a></code> - 如果这
<code>DocumentBuilderFactory</code>或其创建的
<code>DocumentBuilder</code>无法支持此功能。
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>name</code>参数为空。
</dd>
</dl> </li>
</ul> <a name="getFeature-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getFeature</h4> <pre>public abstract boolean getFeature(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name)
throws <a href="../../../javax/xml/parsers/ParserConfigurationException.html" title="class in javax.xml.parsers">ParserConfigurationException</a></pre>
<div class="block">
<p> <span>获取命名功能的状态。</span> </p>
<p> <span>功能名称完全符合<a href="../../../java/net/URI.html" title="java.net中的类"><code>URI</code></a> s。</span> <span>实现可以定义自己的特征。</span> <span>如果这个<code>DocumentBuilderFactory</code>或其创建的<code>DocumentBuilder</code> s无法支持该功能则会抛出一个<a href="../../../javax/xml/parsers/ParserConfigurationException.html" title="javax.xml.parsers中的类"><code>ParserConfigurationException</code></a></span> <span><code>DocumentBuilderFactory</code>可以公开特征值,但不能更改其状态。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>name</code> - 功能名称。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
命名功能的状态
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/parsers/ParserConfigurationException.html" title="class in javax.xml.parsers">ParserConfigurationException</a></code> - 如果这个
<code>DocumentBuilderFactory</code>或其创建的
<code>DocumentBuilder</code>无法支持此功能。
</dd>
</dl> </li>
</ul> <a name="getSchema--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getSchema</h4> <pre>public <a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> getSchema()</pre>
<div class="block">
<span>获取通过<a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setSchema-javax.xml.validation.Schema-"><code>setSchema(Schema schema)</code></a>方法指定的<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>通过<a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#setSchema-javax.xml.validation.Schema-"><code>setSchema(Schema)</code></a>方法最后设置的<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象,如果自创建<a href="../../../javax/xml/parsers/DocumentBuilderFactory.html" title="javax.xml.parsers中的类"><code>DocumentBuilderFactory</code></a>以来未调用该方法则为null。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></code> - 实现时不覆盖此方法。
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
</dl> </li>
</ul> <a name="setSchema-javax.xml.validation.Schema-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setSchema</h4> <pre>public void setSchema(<a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> schema)</pre>
<div class="block">
<p> <span><a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>设置为由此工厂创建的解析器使用。</span> </p>
<p> <span><a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>为非空值时,解析器将使用从其创建的验证器在将信息传递到应用程序之前验证文档。</span> </p>
<p> <span>当验证器发现错误时,解析器负责将其报告给用户指定的<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a> (或者如果错误处理程序未设置,忽略它们或抛出它们),就像解析器本身发现的任何其他错误一样。</span> <span>换句话说,如果设置了用户指定的<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a> ,则必须收到这些错误,如果不是,则必须根据实现特定的默认错误处理规则进行处理。</span> </p>
<p> <span>验证器可以修改解析的结果例如通过添加在文档中缺少的默认值并且解析器负责确保应用程序将接收修改的DOM树。</span> </p>
<p> <span>Initialynull设置为<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a></span> </p>
<p> <span>即使<a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#isValidating--"><code>isValidating()</code></a>方法返回<code>false</code>此处理也将生效。</span> </p>
<p> <span>使用<code>http://java.sun.com/xml/jaxp/properties/schemaSource</code>属性和/或<code>http://java.sun.com/xml/jaxp/properties/schemaLanguage</code>属性与<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象结合使用是一个错误。</span> <span>这样的配置将导致一个<a href="../../../javax/xml/parsers/ParserConfigurationException.html" title="javax.xml.parsers中的类"><code>ParserConfigurationException</code></a>的时候例外<a href="../../../javax/xml/parsers/DocumentBuilderFactory.html#newDocumentBuilder--"><code>newDocumentBuilder()</code></a>被调用。</span> </p>
<h4> <span>注意事项</span> </h4>
<p> <span>解析器必须能够使用任何<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>实现。</span> <span>但是,解析器和模式允许使用实现特定的定制机制,只要它们产生规范中描述的结果即可。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>schema</code> -
<code>Schema</code>要使用或
<code>null</code>删除一个模式。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></code> - 实现时不覆盖此方法。
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
</dl> </li>
</ul> <a name="setXIncludeAware-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setXIncludeAware</h4> <pre>public void setXIncludeAware(boolean state)</pre>
<div class="block">
<p> <span>设置XInclude处理的状态。</span> </p>
<p> <span>如果在文档实例中找到XInclude标记则应按照XML Inclusions (XInclude) Version 1.0中的规定进行<a href="http://www.w3.org/TR/xinclude/">处理</a></span> </p>
<p> <span>XInclude处理默认为<code>false</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>state</code> - 将XInclude处理设置为
<code>true</code>
<code>false</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></code> - 实现时不覆盖此方法。
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
</dl> </li>
</ul> <a name="isXIncludeAware--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>isXIncludeAware</h4> <pre>public boolean isXIncludeAware()</pre>
<div class="block">
<p>获取XInclude处理的状态。 </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
XInclude处理的当前状态
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></code> - 实现时不覆盖此方法。
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>