gnu.xml.dom
Class DomDoctype
- Cloneable, Comparable, DocumentEvent, DocumentType, EventTarget, Node, NodeList
"DocumentType" implementation (with no extensions for supporting
any document typing information). This is a non-core DOM class,
supporting the "XML" feature.
Few XML applications will actually care about this partial
DTD support, since it doesn't expose any (!) of the data typing
facilities which can motivate applications to use DTDs. It does not
expose element content models, or information about attribute typing
rules. Plus the information it exposes isn't very useful; as one example,
DOM exposes information about unparsed ENTITY objects, which is only used
with certain element attributes, but does not expose the information about
those attributes which is needed to apply that data!
Also, note that there are no nonportable ways to associate even the
notation and entity information exposed by DOM with a DocumentType. While
there is a DOM L2 method to construct a DocumentType, it only gives access
to the textual content of the <!DOCTYPE ...> declaration.
In short,
you are strongly advised not to rely on this incomplete
DTD functionality in your application code.
DomEntity
, DomEntityReference
, DomNotation
ATTRIBUTE_NODE , CDATA_SECTION_NODE , COMMENT_NODE , DOCUMENT_FRAGMENT_NODE , DOCUMENT_NODE , DOCUMENT_POSITION_CONTAINED_BY , DOCUMENT_POSITION_CONTAINS , DOCUMENT_POSITION_DISCONNECTED , DOCUMENT_POSITION_FOLLOWING , DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC , DOCUMENT_POSITION_PRECEDING , DOCUMENT_TYPE_NODE , ELEMENT_NODE , ENTITY_NODE , ENTITY_REFERENCE_NODE , NOTATION_NODE , PROCESSING_INSTRUCTION_NODE , TEXT_NODE |
DomDoctype(DomDocument doc, String name, String publicId, String systemId) - JAXP builder constructor.
|
DomDoctype(DOMImplementation impl, String name, String publicId, String systemId, String internalSubset) - Constructs a DocumentType node associated with the specified
implementation, with the specified name.
|
void | attributeDecl(String eName, String aName, String type, String mode, String value)
|
Object | clone() - Shallow clone of the doctype, except that associated
entities and notations are (deep) cloned.
|
Entity | declareEntity(String name, String publicId, String systemId, String notation) - Records the declaration of a general entity in this DocumentType.
|
Notation | declareNotation(String name, String publicId, String systemId) - Records the declaration of a notation in this DocumentType.
|
void | elementDecl(String name, String model)
|
String | getBaseURI() - The base URI of a DocumentType is always
null .
|
NamedNodeMap | getEntities() - DOM L1
Returns information about any general entities declared
in the DTD.
|
DOMImplementation | getImplementation() - Returns the implementation associated with this document type.
|
String | getInternalSubset() - DOM L2
Returns the internal subset of the document, as a string of unparsed
XML declarations (and comments, PIs, whitespace); or returns null if
there is no such subset.
|
String | getName() - DOM L1
Returns the root element's name (just like getNodeName).
|
NamedNodeMap | getNotations() - DOM L1
Returns information about any notations declared in the DTD.
|
boolean | isSameNode(Node arg) - Returns whether this node is the same node as the given one.
|
void | makeReadonly() - Sets the internal "readonly" flag so the node and its associated
data (only lists of entities and notations, no type information
at the moment) can't be changed.
|
boolean | supports(String feature, String version) - DOM L2
Consults the DOM implementation to determine if the requested
feature is supported.
|
addEventListener , appendChild , clone , cloneNode , compact , compareDocumentPosition , compareTo , createEvent , dispatchEvent , getAttributes , getBaseURI , getChildNodes , getElementsByTagName , getElementsByTagNameNS , getFeature , getFirstChild , getLastChild , getLength , getLocalName , getNamespaceURI , getNextSibling , getNodeName , getNodeType , getNodeValue , getOwnerDocument , getParentNode , getPrefix , getPreviousSibling , getTextContent , getUserData , hasAttributes , hasChildNodes , insertBefore , isDefaultNamespace , isEqualNode , isReadonly , isSameNode , isSupported , item , lookupNamespaceURI , lookupPrefix , makeReadonly , nameAndTypeEquals , normalize , removeChild , removeEventListener , replaceChild , setNodeValue , setPrefix , setTextContent , setUserData , toString , trimToSize |
DomDoctype
public DomDoctype(DomDocument doc,
String name,
String publicId,
String systemId)
JAXP builder constructor.
doc
- the documentname
- the name of the document elementpublicId
- the public ID of the document type declarationsystemId
- the system ID of the document type declaration
DomDoctype
protected DomDoctype(DOMImplementation impl,
String name,
String publicId,
String systemId,
String internalSubset)
Constructs a DocumentType node associated with the specified
implementation, with the specified name.
This constructor should only be invoked by a DOMImplementation as
part of its createDocumentType functionality, or through a subclass
which is similarly used in a "Sub-DOM" style layer.
Note that at this time there is no standard SAX API granting
access to the internal subset text, so that relying on that value
is not currently portable.
impl
- The implementation with which this object is associatedname
- Name of this root elementpublicId
- If non-null, provides the external subset's
PUBLIC identifiersystemId
- If non-null, provides the external subset's
SYSTEM identifierinternalSubset
- Provides the literal value (unparsed, no
entities expanded) of the DTD's internal subset.
attributeDecl
public void attributeDecl(String eName,
String aName,
String type,
String mode,
String value)
clone
public Object clone()
Shallow clone of the doctype, except that associated
entities and notations are (deep) cloned.
- clone in interface DomNode
declareEntity
public Entity declareEntity(String name,
String publicId,
String systemId,
String notation)
Records the declaration of a general entity in this DocumentType.
name
- Name of the entitypublicId
- If non-null, provides the entity's PUBLIC identifiersystemId
- Provides the entity's SYSTEM identifiernotation
- If non-null, provides the entity's notation
(indicating an unparsed entity)
- The Entity that was declared, or null if the entity wasn't
recorded (because it's a parameter entity or because an entity with
this name was already declared).
declareNotation
public Notation declareNotation(String name,
String publicId,
String systemId)
Records the declaration of a notation in this DocumentType.
name
- Name of the notationpublicId
- If non-null, provides the notation's PUBLIC identifiersystemId
- If non-null, provides the notation's SYSTEM identifier
- The notation that was declared.
elementDecl
public void elementDecl(String name,
String model)
getBaseURI
public final String getBaseURI()
The base URI of a DocumentType is always null
.
See the Infoset Mapping, appendix C.
- getBaseURI in interface Node
- getBaseURI in interface DomNode
getEntities
public NamedNodeMap getEntities()
DOM L1
Returns information about any general entities declared
in the DTD.
Note: DOM L1 doesn't throw a DOMException here, but
then it doesn't have the strange construction rules of L2.
- getEntities in interface DocumentType
getImplementation
public final DOMImplementation getImplementation()
Returns the implementation associated with this document type.
getInternalSubset
public String getInternalSubset()
DOM L2
Returns the internal subset of the document, as a string of unparsed
XML declarations (and comments, PIs, whitespace); or returns null if
there is no such subset. There is no vendor-independent expectation
that this attribute be set, or that declarations found in it be
reflected in the
entities or
notations attributes
of this Document "Type" object.
Some application-specific XML profiles require that documents
only use specific PUBLIC identifiers, without an internal subset
to modify the interperetation of the declarations associated with
that PUBLIC identifier through some standard.
- getInternalSubset in interface DocumentType
getName
public final String getName()
DOM L1
Returns the root element's name (just like getNodeName).
- getName in interface DocumentType
getNotations
public NamedNodeMap getNotations()
DOM L1
Returns information about any notations declared in the DTD.
Note: DOM L1 doesn't throw a DOMException here, but
then it doesn't have the strange construction rules of L2.
- getNotations in interface DocumentType
isSameNode
public boolean isSameNode(Node arg)
Returns whether this node is the same node as the given one.
This method provides a way to determine whether two
Node
references returned by the implementation reference
the same object. When two Node
references are references
to the same object, even if through a proxy, the references may be
used completely interchangeably, such that all attributes have the
same values and calling the same DOM method on either reference
always has exactly the same effect.
- isSameNode in interface Node
- isSameNode in interface DomNode
- Returns
true
if the nodes are the same,
false
otherwise.
- DOM Level 3
makeReadonly
public void makeReadonly()
Sets the internal "readonly" flag so the node and its associated
data (only lists of entities and notations, no type information
at the moment) can't be changed.
- makeReadonly in interface DomNode
supports
public final boolean supports(String feature,
String version)
DOM L2
Consults the DOM implementation to determine if the requested
feature is supported.