Package net.sf.saxon.xpath
Class XPathFactoryImpl
java.lang.Object
javax.xml.xpath.XPathFactory
net.sf.saxon.xpath.XPathFactoryImpl
- All Implemented Interfaces:
Configuration.ApiProvider
- Direct Known Subclasses:
EnterpriseXPathFactory
,ProfessionalXPathFactory
Saxon implementation of the JAXP 1.3 XPathFactory
-
Field Summary
Fields inherited from class javax.xml.xpath.XPathFactory
DEFAULT_OBJECT_MODEL_URI, DEFAULT_PROPERTY_NAME
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor: this creates a Configuration as well as creating the XPathFactory.XPathFactoryImpl
(Configuration config) Constructor using a user-supplied Configuration. -
Method Summary
Modifier and TypeMethodDescriptionGet the Configuration object used by this XPathFactoryboolean
getFeature
(String feature) Get a feature of this XPath implementation.boolean
isObjectModelSupported
(String model) Test whether a given object model is supported.newXPath()
Create an XPath evaluatorvoid
setConfiguration
(Configuration config) Set the Configuration for the factoryvoid
setFeature
(String feature, boolean b) Set a feature of this XPath implementation.void
setXPathFunctionResolver
(XPathFunctionResolver xPathFunctionResolver) Set a resolver for XPath functions.void
setXPathVariableResolver
(XPathVariableResolver xPathVariableResolver) Set a resolver for XPath variables.Methods inherited from class javax.xml.xpath.XPathFactory
getProperty, newDefaultInstance, newInstance, newInstance, newInstance, setProperty
-
Constructor Details
-
XPathFactoryImpl
public XPathFactoryImpl()Default constructor: this creates a Configuration as well as creating the XPathFactory. Any documents accessed using this XPathFactory must be built using this same Configuration. -
XPathFactoryImpl
Constructor using a user-supplied Configuration. This constructor is useful if the document to be queried already exists, as it allows the configuration associated with the document to be used with this XPathFactory.- Parameters:
config
- the Saxon configuration
-
-
Method Details
-
setConfiguration
Set the Configuration for the factory- Parameters:
config
- the Saxon Configuration to be used
-
getConfiguration
Get the Configuration object used by this XPathFactory- Returns:
- the Saxon configuration
-
isObjectModelSupported
Test whether a given object model is supported. Returns true if the object model is the Saxon object model, DOM, JDOM, DOM4J, or XOM- Specified by:
isObjectModelSupported
in classXPathFactory
- Parameters:
model
- The URI identifying the object model.- Returns:
- true if the object model is one of the following (provided that the supporting
JAR file is available on the classpath)
NamespaceConstant.OBJECT_MODEL_SAXON
,XPathConstants.DOM_OBJECT_MODEL
,NamespaceConstant.OBJECT_MODEL_JDOM
, orNamespaceConstant.OBJECT_MODEL_XOM
, orNamespaceConstant.OBJECT_MODEL_DOM4J
. Saxon also allows user-defined external object models to be registered with the Configuration, and this method will return true in respect of any such model.
-
setFeature
Set a feature of this XPath implementation. The features currently recognized are:-
XMLConstants.FEATURE_SECURE_PROCESSING
-
FeatureKeys.SCHEMA_VALIDATION
: requests schema validation of source documents. The property is rejected if the configuration is not schema-aware.
In addition, any Saxon configuration feature (listed in
FeatureKeys
can be used provided the value is a boolean. (For non-boolean configuration properties, drop down to the underlying SaxonConfiguration
object and callsetConfigurationProperty()
)- Specified by:
setFeature
in classXPathFactory
- Parameters:
feature
- a URI identifying the featureb
- true to set the feature on, false to set it off- Throws:
XPathFactoryConfigurationException
- if the feature name is not recognized
-
-
getFeature
Get a feature of this XPath implementation. The only features currently recognized are:-
FEATURE_SECURE_PROCESSING
-
FeatureKeys.SCHEMA_VALIDATION
: requests schema validation of source documents.
In addition, any Saxon configuration feature (listed in
FeatureKeys
can be used provided the value is a boolean. (For non-boolean configuration properties, drop down to the underlying SaxonConfiguration
object and callgetConfigurationProperty()
)- Specified by:
getFeature
in classXPathFactory
- Parameters:
feature
- a URI identifying the feature- Returns:
- true if the feature is on, false if it is off
- Throws:
XPathFactoryConfigurationException
- if the feature name is not recognized
-
-
setXPathVariableResolver
Set a resolver for XPath variables. This will be used to obtain the value of any variable referenced in an XPath expression. The variable resolver must be allocated before the expression is compiled, but it will only be called when the expression is evaluated.- Specified by:
setXPathVariableResolver
in classXPathFactory
- Parameters:
xPathVariableResolver
- The object used to resolve references to variables.
-
setXPathFunctionResolver
Set a resolver for XPath functions. This will be used to obtain an implementation of any external function referenced in an XPath expression. This is not required for system functions, Saxon extension functions, constructor functions named after types, or extension functions bound using a namespace that maps to a Java class.- Specified by:
setXPathFunctionResolver
in classXPathFactory
- Parameters:
xPathFunctionResolver
- The object used to resolve references to external functions.
-
newXPath
Create an XPath evaluator- Specified by:
newXPath
in classXPathFactory
- Returns:
- an XPath object, which can be used to compile and execute XPath expressions.
-