uTools-Manuals/docs/java/javax/xml/xpath/XPathFactory.html

580 lines
33 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.xpath
</div>
<h2 class="title" title="Class XPathFactory">Class XPathFactory</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.xpath.XPathFactory</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">XPathFactory</span>
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<p> <span>一个<code>XPathFactory</code>实例可以用来创建<a href="../../../javax/xml/xpath/XPath.html" title="javax.xml.xpath中的接口"><code>XPath</code></a>对象。</span> </p>
<p> <span>请参阅<a href="../../../javax/xml/xpath/XPathFactory.html#newInstance-java.lang.String-"><code>newInstance(String uri)</code></a>查找机制。</span> </p>
<p> <span><a href="../../../javax/xml/xpath/XPathFactory.html" title="javax.xml.xpath中的类"><code>XPathFactory</code></a>类不是线程安全的。</span> <span>换句话说,应用程序有责任确保在任何给定时刻最多只有一个线程使用<a href="../../../javax/xml/xpath/XPathFactory.html" title="javax.xml.xpath中的类"><code>XPathFactory</code></a>对象。</span> <span>鼓励实施方法标记为<code>synchronized</code>以保护自己免受破坏的客户端。</span> </p>
<p> <span><a href="../../../javax/xml/xpath/XPathFactory.html" title="javax.xml.xpath中的类"><code>XPathFactory</code></a>没有进入。</span> <span>虽然正在调用<code>newInstance</code>方法之一,但<code>newInstance</code>程序可能不会尝试递归地调用<code>newInstance</code>方法,即使是从同一个线程。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
<caption>
<span>Fields</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPathFactory.html#DEFAULT_OBJECT_MODEL_URI">DEFAULT_OBJECT_MODEL_URI</a></span></code>
<div class="block">
默认对象模型URI。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPathFactory.html#DEFAULT_PROPERTY_NAME">DEFAULT_PROPERTY_NAME</a></span></code>
<div class="block">
根据JAXP规范的默认属性名称。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ======== 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/xpath/XPathFactory.html#XPathFactory--">XPathFactory</a></span>()</code>
<div class="block">
应该使用受保护的构造函数作为
<a href="../../../javax/xml/xpath/XPathFactory.html#newInstance--"><code>newInstance()</code></a>
<a href="../../../javax/xml/xpath/XPathFactory.html#newInstance-java.lang.String-"><code>newInstance(String uri)</code></a>
<a href="../../../javax/xml/xpath/XPathFactory.html#newInstance-java.lang.String-java.lang.String-java.lang.ClassLoader-"><code>newInstance(String uri, String factoryClassName, ClassLoader classLoader)</code></a>创建一个新的
<code>XPathFactory</code>实例。
</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 boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPathFactory.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="rowColor" id="i1">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPathFactory.html#isObjectModelSupported-java.lang.String-">isObjectModelSupported</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> objectModel)</code>
<div class="block">
这个
<code>XPathFactory</code>是否支持指定的对象模型?
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>static <a href="../../../javax/xml/xpath/XPathFactory.html" title="class in javax.xml.xpath">XPathFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPathFactory.html#newInstance--">newInstance</a></span>()</code>
<div class="block">
使用默认对象模型
<a href="../../../javax/xml/xpath/XPathFactory.html#DEFAULT_OBJECT_MODEL_URI"><code>DEFAULT_OBJECT_MODEL_URI</code></a> W3C DOM获取一个新的
<code>XPathFactory</code>实例。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>static <a href="../../../javax/xml/xpath/XPathFactory.html" title="class in javax.xml.xpath">XPathFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPathFactory.html#newInstance-java.lang.String-">newInstance</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> uri)</code>
<div class="block">
使用指定的对象模型获取新的
<code>XPathFactory</code>实例。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>static <a href="../../../javax/xml/xpath/XPathFactory.html" title="class in javax.xml.xpath">XPathFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPathFactory.html#newInstance-java.lang.String-java.lang.String-java.lang.ClassLoader-">newInstance</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> uri, <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>XPathFactory</code>
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>abstract <a href="../../../javax/xml/xpath/XPath.html" title="interface in javax.xml.xpath">XPath</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPathFactory.html#newXPath--">newXPath</a></span>()</code>
<div class="block">
返回一个新的
<code>XPath</code>当使用所确定的基础对象模型
<code>XPathFactory</code>被实例化。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPathFactory.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>XPathFactory</code>
<code>XPath</code>设置了一个功能。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPathFactory.html#setXPathFunctionResolver-javax.xml.xpath.XPathFunctionResolver-">setXPathFunctionResolver</a></span>(<a href="../../../javax/xml/xpath/XPathFunctionResolver.html" title="interface in javax.xml.xpath">XPathFunctionResolver</a> resolver)</code>
<div class="block">
建立默认函数解析器。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPathFactory.html#setXPathVariableResolver-javax.xml.xpath.XPathVariableResolver-">setXPathVariableResolver</a></span>(<a href="../../../javax/xml/xpath/XPathVariableResolver.html" title="interface in javax.xml.xpath">XPathVariableResolver</a> resolver)</code>
<div class="block">
建立一个默认变量解析器。
</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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- --> </a> <h3>字段详细信息</h3> <a name="DEFAULT_PROPERTY_NAME">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>DEFAULT_PROPERTY_NAME</h4> <pre>public static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> DEFAULT_PROPERTY_NAME</pre>
<div class="block">
<p>根据JAXP规范的默认属性名称。 </p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.xml.xpath.XPathFactory.DEFAULT_PROPERTY_NAME">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="DEFAULT_OBJECT_MODEL_URI">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>DEFAULT_OBJECT_MODEL_URI</h4> <pre>public static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> DEFAULT_OBJECT_MODEL_URI</pre>
<div class="block">
<p>默认对象模型URI。 </p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.xml.xpath.XPathFactory.DEFAULT_OBJECT_MODEL_URI">Constant Field Values</a>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="XPathFactory--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>XPathFactory</h4> <pre>protected XPathFactory()</pre>
<div class="block">
<p>应该使用受保护的构造函数作为<a href="../../../javax/xml/xpath/XPathFactory.html#newInstance--"><code>newInstance()</code></a><a href="../../../javax/xml/xpath/XPathFactory.html#newInstance-java.lang.String-"><code>newInstance(String uri)</code></a><a href="../../../javax/xml/xpath/XPathFactory.html#newInstance-java.lang.String-java.lang.String-java.lang.ClassLoader-"><code>newInstance(String uri, String factoryClassName, ClassLoader classLoader)</code></a>来创建一个新的<code>XPathFactory</code>实例。 </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/xpath/XPathFactory.html" title="class in javax.xml.xpath">XPathFactory</a> newInstance()</pre>
<div class="block">
<p> <span>使用默认对象模型<a href="../../../javax/xml/xpath/XPathFactory.html#DEFAULT_OBJECT_MODEL_URI"><code>DEFAULT_OBJECT_MODEL_URI</code></a> W3C DOM获取新的<code>XPathFactory</code>实例。</span> </p>
<p> <span>此方法在功能上相当于:</span> </p>
<pre> <span>newInstance(DEFAULT_OBJECT_MODEL_URI)</span> </pre>
<p> <span>由于W3C DOM的实现始终可用因此该方法永远不会失败。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
实例
<code>XPathFactory</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/RuntimeException.html" title="class in java.lang">RuntimeException</a></code> - 为默认对象模型创建
<code>XPathFactory</code>失败。
</dd>
</dl> </li>
</ul> <a name="newInstance-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newInstance</h4> <pre>public static <a href="../../../javax/xml/xpath/XPathFactory.html" title="class in javax.xml.xpath">XPathFactory</a> newInstance(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> uri)
throws <a href="../../../javax/xml/xpath/XPathFactoryConfigurationException.html" title="class in javax.xml.xpath">XPathFactoryConfigurationException</a></pre>
<div class="block">
<p> <span>使用指定的对象模型获取新的<code>XPathFactory</code>实例。</span> </p>
<p> <span>要找到一个<code>XPathFactory</code>对象,该方法按照以下顺序查看以下位置,其中“类加载器”是指上下文类加载器:</span> </p>
<ol>
<li> <span>如果系统属性<a href="../../../javax/xml/xpath/XPathFactory.html#DEFAULT_PROPERTY_NAME"><code>DEFAULT_PROPERTY_NAME</code></a> +“uri”存在其中uri是此方法的参数则将其值作为类名读取。</span> <span>该方法将尝试通过使用类加载器来创建此类的新实例,并且如果成功创建则返回此类。</span> </li>
<li> <span>将读取$ {java.home} /lib/jaxp.properties并查找与上述系统属性密钥相关联的值。</span> <span>如果存在,该值将像上面那样处理。</span> </li>
<li> <span>使用由<a href="../../../java/util/ServiceLoader.html" title="java.util中的类"><code>ServiceLoader</code></a>类定义的服务提供商加载工具尝试使用default loading mechanism查找和加载服务的<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> <br/> <span>每个潜在的服务提供商都需要实施方法<a href="../../../javax/xml/xpath/XPathFactory.html#isObjectModelSupported-java.lang.String-"><code>isObjectModelSupported(String objectModel)</code></a></span> <span>第一个服务提供商发现支持指定的对象模型被返回。</span> <br/> <span>在的情况下, <a href="../../../java/util/ServiceConfigurationError.html" title="java.util中的类"><code>ServiceConfigurationError</code></a><a href="../../../javax/xml/xpath/XPathFactoryConfigurationException.html" title="javax.xml.xpath中的类"><code>XPathFactoryConfigurationException</code></a>将被抛出。</span> </li>
<li> <span>平台默认<code>XPathFactory</code>位于一个平台特定的方式。</span> <span>W3C DOM必须有XPathFactory平台<a href="../../../javax/xml/xpath/XPathFactory.html#DEFAULT_OBJECT_MODEL_URI"><code>DEFAULT_OBJECT_MODEL_URI</code></a></span> </li>
</ol>
<p> <span>如果一切都失败,将会抛出一个<code>XPathFactoryConfigurationException</code></span> </p>
<p> <span>故障排除提示:</span> </p>
<p> <span>有关如何解析属性文件,请参阅<a href="../../../java/util/Properties.html#load-java.io.InputStream-"><code>Properties.load(java.io.InputStream)</code></a></span> <span>特别地,冒号''需要在属性文件中进行转义因此请确保在其中正确地转义了URI。</span> <span>例如:</span> </p>
<pre> <span>http\://java.sun.com/jaxp/xpath/dom=org.acme.DomXPathFactory</span> </pre>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>uri</code> - 标识底层对象模型。</span>
<span>该规范仅定义W3C DOM的URI <a href="../../../javax/xml/xpath/XPathFactory.html#DEFAULT_OBJECT_MODEL_URI"><code>DEFAULT_OBJECT_MODEL_URI</code>,http://java.sun.com/jaxp/xpath/dom</a> <code>http://java.sun.com/jaxp/xpath/dom</code>并且实现可以自由地为其他对象模型引入其他URI。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
实例
<code>XPathFactory</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/xpath/XPathFactoryConfigurationException.html" title="class in javax.xml.xpath">XPathFactoryConfigurationException</a></code> - 如果指定的对象模型不可用,或者是否存在配置错误。
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>uri</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>uri</code>
<code>null</code>
<code>uri.length() == 0</code>
</dd>
</dl> </li>
</ul> <a name="newInstance-java.lang.String-java.lang.String-java.lang.ClassLoader-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newInstance</h4> <pre>public static <a href="../../../javax/xml/xpath/XPathFactory.html" title="class in javax.xml.xpath">XPathFactory</a> newInstance(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> uri,
<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)
throws <a href="../../../javax/xml/xpath/XPathFactoryConfigurationException.html" title="class in javax.xml.xpath">XPathFactoryConfigurationException</a></pre>
<div class="block">
<p> <span>从工厂类名称获取一个新的实例<code>XPathFactory</code></span> <span><code>XPathFactory</code>如果指定的工厂类支持指定的对象模型返回。</span> <span>在类路径中有多个提供程序时,此功能很有用。</span> <span>它可以更好地控制应用程序,因为它可以指定应该加载哪个提供程序。</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>
<span><code>uri</code> - 标识基础对象模型。</span>
<span>该规范仅定义W3C DOM的URI <a href="../../../javax/xml/xpath/XPathFactory.html#DEFAULT_OBJECT_MODEL_URI"><code>DEFAULT_OBJECT_MODEL_URI</code>,http://java.sun.com/jaxp/xpath/dom</a> <code>http://java.sun.com/jaxp/xpath/dom</code>实现可以自由地为其他对象模型引入其他URI。</span>
</dd>
<dd>
<code>factoryClassName</code> -完全限定工厂类名称,提供实施
<code>javax.xml.xpath.XPathFactory</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>XPathFactory</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/xpath/XPathFactoryConfigurationException.html" title="class in javax.xml.xpath">XPathFactoryConfigurationException</a></code> -如果
<code>factoryClassName</code>
<code>null</code> ,或工厂类不能被加载,实例化或工厂类不支持指定的对象模型
<code>uri</code>参数。
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>uri</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>uri</code>
<code>null</code>
<code>uri.length() == 0</code>
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/xml/xpath/XPathFactory.html#newInstance--"><code>newInstance()</code></a>
<a href="../../../javax/xml/xpath/XPathFactory.html#newInstance-java.lang.String-"><code>newInstance(String uri)</code></a>
</dd>
</dl> </li>
</ul> <a name="isObjectModelSupported-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isObjectModelSupported</h4> <pre>public abstract boolean isObjectModelSupported(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> objectModel)</pre>
<div class="block">
<p>这个<code>XPathFactory</code>是否支持指定的对象模型? </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>objectModel</code> - 指定返回的
<code>XPathFactory</code>将理解的对象模型。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果
<code>XPathFactory</code>支持
<code>objectModel</code> ,否则
<code>false</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>objectModel</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>objectModel.length() == 0</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/xpath/XPathFactoryConfigurationException.html" title="class in javax.xml.xpath">XPathFactoryConfigurationException</a></pre>
<div class="block">
<p> <span>为这个工厂创建的<code>XPathFactory</code><code>XPath</code>设置一个功能。</span> </p>
<p> <span>功能名称完全符合<a href="../../../java/net/URI.html" title="java.net中的类"><code>URI</code></a> s。</span> <span>实现可以定义自己的特征。</span> <span>如果这个<code>XPathFactory</code>或其创建的<code>XPath</code>无法支持该功能,则会抛出一个<a href="../../../javax/xml/xpath/XPathFactoryConfigurationException.html" title="javax.xml.xpath中的类"><code>XPathFactoryConfigurationException</code></a></span> <span><code>XPathFactory</code>可能会显示一个特征值,但无法更改其状态。</span> </p>
<p> <span>所有实现都需要支持<a href="../../../javax/xml/XMLConstants.html#FEATURE_SECURE_PROCESSING"><code>XMLConstants.FEATURE_SECURE_PROCESSING</code></a>功能。</span> <span>当功能为<code>true</code>时,对外部功能的引用是错误的。</span> <span>在这些条件下,执行不能调用<a href="../../../javax/xml/xpath/XPathFunctionResolver.html" title="javax.xml.xpath中的接口"><code>XPathFunctionResolver</code></a>并且必须抛出一个<a href="../../../javax/xml/xpath/XPathFunctionException.html" title="javax.xml.xpath中的类"><code>XPathFunctionException</code></a></span> </p>
</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/xpath/XPathFactoryConfigurationException.html" title="class in javax.xml.xpath">XPathFactoryConfigurationException</a></code> - 如果这
<code>XPathFactory</code>或其创建的
<code>XPath</code>不能支持此功能。
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>name</code>
<code>null</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/xpath/XPathFactoryConfigurationException.html" title="class in javax.xml.xpath">XPathFactoryConfigurationException</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>XPathFactory</code>或其创建的<code>XPath</code>无法支持该功能,则会抛出一个<a href="../../../javax/xml/xpath/XPathFactoryConfigurationException.html" title="javax.xml.xpath中的类"><code>XPathFactoryConfigurationException</code></a></span> <span><code>XPathFactory</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/xpath/XPathFactoryConfigurationException.html" title="class in javax.xml.xpath">XPathFactoryConfigurationException</a></code> - 如果这
<code>XPathFactory</code>或其创建的
<code>XPath</code>不能支持此功能。
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>name</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="setXPathVariableResolver-javax.xml.xpath.XPathVariableResolver-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setXPathVariableResolver</h4> <pre>public abstract void setXPathVariableResolver(<a href="../../../javax/xml/xpath/XPathVariableResolver.html" title="interface in javax.xml.xpath">XPathVariableResolver</a> resolver)</pre>
<div class="block">
<p> <span>建立一个默认变量解析器。</span> </p>
<p> <span>任何由此工厂<code>XPath</code>对象默认使用指定的解析器。</span> </p>
<p> <span>一个<code>NullPointerException</code>如果抛出<code>resolver</code><code>null</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>resolver</code> - 可变解算器。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>resolver</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="setXPathFunctionResolver-javax.xml.xpath.XPathFunctionResolver-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setXPathFunctionResolver</h4> <pre>public abstract void setXPathFunctionResolver(<a href="../../../javax/xml/xpath/XPathFunctionResolver.html" title="interface in javax.xml.xpath">XPathFunctionResolver</a> resolver)</pre>
<div class="block">
<p> <span>建立默认函数解析器。</span> </p>
<p> <span>任何<code>XPath</code>工厂<code>XPath</code>对象默认使用指定的解析器。</span> </p>
<p> <span>一个<code>NullPointerException</code>如果抛出<code>resolver</code><code>null</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>resolver</code> - XPath函数解析器。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>resolver</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newXPath--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>newXPath</h4> <pre>public abstract <a href="../../../javax/xml/xpath/XPath.html" title="interface in javax.xml.xpath">XPath</a> newXPath()</pre>
<div class="block">
<p>返回一个新的<code>XPath</code>当使用所确定的基础对象模型<code>XPathFactory</code>被实例化。 </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
New instance of an
<code>XPath</code>.
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>