|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.xml.xpath
类 XPathFactory
java.lang.Object javax.xml.xpath.XPathFactory
-
public abstract class XPathFactory
- extends Object
XPathFactory
实例可用于创建 XPath
对象。
有关查找机制,请参阅 newInstance(String uri)
。
- 从以下版本开始:
- 1.5
字段摘要 | |
---|---|
static String |
DEFAULT_OBJECT_MODEL_URI 默认 Object Model URI。 |
static String |
DEFAULT_PROPERTY_NAME 遵守 JAXP 规范的默认属性名称。 |
构造方法摘要 | |
---|---|
protected |
XPathFactory() 应使用像 newInstance() 或 newInstance(String uri) 这样的受保护的构造方法创建 XPathFactory 的新实例。 |
方法摘要 | |
---|---|
abstract boolean |
getFeature(String name) 获取指定功能的状态。 |
abstract boolean |
isObjectModelSupported(String objectModel) 此 XPathFactory 是否支持指定的对象模型 |
static XPathFactory |
newInstance() 获取使用默认对象模型 DEFAULT_OBJECT_MODEL_URI (即 W3C DOM)的新 XPathFactory 实例。 |
static XPathFactory |
newInstance(String uri) 获取使用指定对象模型的新 XPathFactory 实例。 |
abstract XPath |
newXPath() 返回实例化 XPathFactory 时所确定的使用基础对象模型的新 XPath 。 |
abstract void |
setFeature(String name, boolean value) 设置此工厂所创建的此 XPathFactory 和 XPath 的功能。 |
abstract void |
setXPathFunctionResolver(XPathFunctionResolver resolver) 建立默认函数解析器。 |
abstract void |
setXPathVariableResolver(XPathVariableResolver resolver) 建立默认变量解析器。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
DEFAULT_PROPERTY_NAME
public static final String DEFAULT_PROPERTY_NAME
-
遵守 JAXP 规范的默认属性名称。
- 另请参见:
- 常量字段值
DEFAULT_OBJECT_MODEL_URI
public static final String DEFAULT_OBJECT_MODEL_URI
-
默认 Object Model URI。
- 另请参见:
- 常量字段值
构造方法详细信息 |
---|
XPathFactory
protected XPathFactory()
-
应使用像
newInstance()
或newInstance(String uri)
这样的受保护的构造方法创建XPathFactory
的新实例。
方法详细信息 |
---|
newInstance
public static final XPathFactory newInstance()
-
获取使用默认对象模型
DEFAULT_OBJECT_MODEL_URI
(即 W3C DOM)的新XPathFactory
实例。此方法的功能等效于:
newInstance(DEFAULT_OBJECT_MODEL_URI)
因为 W3C DOM 的实现总是可用的,因此此方法永远不会失败。
-
- 返回:
XPathFactory
的实例。
newInstance
public static final XPathFactory newInstance(String uri) throws XPathFactoryConfigurationException
-
获取使用指定对象模型的新
XPathFactory
实例。为了查找
XPathFactory
对象,此方法按以下顺序查找以下位置,其中“类加载器”指上下文类加载器:- 如果存在系统属性
DEFAULT_PROPERTY_NAME
+ ":uri"(其中 uri 是此方法的参数),则其值作为类名称读取。该方法将试图通过使用类加载器创建此类的新实例,如果创建成功,则返回它。 - 读取 ${java.home}/lib/jaxp.properties,并查找与作为系统属性的键关联的值。如果存在,则按上面的方式处理该值。
- 类加载器要求服务提供程序的提供程序配置文件与资源目录 META-INF/services 中的
javax.xml.xpath.XPathFactory
匹配。参见文件格式和解析规则的 JAR File Specification。每个可能的服务提供程序均要实现该方法:isObjectModelSupported(String objectModel)
- 以特定于平台的方式来定位平台默认的
XPathFactory
。必须存在 W3C DOM 的平台默认 的 XPathFactory,即DEFAULT_OBJECT_MODEL_URI
。
如果这些都失败,则抛出
XPathFactoryConfigurationException
。疑难解答提示:
有关如何精确解析属性文件的信息,请参阅
Properties.load(java.io.InputStream)
。尤其是,冒号 ':'在属性文件中需要转义,因此要确保 URI 在其中进行正确转义。例如:http\://java.sun.com/jaxp/xpath/dom=org.acme.DomXPathFactory
- 如果存在系统属性
-
- 参数:
uri
- 标识基础对象模型。规范只定义了 URIDEFAULT_OBJECT_MODEL_URI
,有关 W3C DOM 和 org.w3c.dom 包,请参阅http://java.sun.com/jaxp/xpath/dom
,实现可随意引入其他对象模型的其他 URI。- 返回:
XPathFactory
的实例。- 抛出:
XPathFactoryConfigurationException
- 如果指定的对象模型不可用。NullPointerException
- 如果uri
为null
。IllegalArgumentException
- 如果uri.length() == 0
。
isObjectModelSupported
public abstract boolean isObjectModelSupported(String objectModel)
-
此
XPathFactory
是否支持指定的对象模型 -
- 参数:
objectModel
- 指定返回的XPathFactory
理解的对象模型。- 返回:
-
如果
XPathFactory
支持objectModel
,则返回true
,否则返回false
。 - 抛出:
NullPointerException
- 如果objectModel
为null
。IllegalArgumentException
- 如果objectModel.length() == 0
。
setFeature
public abstract void setFeature(String name, boolean value) throws XPathFactoryConfigurationException
-
设置此工厂所创建的此
XPathFactory
和XPath
的功能。功能名称是完全限定的
URI
。实现可以定义它们自己的功能。如果此XPath
或其创建的XPathFactory
不支持该功能,则抛出XPathFactoryConfigurationException
。XPathFactory
可以公开功能值,但不能更改其状态。所有实现必须支持
XMLConstants.FEATURE_SECURE_PROCESSING
功能。当功能为true
时,任何对外部函数的引用均是错误的。在这些条件下,实现不能调用XPathFunctionResolver
且必须抛出XPathFunctionException
。 -
- 参数:
name
- 功能名称。value
- 功能状态为true
或false
。- 抛出:
XPathFactoryConfigurationException
- 如果其创建的此XPathFactory
或XPath
不支持此功能。NullPointerException
- 如果name
为null
。
getFeature
public abstract boolean getFeature(String name) throws XPathFactoryConfigurationException
-
获取指定功能的状态。
功能名称是完全限定的
URI
。实现可以定义它们自己的功能。如果此XPath
或其创建的XPathFactory
不支持该功能,则抛出XPathFactoryConfigurationException
。XPathFactory
可以公开功能值,但不能更改其状态。 -
- 参数:
name
- 功能名称。- 返回:
- 指定功能的状态。
- 抛出:
XPathFactoryConfigurationException
- 如果其创建的此XPathFactory
或XPath
不支持此功能。NullPointerException
- 如果name
为null
。
setXPathVariableResolver
public abstract void setXPathVariableResolver(XPathVariableResolver resolver)
-
建立默认变量解析器。
从此工厂构造的任何
XPath
对象将默认使用指定的解析器。如果
resolver
为null
,则抛出NullPointerException
。 -
- 参数:
resolver
- Variable 解析器。- 抛出:
NullPointerException
- 如果resolver
为null
。