javax.xml.parsers

Class SAXParserFactory


public abstract class SAXParserFactory
extends java.lang.Object

Defines a factory API that enables applications to configure and obtain a SAX based parser to parse XML documents.

An implementation of the SAXParserFactory class is NOT guaranteed to be thread safe. It is up to the user application to make sure about the use of the SAXParserFactory from more than one thread. Alternatively the application can have one instance of the SAXParserFactory per thread. An application can use the same instance of the factory to obtain one or more instances of the SAXParser provided the instance of the factory isn't being used in more than one thread at a time.

The static newInstance method returns a new concrete implementation of this class.

Version:
1.0

Since:
JAXP 1.0

Method Summary

boolean
getFeature(String name)
Returns the particular property requested for in the underlying implementation of org.xml.sax.XMLReader.
boolean
isNamespaceAware()
Indicates whether or not the factory is configured to produce parsers which are namespace aware.
boolean
isValidating()
Indicates whether or not the factory is configured to produce parsers which validate the XML content during parse.
static SAXParserFactory
newInstance()
Obtain a new instance of a SAXParserFactory.
SAXParser
newSAXParser()
Creates a new instance of a SAXParser using the currently configured factory parameters.
void
setFeature(String name, boolean value)
Sets the particular feature in the underlying implementation of org.xml.sax.XMLReader.
void
setNamespaceAware(boolean awareness)
Specifies that the parser produced by this code will provide support for XML namespaces.
void
setValidating(boolean validating)
Specifies that the parser produced by this code will validate documents as they are parsed.

Method Details

getFeature

public boolean getFeature(String name)
            throws ParserConfigurationException,
                   SAXNotRecognizedException,
                   SAXNotSupportedException
Returns the particular property requested for in the underlying implementation of org.xml.sax.XMLReader.

Parameters:
name - The name of the property to be retrieved.

Returns:
Value of the requested property.

Throws:
SAXNotRecognizedException - When the underlying XMLReader does not recognize the property name.
SAXNotSupportedException - When the underlying XMLReader recognizes the property name but doesn't support the property.

See Also:
XMLReader.getProperty(String)


isNamespaceAware

public boolean isNamespaceAware()
Indicates whether or not the factory is configured to produce parsers which are namespace aware.

Returns:
true if the factory is configured to produce parsers which are namespace aware; false otherwise.


isValidating

public boolean isValidating()
Indicates whether or not the factory is configured to produce parsers which validate the XML content during parse.

Returns:
true if the factory is configured to produce parsers which validate the XML content during parse; false otherwise.


newInstance

public static SAXParserFactory newInstance()
            throws FactoryConfigurationError
Obtain a new instance of a SAXParserFactory. This static method creates a new factory instance This method uses the following ordered lookup procedure to determine the SAXParserFactory implementation class to load:
  • Use the javax.xml.parsers.SAXParserFactory system property.
  • Use the properties file "lib/jaxp.properties" in the JRE directory. This configuration file is in standard java.util.Properties format and contains the fully qualified name of the implementation class with the key being the system property defined above.
  • Use the Services API (as detailed in the JAR specification), if available, to determine the classname. The Services API will look for a classname in the file META-INF/services/javax.xml.parsers.SAXParserFactory in jars available to the runtime.
  • Platform default SAXParserFactory instance.
Once an application has obtained a reference to a SAXParserFactory it can use the factory to configure and obtain parser instances.

Returns:
A new instance of a SAXParserFactory.

Throws:
FactoryConfigurationError - if the implementation is not available or cannot be instantiated.


newSAXParser

public SAXParser newSAXParser()
            throws ParserConfigurationException,
                   SAXException
Creates a new instance of a SAXParser using the currently configured factory parameters.

Returns:
A new instance of a SAXParser.

Throws:
ParserConfigurationException - if a parser cannot be created which satisfies the requested configuration.


setFeature

public void setFeature(String name,
                       boolean value)
            throws ParserConfigurationException,
                   SAXNotRecognizedException,
                   SAXNotSupportedException
Sets the particular feature in the underlying implementation of org.xml.sax.XMLReader. A list of the core features and properties can be found at http://www.megginson.com/SAX/Java/features.html

Parameters:
name - The name of the feature to be set.
value - The value of the feature to be set.

Throws:
SAXNotRecognizedException - When the underlying XMLReader does not recognize the property name.
SAXNotSupportedException - When the underlying XMLReader recognizes the property name but doesn't support the property.

See Also:
XMLReader.setFeature(String,boolean)


setNamespaceAware

public void setNamespaceAware(boolean awareness)
Specifies that the parser produced by this code will provide support for XML namespaces. By default the value of this is set to false.

Parameters:
awareness - true if the parser produced by this code will provide support for XML namespaces; false otherwise.


setValidating

public void setValidating(boolean validating)
Specifies that the parser produced by this code will validate documents as they are parsed. By default the value of this is set to false.

Parameters:
validating - true if the parser produced by this code will validate documents as they are parsed; false otherwise.


Copyright B) 2004 Apache XML Project. All Rights Reserved.