public abstract class DocumentBuilder extends Object
Document
from XML. An instance of this class can be obtained from the DocumentBuilderFactory.newDocumentBuilder()
method. Once an instance of this class is obtained, XML can be parsed from a variety of input sources. These input sources are InputStreams, Files, URLs, and SAX InputSources.
Note that this class reuses several classes from the SAX API. This does not require that the implementor of the underlying DOM implementation use a SAX parser to parse XML document into a Document
. It merely requires that the implementation communicate with the application using these existing APIs.
Modifier | Constructor | Description |
---|---|---|
protected |
Protected constructor |
Modifier and Type | Method | Description |
---|---|---|
abstract DOMImplementation |
getDOMImplementation() |
Obtain an instance of a DOMImplementation object. |
Schema |
getSchema() |
Get a reference to the Schema being used by the XML processor. |
abstract boolean |
isNamespaceAware() |
Indicates whether or not this parser is configured to understand namespaces. |
abstract boolean |
isValidating() |
Indicates whether or not this parser is configured to validate XML documents. |
boolean |
isXIncludeAware() |
Get the XInclude processing mode for this parser. |
abstract Document |
newDocument() |
Obtain a new instance of a DOM Document object to build a DOM tree with. |
Document |
parse |
Parse the content of the given file as an XML document and return a new DOM Document object. |
Document |
parse |
Parse the content of the given InputStream as an XML document and return a new DOM Document object. |
Document |
parse |
Parse the content of the given InputStream as an XML document and return a new DOM Document object. |
Document |
parse |
Parse the content of the given URI as an XML document and return a new DOM Document object. |
abstract Document |
parse |
Parse the content of the given input source as an XML document and return a new DOM Document object. |
void |
reset() |
Reset this DocumentBuilder to its original configuration. |
abstract void |
setEntityResolver |
Specify the EntityResolver to be used to resolve entities present in the XML document to be parsed. |
abstract void |
setErrorHandler |
Specify the ErrorHandler to be used by the parser. |
protected DocumentBuilder()
public void reset()
Reset this DocumentBuilder
to its original configuration.
DocumentBuilder
is reset to the same state as when it was created with DocumentBuilderFactory.newDocumentBuilder()
. reset()
is designed to allow the reuse of existing DocumentBuilder
s thus saving resources associated with the creation of new DocumentBuilder
s.
The reset DocumentBuilder
is not guaranteed to have the same EntityResolver
or ErrorHandler
Object
s, e.g. Object.equals(Object obj)
. It is guaranteed to have a functionally equal EntityResolver
and ErrorHandler
.
UnsupportedOperationException
- When implementation does not override this method.public Document parse(InputStream is) throws SAXException, IOException
InputStream
as an XML document and return a new DOM Document
object. An IllegalArgumentException
is thrown if the InputStream
is null.is
- InputStream containing the content to be parsed.Document
result of parsing the InputStream
IOException
- If any IO errors occur.SAXException
- If any parse errors occur.IllegalArgumentException
- When is
is null
public Document parse(InputStream is, String systemId) throws SAXException, IOException
InputStream
as an XML document and return a new DOM Document
object. An IllegalArgumentException
is thrown if the InputStream
is null.is
- InputStream containing the content to be parsed.systemId
- Provide a base for resolving relative URIs.IOException
- If any IO errors occur.SAXException
- If any parse errors occur.IllegalArgumentException
- When is
is null
public Document parse(String uri) throws SAXException, IOException
Document
object. An IllegalArgumentException
is thrown if the URI is null
.uri
- The location of the content to be parsed.IOException
- If any IO errors occur.SAXException
- If any parse errors occur.IllegalArgumentException
- When uri
is null
public Document parse(File f) throws SAXException, IOException
Document
object. An IllegalArgumentException
is thrown if the File
is null
.f
- The file containing the XML to parse.IOException
- If any IO errors occur.SAXException
- If any parse errors occur.IllegalArgumentException
- When f
is null
public abstract Document parse(InputSource is) throws SAXException, IOException
Document
object. An IllegalArgumentException
is thrown if the InputSource
is null
.is
- InputSource containing the content to be parsed.IOException
- If any IO errors occur.SAXException
- If any parse errors occur.IllegalArgumentException
- When is
is null
public abstract boolean isNamespaceAware()
public abstract boolean isValidating()
public abstract void setEntityResolver(EntityResolver er)
EntityResolver
to be used to resolve entities present in the XML document to be parsed. Setting this to null
will result in the underlying implementation using it's own default implementation and behavior.er
- The EntityResolver
to be used to resolve entities present in the XML document to be parsed.public abstract void setErrorHandler(ErrorHandler eh)
ErrorHandler
to be used by the parser. Setting this to null
will result in the underlying implementation using it's own default implementation and behavior.eh
- The ErrorHandler
to be used by the parser.public abstract Document newDocument()
Document
object to build a DOM tree with.public abstract DOMImplementation getDOMImplementation()
DOMImplementation
object.DOMImplementation
.public Schema getSchema()
Get a reference to the Schema
being used by the XML processor.
If no schema is being used, null
is returned.
Schema
being used or null
if none in useUnsupportedOperationException
- When implementation does not override this methodpublic boolean isXIncludeAware()
Get the XInclude processing mode for this parser.
DocumentBuilderFactory.isXIncludeAware()
when this parser was created from factory.UnsupportedOperationException
- When implementation does not override this method
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.xml/javax/xml/parsers/DocumentBuilder.html