javax.xml.xpath
public abstract class XPathFactory extends Object
An XPathFactory
instance can be used to create
XPath objects.
See XPathFactory for lookup mechanism.
Since: 1.5
Version: $Revision: 226183 $, $Date: 2005-04-08 12:39:14 +0200 (Fri, 08 Apr 2005) $
Field Summary | |
---|---|
static String | DEFAULT_OBJECT_MODEL_URI Default Object Model URI. |
static String | DEFAULT_PROPERTY_NAME The default property name according to the JAXP spec. |
Constructor Summary | |
---|---|
protected | XPathFactory() Protected constructor as newInstance or XPathFactory
should be used to create a new instance of an |
Method Summary | |
---|---|
abstract boolean | getFeature(String name) Get the state of the named feature. Feature names are fully qualified java.net.URIs. |
abstract boolean | isObjectModelSupported(String objectModel) Is specified object model supported by this |
static XPathFactory | newInstance() Get a new This method is functionally equivalent to: newInstance(DEFAULT_OBJECT_MODEL_URI) Since the implementation for the W3C DOM is always available, this method will never fail. |
static XPathFactory | newInstance(String uri) Get a new To find a
|
abstract XPath | newXPath() Return a new |
abstract void | setFeature(String name, boolean value) Set a feature for this Feature names are fully qualified java.net.URIs. |
abstract void | setXPathFunctionResolver(XPathFunctionResolver resolver) Establish a default function resolver. Any A |
abstract void | setXPathVariableResolver(XPathVariableResolver resolver) Establish a default variable resolver. Any A |
Default Object Model URI.
The default property name according to the JAXP spec.
Protected constructor as newInstance or XPathFactory
should be used to create a new instance of an XPathFactory
.
Get the state of the named feature.
Feature names are fully qualified java.net.URIs.
Implementations may define their own features.
An XPathFactoryConfigurationException is thrown if this XPathFactory
or the XPath
s
it creates cannot support the feature.
It is possible for an XPathFactory
to expose a feature value but be unable to change its state.
Parameters: name Feature name.
Returns: State of the named feature.
Throws: XPathFactoryConfigurationException if this XPathFactory
or the XPath
s
it creates cannot support this feature. NullPointerException if name
is null
.
Is specified object model supported by this XPathFactory
?
Parameters: objectModel Specifies the object model which the returned XPathFactory
will understand.
Returns: true
if XPathFactory
supports objectModel
, else false
.
Throws: NullPointerException If objectModel
is null
. IllegalArgumentException If objectModel.length() == 0
.
Get a new XPathFactory
instance using the default object model,
DEFAULT_OBJECT_MODEL_URI,
the W3C DOM.
This method is functionally equivalent to:
newInstance(DEFAULT_OBJECT_MODEL_URI)
Since the implementation for the W3C DOM is always available, this method will never fail.
Returns: Instance of an XPathFactory
.
Get a new XPathFactory
instance using the specified object model.
To find a XPathFactory
object,
this method looks the following places in the following order where "the class loader" refers to the context class loader:
javax.xml.xpath.XPathFactory
in the resource directory META-INF/services.
See the JAR File Specification for file format and parsing rules.
Each potential service provider is required to implement the method:
XPathFactoryThe first service provider found in class loader order that supports the specified object model is returned.
XPathFactory
is located in a platform specific way.
There must be a platform default XPathFactory for the W3C DOM, i.e. DEFAULT_OBJECT_MODEL_URI.
If everything fails, an XPathFactoryConfigurationException
will be thrown.
Tip for Trouble-shooting:
See java.util.Properties#load(java.io.InputStream) for exactly how a property file is parsed. In particular, colons ':' need to be escaped in a property file, so make sure the URIs are properly escaped in it. For example:
http\://java.sun.com/jaxp/xpath/dom=org.acme.DomXPathFactory
Parameters: uri Identifies the underlying object model.
The specification only defines the URI DEFAULT_OBJECT_MODEL_URI,
http://java.sun.com/jaxp/xpath/dom
for the W3C DOM,
the org.w3c.dom package, and implementations are free to introduce other URIs for other object models.
Returns: Instance of an XPathFactory
.
Throws: XPathFactoryConfigurationException If the specified object model is unavailable. NullPointerException If uri
is null
. IllegalArgumentException If uri.length() == 0
.
Return a new XPath
using the underlying object
model determined when the XPathFactory
was instantiated.
Returns: New instance of an XPath
.
Set a feature for this XPathFactory
and XPath
s created by this factory.
Feature names are fully qualified java.net.URIs.
Implementations may define their own features.
An XPathFactoryConfigurationException is thrown if this XPathFactory
or the XPath
s
it creates cannot support the feature.
It is possible for an XPathFactory
to expose a feature value but be unable to change its state.
All implementations are required to support the FEATURE_SECURE_PROCESSING feature.
When the feature is true
, any reference to an external function is an error.
Under these conditions, the implementation must not call the XPathFunctionResolver
and must throw an XPathFunctionException.
Parameters: name Feature name. value Is feature state true
or false
.
Throws: XPathFactoryConfigurationException if this XPathFactory
or the XPath
s
it creates cannot support this feature. NullPointerException if name
is null
.
Establish a default function resolver.
Any XPath
objects constructed from this factory will use
the specified resolver by default.
A NullPointerException
is thrown if resolver
is null
.
Parameters: resolver XPath function resolver.
Throws: NullPointerException If resolver
is null
.
Establish a default variable resolver.
Any XPath
objects constructed from this factory will use
the specified resolver by default.
A NullPointerException
is thrown if resolver
is null
.
Parameters: resolver Variable resolver.
Throws: NullPointerException If resolver
is null
.