gnu.xml.libxmlj.dom

Class GnomeDocumentBuilder

Implemented Interfaces:
DOMImplementation

public class GnomeDocumentBuilder
extends DocumentBuilder
implements DOMImplementation

A JAXP DOM implementation that uses Gnome libxml2 as the underlying parser and node representation.

Constructor Summary

GnomeDocumentBuilder()
Constructs a new validating document builder.
GnomeDocumentBuilder(boolean validate, boolean coalesce, boolean expandEntities)
Constructs a new document builder.

Method Summary

Document
createDocument(String namespaceURI, String qualifiedName, DocumentType doctype)
Creates a DOM Document object of the specified type with its document element.
DocumentType
createDocumentType(String qualifiedName, String publicId, String systemId)
Creates an empty DocumentType node.
DOMImplementation
getDOMImplementation()
Object
getFeature(String feature, String version)
This method returns a specialized object which implements the specialized APIs of the specified feature and version, as specified in .
boolean
hasFeature(String name, String version)
Test if the DOM implementation implements a specific feature and version, as specified in .
boolean
isNamespaceAware()
boolean
isValidating()
Document
newDocument()
Document
parse(InputSource input)
void
setEntityResolver(EntityResolver resolver)
void
setErrorHandler(ErrorHandler handler)

Methods inherited from class javax.xml.parsers.DocumentBuilder

getDOMImplementation, getSchema, isNamespaceAware, isValidating, isXIncludeAware, newDocument, parse, parse, parse, parse, parse, reset, setEntityResolver, setErrorHandler

Constructor Details

GnomeDocumentBuilder

public GnomeDocumentBuilder()
Constructs a new validating document builder.


GnomeDocumentBuilder

public GnomeDocumentBuilder(boolean validate,
                            boolean coalesce,
                            boolean expandEntities)
Constructs a new document builder.

Parameters:
validate - whether to validate during parsing
coalesce - whether to merge CDATA as text nodes
expandEntities - whether to expand entity references

Method Details

createDocument

public Document createDocument(String namespaceURI,
                               String qualifiedName,
                               DocumentType doctype)
Creates a DOM Document object of the specified type with its document element.
Note that based on the DocumentType given to create the document, the implementation may instantiate specialized Document objects that support additional features than the "Core", such as "HTML" [DOM Level 2 HTML] . On the other hand, setting the DocumentType after the document was created makes this very unlikely to happen. Alternatively, specialized Document creation methods, such as createHTMLDocument [DOM Level 2 HTML] , can be used to obtain specific types of Document objects.
Specified by:
createDocument in interface DOMImplementation

Parameters:
namespaceURI - The namespace URI of the document element to create or null.
qualifiedName - The qualified name of the document element to be created or null.
doctype - The type of document to be created or null. When doctype is not null, its Node.ownerDocument attribute is set to the document being created.

Returns:
A new Document object with its document element. If the NamespaceURI, qualifiedName, and doctype are null, the returned Document is empty with no document element.

Since:
DOM Level 2


createDocumentType

public DocumentType createDocumentType(String qualifiedName,
                                       String publicId,
                                       String systemId)
Creates an empty DocumentType node. Entity declarations and notations are not made available. Entity reference expansions and default attribute additions do not occur..
Specified by:
createDocumentType in interface DOMImplementation

Parameters:
qualifiedName - The qualified name of the document type to be created.
publicId - The external subset public identifier.
systemId - The external subset system identifier.

Returns:
A new DocumentType node with Node.ownerDocument set to null.

Since:
DOM Level 2


getDOMImplementation

public DOMImplementation getDOMImplementation()
Overrides:
getDOMImplementation in interface DocumentBuilder


getFeature

public Object getFeature(String feature,
                         String version)
This method returns a specialized object which implements the specialized APIs of the specified feature and version, as specified in . The specialized object may also be obtained by using binding-specific casting methods but is not necessarily expected to, as discussed in . This method also allow the implementation to provide specialized objects which do not support the DOMImplementation interface.
Specified by:
getFeature in interface DOMImplementation

Parameters:
feature - The name of the feature requested. Note that any plus sign "+" prepended to the name of the feature will be ignored since it is not significant in the context of this method.
version - This is the version number of the feature to test.

Returns:
Returns an object which implements the specialized APIs of the specified feature and version, if any, or null if there is no object which implements interfaces associated with that feature. If the DOMObject returned by this method implements the DOMImplementation interface, it must delegate to the primary core DOMImplementation and not return results inconsistent with the primary core DOMImplementation such as hasFeature, getFeature, etc.

Since:
DOM Level 3


hasFeature

public boolean hasFeature(String name,
                          String version)
Test if the DOM implementation implements a specific feature and version, as specified in .
Specified by:
hasFeature in interface DOMImplementation

Parameters:
version - This is the version number of the feature to test.

Returns:
true if the feature is implemented in the specified version, false otherwise.


isNamespaceAware

public boolean isNamespaceAware()
Overrides:
isNamespaceAware in interface DocumentBuilder


isValidating

public boolean isValidating()
Overrides:
isValidating in interface DocumentBuilder


newDocument

public Document newDocument()
Overrides:
newDocument in interface DocumentBuilder


parse

public Document parse(InputSource input)
            throws SAXException,
                   IOException
Overrides:
parse in interface DocumentBuilder


setEntityResolver

public void setEntityResolver(EntityResolver resolver)
Overrides:
setEntityResolver in interface DocumentBuilder


setErrorHandler

public void setErrorHandler(ErrorHandler handler)
Overrides:
setErrorHandler in interface DocumentBuilder