Class DocumentBuilderImpl
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGet the Saxon Configuration to be used by the document builder.Obtain an instance of aDOMImplementation
object.int
Get the space-stripping action to be applied to the source documentboolean
Indicates whether or not this document builder is configured to understand namespaces.boolean
Indicates whether or not this document builder is configured to validate XML documents against a DTD.boolean
Get the XInclude processing mode for this parser.Create a new Document Node.Parse the content of the given file as an XML document and return a new DOMDocument
object.parse
(InputSource in) Parse the content of the given input source as an XML document and return a new DOMDocument
object.void
setConfiguration
(Configuration config) Set the Saxon Configuration to be used by the document builder.void
Specify theEntityResolver
to be used to resolve entities present in the XML document to be parsed.void
Specify theErrorHandler
to be used by the parser.void
setStripSpace
(int stripAction) Set the space-stripping action to be applied to the source documentvoid
setValidating
(boolean state) Determine whether the document builder should perform DTD validationvoid
setXIncludeAware
(boolean state) Set state of XInclude processing.
-
Constructor Details
-
DocumentBuilderImpl
public DocumentBuilderImpl()
-
-
Method Details
-
setConfiguration
Set the Saxon Configuration to be used by the document builder. This non-JAXP method must be called if the resulting document is to be used within a Saxon query or transformation. If no Configuration is supplied, Saxon creates a Configuration on the first call to theparse(org.xml.sax.InputSource)
method, and subsequent calls reuse the same Configuration.As an alternative to calling this method, a Configuration can be supplied by calling
setAttribute(FeatureKeys.CONFIGURATION, config)
on theDocumentBuilderFactory
object, whereconfig
can be obtained by callinggetAttribute(FeatureKeys.CONFIGURATION)
on theTransformerFactory
.- Since:
- Saxon 8.8
-
getConfiguration
Get the Saxon Configuration to be used by the document builder. This is a non-JAXP method.- Returns:
- the Configuration previously supplied to
setConfiguration(net.sf.saxon.Configuration)
, or the Configuration created automatically by Saxon on the first call to theparse(org.xml.sax.InputSource)
method, or null if no Configuration has been supplied and theparse(org.xml.sax.InputSource)
method has not been called. - Since:
- Saxon 8.8
-
isNamespaceAware
public boolean isNamespaceAware()Indicates whether or not this document builder is configured to understand namespaces.- Specified by:
isNamespaceAware
in classDocumentBuilder
- Returns:
- true if this document builder is configured to understand namespaces. This implementation always returns true.
-
setValidating
public void setValidating(boolean state) Determine whether the document builder should perform DTD validation- Parameters:
state
- set to true to request DTD validation
-
isValidating
public boolean isValidating()Indicates whether or not this document builder is configured to validate XML documents against a DTD.- Specified by:
isValidating
in classDocumentBuilder
- Returns:
- true if this parser is configured to validate XML documents against a DTD; false otherwise.
-
newDocument
Create a new Document Node.- Specified by:
newDocument
in classDocumentBuilder
- Throws:
UnsupportedOperationException
- (always). The only way to build a document using this DocumentBuilder implementation is by using the parse() method.
-
parse
Parse the content of the given input source as an XML document and return a new DOMDocument
object.Note: for this document to be usable as part of a Saxon query or transformation, the document should be built within the
Configuration
in which that query or transformation is running. This can be achieved using the non-JAXPsetConfiguration(net.sf.saxon.Configuration)
method.- Specified by:
parse
in classDocumentBuilder
- Parameters:
in
- InputSource containing the content to be parsed. Note that if an EntityResolver or ErrorHandler has been supplied, then the XMLReader contained in this InputSource will be modified to register this EntityResolver or ErrorHandler, replacing any that was previously registered.- Returns:
- A new DOM Document object.
- Throws:
SAXException
- If any parse errors occur.
-
parse
Parse the content of the given file as an XML document and return a new DOMDocument
object. AnIllegalArgumentException
is thrown if theFile
isnull
null.This implementation differs from the parent implementation by using a correct algorithm for filename-to-uri conversion.
- Overrides:
parse
in classDocumentBuilder
- Parameters:
f
- The file containing the XML to parse.- Returns:
- A new DOM Document object.
- Throws:
IOException
- If any IO errors occur.SAXException
- If any parse errors occur.
-
setEntityResolver
Specify theEntityResolver
to be used to resolve entities present in the XML document to be parsed. Setting this tonull
will result in the underlying implementation using the EntityResolver registered with the XMLReader contained in the InputSource.- Specified by:
setEntityResolver
in classDocumentBuilder
- Parameters:
er
- TheEntityResolver
to be used to resolve entities present in the XML document to be parsed.
-
setErrorHandler
Specify theErrorHandler
to be used by the parser. Setting this tonull
will result in the underlying implementation using using the ErrorHandler registered with the XMLReader contained in the InputSource.- Specified by:
setErrorHandler
in classDocumentBuilder
- Parameters:
eh
- TheErrorHandler
to be used by the parser.
-
getDOMImplementation
Obtain an instance of aDOMImplementation
object.- Specified by:
getDOMImplementation
in classDocumentBuilder
- Returns:
- A new instance of a
DOMImplementation
.
-
setXIncludeAware
public void setXIncludeAware(boolean state) Set state of XInclude processing.
If XInclude markup is found in the document instance, should it be processed as specified in XML Inclusions (XInclude) Version 1.0.
XInclude processing defaults to
false
.- Parameters:
state
- Set XInclude processing totrue
orfalse
-
isXIncludeAware
public boolean isXIncludeAware()Get the XInclude processing mode for this parser.
- Overrides:
isXIncludeAware
in classDocumentBuilder
- Returns:
- the return value of
the
DocumentBuilderFactory.isXIncludeAware()
when this parser was created from factory. - Throws:
UnsupportedOperationException
- For backward compatibility, when implementations for earlier versions of JAXP is used, this exception will be thrown.- Since:
- JAXP 1.5, Saxon 8.9
- See Also:
-
setStripSpace
public void setStripSpace(int stripAction) Set the space-stripping action to be applied to the source document- Parameters:
stripAction
- one ofWhitespace.IGNORABLE
,Whitespace.ALL
, orWhitespace.NONE
- Since:
- 8.9
-
getStripSpace
public int getStripSpace()Get the space-stripping action to be applied to the source document- Returns:
- one of
Whitespace.IGNORABLE
,Whitespace.ALL
, orWhitespace.NONE
- Since:
- 8.9
-