nu.xom
Class DocType
Represents an XML document type declaration such as
<!DOCTYPE book SYSTEM "docbookx.dtd">
.
Note that this is not the same thing as a document
type
definition (DTD). XOM does not currently model
the DTD. The document type declaration contains or points to
the DTD, but it is not the DTD.
A
DocType
object does not have any child
nodes. It can be a child of a
Document
.
Each
DocType
object has four
String
properties, some of which may be null:
- The declared name of the root element (which
does not necessarily match the actual root element name
in an invalid document)
- The public identifier (which may be null)
- The system identifier (which may be null)
- The internal DTD subset (which may be null)
DocType(String rootElementName) -
Creates a new document type declaration with
no public or system ID.
|
DocType(String rootElementName, String systemID) -
Creates a new document type declaration with a system ID
but no public ID.
|
DocType(String rootElementName, String publicID, String systemID) -
Creates a new document type declaration with a public ID
and a system ID.
|
DocType(DocType doctype) -
Creates a new
DocType that's a copy of its
argument.
|
Node | copy() -
Returns a copy of this
DocType
which has the same system ID, public ID, root element name,
and internal DTD subset, but does not belong to a document.
|
Node | getChild(int position) -
Throws
IndexOutOfBoundsException because
document type declarations do not have children.
|
int | getChildCount() -
Returns 0 because document type declarations do not have
children.
|
String | getInternalDTDSubset() -
Returns the complete internal DTD subset.
|
String | getPublicID() -
Returns the public ID of the external DTD subset.
|
String | getRootElementName() -
Returns the name the document type declaration specifies
for the root element.
|
String | getSystemID() -
Returns the system ID of the external DTD subset.
|
String | getValue() -
Returns the empty string.
|
void | setInternalDTDSubset(String subset) -
Sets the internal DTD subset; that is the part of the DTD
between
[ and ] .
|
void | setPublicID(String id) -
Sets the public ID for the external DTD subset.
|
void | setRootElementName(String name) -
Sets the name the document type declaration specifies
for the root element.
|
void | setSystemID(String id) -
Sets the system ID for the external DTD subset.
|
String | toString() -
Returns a string form of the
DocType suitable for debugging
and diagnosis.
|
String | toXML() -
Returns a string containing the actual XML
form of the document type declaration represented
by this object.
|
copy , detach , equals , getBaseURI , getChild , getChildCount , getDocument , getParent , getValue , hashCode , query , query , toXML |
DocType
public DocType(String rootElementName)
Creates a new document type declaration with
no public or system ID. It has the general form
<!DOCTYPE rootElementName>
.
rootElementName
- the name specified for the root element
DocType
public DocType(String rootElementName,
String systemID)
Creates a new document type declaration with a system ID
but no public ID. It has the general form
<!DOCTYPE rootElementName SYSTEM "systemID">
.
rootElementName
- the name specified for the root elementsystemID
- the URL of the external DTD subset
DocType
public DocType(String rootElementName,
String publicID,
String systemID)
Creates a new document type declaration with a public ID
and a system ID. It has the general form
<!DOCTYPE rootElementName PUBLIC
"publicID" "systemID">
.
rootElementName
- the name specified for the root elementpublicID
- the public ID of the external DTD subsetsystemID
- the URL of the external DTD subset
DocType
public DocType(DocType doctype)
Creates a new DocType
that's a copy of its
argument. The copy has the same data but no parent document.
doctype
- the DocType
to copy
copy
public Node copy()
Returns a copy of this DocType
which has the same system ID, public ID, root element name,
and internal DTD subset, but does not belong to a document.
Thus, it can be inserted into a different document.
- copy in interface Node
- a deep copy of this
DocType
that is not part of a document
getChild
public final Node getChild(int position)
Throws IndexOutOfBoundsException
because
document type declarations do not have children.
- getChild in interface Node
position
- the index of the child node to return
- never returns because document type declarations do not
have children. Always throws an exception.
getChildCount
public final int getChildCount()
Returns 0 because document type declarations do not have
children.
- getChildCount in interface Node
getInternalDTDSubset
public final String getInternalDTDSubset()
Returns the complete internal DTD subset.
White space may not be preserved completely accurately,
but all declarations should be in place.
getPublicID
public final String getPublicID()
Returns the public ID of the external DTD subset.
This is null if there is no external DTD subset
or if it does not have a public identifier.
- the public ID of the external DTD subset.
getRootElementName
public final String getRootElementName()
Returns the name the document type declaration specifies
for the root element. In an invalid document, this may
not be the same as the actual root element name.
- the declared name of the root element
getSystemID
public final String getSystemID()
Returns the system ID of the external DTD subset.
This is a URL. It is null if there is no external DTD subset.
- the URL for the external DTD subset.
getValue
public final String getValue()
Returns the empty string. XPath 1.0 does not define a value
for document type declarations.
- getValue in interface Node
setInternalDTDSubset
public final void setInternalDTDSubset(String subset)
Sets the internal DTD subset; that is the part of the DTD
between [
and ]
. Changing the
internal DTD subset does not affect the instance document.
That is, default attribute values and attribute types
specified in the new internal DTD subset are not applied to the
corresponding elements in the instance document. Furthermore,
there's no guarantee that the instance document is or is not
valid with respect to the declarations in the new internal
DTD subset.
subset
- the internal DTD subset
setPublicID
public void setPublicID(String id)
Sets the public ID for the external DTD subset.
This can only be set after a system ID has been set,
because XML requires that all document type declarations
with public IDs have system IDs. Passing null removes
the public ID.
id
- the public identifier of the external DTD subset
setRootElementName
public void setRootElementName(String name)
Sets the name the document type declaration specifies
for the root element. In an invalid document, this may
not be the same as the actual root element name.
name
- the root element name given by
the document type declaration
setSystemID
public void setSystemID(String id)
Sets the system ID for the external DTD subset.
This must be a a relative or absolute URI with no fragment
identifier. Passing null removes the system ID, but only if
the public ID has been removed first. Otherwise,
passing null causes a WellformednessException
.
id
- the URL of the external DTD subset
toString
public final String toString()
Returns a string form of the
DocType
suitable for debugging
and diagnosis. It deliberately does not return
an actual XML document type declaration.
- a string representation of this object
toXML
public final String toXML()
Returns a string containing the actual XML
form of the document type declaration represented
by this object. For example,
<!DOCTYPE book SYSTEM "docbookx.dtd">
.
- toXML in interface Node
- a
String
containing
an XML document type declaration
Copyright 2002-2005 Elliotte Rusty Harold
elharo@metalab.unc.edu