|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.icl.saxon.om.AbstractNode
com.icl.saxon.tinytree.TinyNodeImpl
com.icl.saxon.tinytree.TinyParentNodeImpl
com.icl.saxon.tinytree.TinyDocumentImpl
public final class TinyDocumentImpl
A node in the XML parse tree representing the Document itself (or equivalently, the root node of the Document).
Field Summary | |
---|---|
protected int[] |
attCode
|
protected int[] |
attParent
|
protected String[] |
attValue
|
protected char[] |
charBuffer
|
protected int |
charBufferLength
|
protected StringBuffer |
commentBuffer
|
protected short[] |
depth
|
protected int |
lastLevelOneNode
|
protected int[] |
length
|
protected int[] |
nameCode
|
protected int[] |
namespaceCode
|
protected int[] |
namespaceParent
|
protected int[] |
next
|
protected byte[] |
nodeType
|
protected int |
numberOfAttributes
|
protected int |
numberOfNamespaces
|
protected int |
numberOfNodes
|
protected int[] |
offset
|
protected int[] |
prior
|
Fields inherited from class com.icl.saxon.tinytree.TinyNodeImpl |
---|
document, nodeNr, parent |
Fields inherited from class com.icl.saxon.om.AbstractNode |
---|
NODE_LETTER |
Fields inherited from interface com.icl.saxon.om.NodeInfo |
---|
ATTRIBUTE, COMMENT, ELEMENT, NAMESPACE, NODE, NONE, NUMBER_OF_TYPES, PI, ROOT, TEXT |
Constructor Summary | |
---|---|
TinyDocumentImpl()
|
Method Summary | |
---|---|
protected void |
addAttribute(int parent0,
int code0,
String type0,
String value0)
|
protected void |
addNamespace(int parent0,
int nscode0)
|
protected void |
addNode(short type0,
int depth0,
int offset0,
int length0,
int nameCode0)
|
Node |
adoptNode(Node source)
Attempts to adopt a node from another document to this document. |
protected void |
appendChars(char[] chars,
int start,
int length)
|
void |
copy(Outputter out)
Copy this node to a given outputter |
void |
diagnosticDump()
Produce diagnostic print of main tree arrays |
protected void |
ensureAttributeCapacity()
|
protected void |
ensureNamespaceCapacity()
|
protected void |
ensureNodeCapacity()
|
protected void |
ensurePriorIndex()
On demand, make an index for quick access to preceding-sibling nodes |
String |
generateId()
Get a character string that uniquely identifies this node within the document |
protected AxisEnumeration |
getAllElements(int fingerprint)
Get a list of all elements with a given name. |
protected TinyAttributeImpl |
getAttributeNode(int nr)
Make a (transient) attribute node from the array of attributes |
String |
getBaseURI()
Get the base URI of this root node. |
DocumentInfo |
getDocumentRoot()
Get the root (document) node |
String |
getDocumentURI()
The location of the document or null if undefined or if
the Document was created using
DOMImplementation.createDocument . |
DOMConfiguration |
getDomConfig()
The configuration used when Document.normalizeDocument()
is invoked. |
String |
getInputEncoding()
An attribute specifying the encoding used for this document at the time of the parsing. |
Hashtable |
getKeyIndex(KeyManager keymanager,
int fingerprint)
Get the index for a given key |
int |
getLineNumber()
Get the line number of this root node. |
protected int |
getLineNumber(int sequence)
Get the line number for an element. |
NamePool |
getNamePool()
Get the name pool used for the names in this document |
protected TinyNamespaceImpl |
getNamespaceNode(int nr)
Make a (transient) namespace node from the array of namespace declarations |
TinyNodeImpl |
getNode(int nr)
|
short |
getNodeType()
Return the type of node. |
NodeInfo |
getParent()
Find the parent node of this node. |
long |
getSequenceNumber()
Get the node sequence number (in document order). |
boolean |
getStrictErrorChecking()
An attribute specifying whether error checking is enforced or not. |
String |
getSystemId()
Get the system id of this root node |
protected String |
getSystemId(int seq)
Get the system id of an element in the document |
String |
getUnparsedEntity(String name)
Get the unparsed entity with a given name |
String |
getXmlEncoding()
An attribute specifying, as part of the XML declaration, the encoding of this document. |
boolean |
getXmlStandalone()
An attribute specifying, as part of the XML declaration, whether this document is standalone. |
String |
getXmlVersion()
An attribute specifying, as part of the XML declaration, the version number of this document. |
protected boolean |
isUsingNamespaces()
determine whether this document uses namespaces |
void |
normalizeDocument()
This method acts as if the document was going through a save and load cycle, putting the document in a "normal" form. |
Node |
renameNode(Node n,
String namespaceURI,
String qualifiedName)
Rename an existing node of type ELEMENT_NODE or
ATTRIBUTE_NODE . |
NodeInfo |
selectID(String id)
Get the element with a given ID. |
void |
setDocumentURI(String documentURI)
The location of the document or null if undefined or if
the Document was created using
DOMImplementation.createDocument . |
void |
setKeyIndex(KeyManager keymanager,
int fingerprint,
Hashtable keyindex)
Set the index for a given key. |
protected void |
setLineNumber(int sequence,
int line)
Set the line number for an element. |
void |
setLineNumbering()
Set line numbering on |
void |
setNamePool(NamePool pool)
Set the name pool used for all names in this document |
void |
setStrictErrorChecking(boolean strictErrorChecking)
An attribute specifying whether error checking is enforced or not. |
protected void |
setSystemId(int seq,
String uri)
Set the system id of an element in the document |
void |
setSystemId(String uri)
Set the system id of this node |
protected void |
setUnparsedEntity(String name,
String uri)
Set an unparsed entity URI associated with this document. |
void |
setXmlStandalone(boolean xmlStandalone)
An attribute specifying, as part of the XML declaration, whether this document is standalone. |
void |
setXmlVersion(String xmlVersion)
An attribute specifying, as part of the XML declaration, the version number of this document. |
protected void |
truncate(int nodes)
Truncate the tree: used in preview mode to delete an element after it has been processed |
Methods inherited from class com.icl.saxon.tinytree.TinyParentNodeImpl |
---|
copyStringValue, getStringValue, hasChildNodes |
Methods inherited from class com.icl.saxon.tinytree.TinyNodeImpl |
---|
compareOrder, getAttributeValue, getAttributeValue, getDisplayName, getEnumeration, getFingerprint, getLocalName, getNameCode, getOriginatingNode, getPrefix, getURI, hasAttributes, isSameNodeInfo, outputNamespaceNodes, setLineNumber, setParentNode |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.icl.saxon.om.NodeInfo |
---|
compareOrder, copyStringValue, getAttributeValue, getAttributeValue, getDisplayName, getEnumeration, getFingerprint, getLocalName, getNameCode, getPrefix, getStringValue, getURI, hasChildNodes, isSameNodeInfo, outputNamespaceNodes |
Methods inherited from interface org.w3c.dom.Document |
---|
createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, getDoctype, getDocumentElement, getElementById, getElementsByTagName, getElementsByTagNameNS, getImplementation, importNode |
Methods inherited from interface org.w3c.dom.Node |
---|
appendChild, cloneNode, compareDocumentPosition, getAttributes, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData |
Field Detail |
---|
protected char[] charBuffer
protected int charBufferLength
protected StringBuffer commentBuffer
protected int numberOfNodes
protected int lastLevelOneNode
protected byte[] nodeType
protected short[] depth
protected int[] next
protected int[] offset
protected int[] length
protected int[] nameCode
protected int[] prior
protected int numberOfAttributes
protected int[] attParent
protected int[] attCode
protected String[] attValue
protected int numberOfNamespaces
protected int[] namespaceParent
protected int[] namespaceCode
Constructor Detail |
---|
public TinyDocumentImpl()
Method Detail |
---|
public void setNamePool(NamePool pool)
setNamePool
in interface DocumentInfo
public NamePool getNamePool()
getNamePool
in interface DocumentInfo
protected void ensureNodeCapacity()
protected void ensureAttributeCapacity()
protected void ensureNamespaceCapacity()
protected void addNode(short type0, int depth0, int offset0, int length0, int nameCode0)
protected void appendChars(char[] chars, int start, int length)
protected void truncate(int nodes)
protected void ensurePriorIndex()
protected void addAttribute(int parent0, int code0, String type0, String value0)
protected void addNamespace(int parent0, int nscode0)
public TinyNodeImpl getNode(int nr)
public long getSequenceNumber()
getSequenceNumber
in class TinyNodeImpl
protected TinyAttributeImpl getAttributeNode(int nr)
protected boolean isUsingNamespaces()
protected TinyNamespaceImpl getNamespaceNode(int nr)
public void setSystemId(String uri)
setSystemId
in interface Source
setSystemId
in class TinyNodeImpl
public String getSystemId()
getSystemId
in interface NodeInfo
getSystemId
in interface Source
getSystemId
in interface SourceLocator
getSystemId
in class TinyNodeImpl
public String getBaseURI()
getBaseURI
in interface NodeInfo
getBaseURI
in interface Node
getBaseURI
in class TinyNodeImpl
protected void setSystemId(int seq, String uri)
protected String getSystemId(int seq)
public void setLineNumbering()
protected void setLineNumber(int sequence, int line)
protected int getLineNumber(int sequence)
public int getLineNumber()
getLineNumber
in interface NodeInfo
getLineNumber
in interface SourceLocator
getLineNumber
in class TinyNodeImpl
public final short getNodeType()
getNodeType
in interface NodeInfo
getNodeType
in interface Node
public NodeInfo getParent()
getParent
in interface NodeInfo
getParent
in class TinyNodeImpl
public DocumentInfo getDocumentRoot()
getDocumentRoot
in interface NodeInfo
getDocumentRoot
in class TinyNodeImpl
public String generateId()
generateId
in interface NodeInfo
generateId
in class TinyNodeImpl
protected AxisEnumeration getAllElements(int fingerprint)
public NodeInfo selectID(String id)
selectID
in interface DocumentInfo
id
- The unique ID of the required element, previously registered using registerID()
public Hashtable getKeyIndex(KeyManager keymanager, int fingerprint)
getKeyIndex
in interface DocumentInfo
keymanager
- The key manager managing this keyfingerprint
- The fingerprint of the name of the key (unique with the key manager)
public void setKeyIndex(KeyManager keymanager, int fingerprint, Hashtable keyindex)
setKeyIndex
in interface DocumentInfo
keymanager
- The key manager managing this keyfingerprint
- The fingerprint of the name of the key (unique with the key manager)keyindex
- the index, in the form of a Hashtable that
maps the key value to a set of nodes having that key value. Or the String
"under construction", indicating that the index is being built.protected void setUnparsedEntity(String name, String uri)
public String getUnparsedEntity(String name)
getUnparsedEntity
in interface DocumentInfo
name
- the name of the entity
public void copy(Outputter out) throws TransformerException
copy
in interface NodeInfo
TransformerException
public void diagnosticDump()
public Node adoptNode(Node source) throws DOMException
adoptNode
in interface Document
source
- The node to move into this document.
null
if this operation
fails, such as when the source node comes from a different
implementation.
DOMException
- NOT_SUPPORTED_ERR: Raised if the source node is of type
DOCUMENT
, DOCUMENT_TYPE
.
public String getDocumentURI()
null
if undefined or if
the Document
was created using
DOMImplementation.createDocument
. No lexical checking is
performed when setting this attribute; this could result in a
null
value returned when using Node.baseURI
.
Document
supports the feature
"HTML" [DOM Level 2 HTML]
, the href attribute of the HTML BASE element takes precedence over
this attribute when computing Node.baseURI
.
getDocumentURI
in interface Document
public DOMConfiguration getDomConfig()
Document.normalizeDocument()
is invoked.
getDomConfig
in interface Document
public String getInputEncoding()
null
when it is not known, such
as when the Document
was created in memory.
getInputEncoding
in interface Document
public boolean getStrictErrorChecking()
false
, the implementation is free to not test
every possible error case normally defined on DOM operations, and not
raise any DOMException
on DOM operations or report
errors while using Document.normalizeDocument()
. In case
of error, the behavior is undefined. This attribute is
true
by default.
getStrictErrorChecking
in interface Document
public String getXmlEncoding()
null
when
unspecified or when it is not known, such as when the
Document
was created in memory.
getXmlEncoding
in interface Document
public boolean getXmlStandalone()
false
when
unspecified.
Note: No verification is done on the value when setting
this attribute. Applications should use
Document.normalizeDocument()
with the "validate"
parameter to verify if the value matches the validity
constraint for standalone document declaration as defined in [XML 1.0].
getXmlStandalone
in interface Document
public String getXmlVersion()
"1.0"
.
getXmlVersion
in interface Document
public void normalizeDocument()
normalizeDocument
in interface Document
public Node renameNode(Node n, String namespaceURI, String qualifiedName) throws DOMException
ELEMENT_NODE
or
ATTRIBUTE_NODE
.
renameNode
in interface Document
n
- The node to rename.namespaceURI
- The new namespace URI.qualifiedName
- The new qualified name.
DOMException
- NOT_SUPPORTED_ERR: Raised when the type of the specified node is
neither ELEMENT_NODE
nor ATTRIBUTE_NODE
,
or if the implementation does not support the renaming of the
document element.
Document.xmlVersion
attribute.
qualifiedName
is a
malformed qualified name, if the qualifiedName
has a
prefix and the namespaceURI
is null
, or
if the qualifiedName
has a prefix that is "xml" and
the namespaceURI
is different from "
http://www.w3.org/XML/1998/namespace" [XML Namespaces]
. Also raised, when the node being renamed is an attribute, if the
qualifiedName
, or its prefix, is "xmlns" and the
namespaceURI
is different from "http://www.w3.org/2000/xmlns/".public void setDocumentURI(String documentURI)
null
if undefined or if
the Document
was created using
DOMImplementation.createDocument
. No lexical checking is
performed when setting this attribute; this could result in a
null
value returned when using Node.baseURI
.
Document
supports the feature
"HTML" [DOM Level 2 HTML]
, the href attribute of the HTML BASE element takes precedence over
this attribute when computing Node.baseURI
.
setDocumentURI
in interface Document
public void setStrictErrorChecking(boolean strictErrorChecking)
false
, the implementation is free to not test
every possible error case normally defined on DOM operations, and not
raise any DOMException
on DOM operations or report
errors while using Document.normalizeDocument()
. In case
of error, the behavior is undefined. This attribute is
true
by default.
setStrictErrorChecking
in interface Document
public void setXmlStandalone(boolean xmlStandalone) throws DOMException
false
when
unspecified.
Note: No verification is done on the value when setting
this attribute. Applications should use
Document.normalizeDocument()
with the "validate"
parameter to verify if the value matches the validity
constraint for standalone document declaration as defined in [XML 1.0].
setXmlStandalone
in interface Document
DOMException
- NOT_SUPPORTED_ERR: Raised if this document does not support the
"XML" feature.public void setXmlVersion(String xmlVersion) throws DOMException
"1.0"
. If this document does not support the "XML"
feature, the value is always null
. Changing this
attribute will affect methods that check for invalid characters in
XML names. Application should invoke
Document.normalizeDocument()
in order to check for
invalid characters in the Node
s that are already part of
this Document
.
DOMImplementation.hasFeature(feature, version)
method
with parameter values "XMLVersion" and "1.0" (respectively) to
determine if an implementation supports [XML 1.0]. DOM
applications may use the same method with parameter values
"XMLVersion" and "1.1" (respectively) to determine if an
implementation supports [XML 1.1]. In both
cases, in order to support XML, an implementation must also support
the "XML" feature defined in this specification. Document
objects supporting a version of the "XMLVersion" feature must not
raise a NOT_SUPPORTED_ERR
exception for the same version
number when using Document.xmlVersion
.
setXmlVersion
in interface Document
DOMException
- NOT_SUPPORTED_ERR: Raised if the version is set to a value that is
not supported by this Document
or if this document
does not support the "XML" feature.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |