| java.lang.Object org.apache.xml.dtm.ref.DTMDefaultBase org.apache.xml.dtm.ref.DTMDefaultBaseTraversers org.apache.xml.dtm.ref.DTMDefaultBaseIterators org.apache.xml.dtm.ref.sax2dtm.SAX2DTM
All known Subclasses: org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2, org.apache.xml.dtm.ref.sax2dtm.SAX2RTFDTM,
Constructor Summary | |
public | SAX2DTM(DTMManager mgr, Source source, int dtmIdentity, DTMWSFilter whiteSpaceFilter, XMLStringFactory xstringfactory, boolean doIndexing) Construct a SAX2DTM object using the default block size. | public | SAX2DTM(DTMManager mgr, Source source, int dtmIdentity, DTMWSFilter whiteSpaceFilter, XMLStringFactory xstringfactory, boolean doIndexing, int blocksize, boolean usePrevsib, boolean newNameTable) Construct a SAX2DTM object ready to be constructed from SAX2
ContentHandler events. |
Method Summary | |
protected int | _dataOrQName(int identity) Get the data or qualified name for the given node identity.
Parameters: identity - The node identity. | protected void | addNewDTMID(int nodeIndex) Get a new DTM ID beginning at the specified node index. | protected int | addNode(int type, int expandedTypeID, int parentIndex, int previousSibling, int dataOrPrefix, boolean canHaveFirstChild) Construct the node map from the node.
Parameters: type - raw type ID, one of DTM.XXX_NODE. Parameters: expandedTypeID - The expended type ID. Parameters: parentIndex - The current parent index. Parameters: previousSibling - The previous sibling index. Parameters: dataOrPrefix - index into m_data table, or string handle. Parameters: canHaveFirstChild - true if the node can have a first child, falseif it is atomic. | public void | attributeDecl(String eName, String aName, String type, String valueDefault, String value) Report an attribute type declaration.
Only the effective (first) declaration for an attribute will
be reported. | public void | characters(char ch, int start, int length) Receive notification of character data inside an element.
By default, do nothing. | protected void | charactersFlush() Check whether accumulated text should be stripped; if not,
append the appropriate flavor of text/cdata node. | public void | clearCoRoutine() Ask the CoRoutine parser to doTerminate and clear the reference. | public void | clearCoRoutine(boolean callDoTerminate) Ask the CoRoutine parser to doTerminate and clear the reference. | public void | comment(char ch, int start, int length) Report an XML comment anywhere in the document. | protected boolean | declAlreadyDeclared(String prefix) Check if a declaration has already been made for a given prefix.
Parameters: prefix - non-null prefix string. | public void | dispatchCharactersEvents(int nodeHandle, ContentHandler ch, boolean normalize) Directly call the
characters method on the passed ContentHandler for the
string-value of the given node (see http://www.w3.org/TR/xpath#data-model
for the definition of a node's string-value). | public void | dispatchToEvents(int nodeHandle, org.xml.sax.ContentHandler ch) Directly create SAX parser events from a subtree. | public void | elementDecl(String name, String model) Report an element type declaration.
The content model will consist of the string "EMPTY", the
string "ANY", or a parenthesised group, optionally followed
by an occurrence indicator. | public void | endCDATA() Report the end of a CDATA section. | public void | endDTD() Report the end of DTD declarations. | public void | endDocument() Receive notification of the end of the document. | public void | endElement(String uri, String localName, String qName) Receive notification of the end of an element.
By default, do nothing. | public void | endEntity(String name) Report the end of an entity. | public void | endPrefixMapping(String prefix) Receive notification of the end of a Namespace mapping.
By default, do nothing. | public void | error(SAXParseException e) Receive notification of a recoverable parser error.
The default implementation does nothing. | public void | externalEntityDecl(String name, String publicId, String systemId) Report a parsed external entity declaration.
Only the effective (first) declaration for each entity
will be reported.
Parameters: name - The name of the entity. | public void | fatalError(SAXParseException e) Report a fatal XML parsing error. | public int | getAttributeNode(int nodeHandle, String namespaceURI, String name) Retrieves an attribute node by by qualified name and namespace URI.
Parameters: nodeHandle - int Handle of the node upon which to look up this attribute.. Parameters: namespaceURI - The namespace URI of the attribute toretrieve, or null. Parameters: name - The local name of the attribute toretrieve. | public ContentHandler | getContentHandler() getContentHandler returns "our SAX builder" -- the thing that
someone else should send SAX events to in order to extend this
DTM model. | public DTDHandler | getDTDHandler() Return this DTM's DTDHandler. | public DeclHandler | getDeclHandler() Return this DTM's DeclHandler. | public String | getDocumentTypeDeclarationPublicIdentifier() Return the public identifier of the external subset,
normalized as described in 4.2.2 External Entities [XML]. | public String | getDocumentTypeDeclarationSystemIdentifier() A document type declaration information item has the following properties:
1. | public int | getElementById(String elementId) Returns the Element whose ID is given by
elementId . | public EntityResolver | getEntityResolver() Return this DTM's EntityResolver. | public ErrorHandler | getErrorHandler() Return this DTM's ErrorHandler. | public String | getFixedNames(int type) | public int | getIdForNamespace(String uri) Get a prefix either from the uri mapping, or just make
one up!
Parameters: uri - The namespace URI, which may be null. | public LexicalHandler | getLexicalHandler() Return this DTM's lexical handler. | public String | getLocalName(int nodeHandle) Given a node handle, return its XPath-style localname.
(As defined in Namespaces, this is the portion of the name after any
colon character).
Parameters: nodeHandle - the id of the node. | public String | getNamespaceURI(int nodeHandle) Given a node handle, return its DOM-style namespace URI
(As defined in Namespaces, this is the declared URI which this node's
prefix -- or default in lieu thereof -- was mapped to.)
%REVIEW% Null or ""? -sb
Parameters: nodeHandle - the id of the node. | public String | getNamespaceURI(String prefix) | protected int | getNextNodeIdentity(int identity) Get the next node identity value in the list, and call the iterator
if it hasn't been added yet.
Parameters: identity - The node identity (index). | public String | getNodeName(int nodeHandle) Given a node handle, return its DOM-style node name. | public String | getNodeNameX(int nodeHandle) Given a node handle, return the XPath node name. | public String | getNodeValue(int nodeHandle) Given a node handle, return its node value. | public int | getNumberOfNodes() Get the number of nodes that have been added. | public String | getPrefix(int nodeHandle) Given a namespace handle, return the prefix that the namespace decl is
mapping.
Given a node handle, return the prefix used to map to the namespace.
%REVIEW% Are you sure you want "" for no prefix?
%REVIEW-COMMENT% I think so... | public String | getPrefix(String qname, String uri) Get a prefix either from the qname or from the uri mapping, or just make
one up!
Parameters: qname - The qualified name, which may be null. Parameters: uri - The namespace URI, which may be null. | public SourceLocator | getSourceLocatorFor(int node) Retrieve the SourceLocator associated with a specific node.
This is only meaningful if the XalanProperties.SOURCE_LOCATION flag was
set True using setProperty; if it was never set, or was set false, we
will return null. | public XMLString | getStringValue(int nodeHandle) Get the string-value of a node as a String object
(see http://www.w3.org/TR/xpath#data-model
for the definition of a node's string-value).
Parameters: nodeHandle - The node ID. | public String | getUnparsedEntityURI(String name) The getUnparsedEntityURI function returns the URI of the unparsed
entity with the specified name in the same document as the context
node (see [3.3 Unparsed Entities]). | public void | ignorableWhitespace(char ch, int start, int length) Receive notification of ignorable whitespace in element content.
By default, do nothing. | public void | internalEntityDecl(String name, String value) Report an internal entity declaration.
Only the effective (first) declaration for each entity
will be reported.
Parameters: name - The name of the entity. | public boolean | isAttributeSpecified(int attributeHandle) 5. | public boolean | isWhitespace(int nodeHandle) Determine if the string-value of a node is whitespace
Parameters: nodeHandle - The node Handle. | public void | migrateTo(DTMManager manager) Migrate a DTM built with an old DTMManager to a new DTMManager. | public boolean | needsTwoThreads() true iff we're building this model incrementally (egwe're partnered with a IncrementalSAXSource) and thus require that thetransformation and the parse run simultaneously. | protected boolean | nextNode() This method should try and build one or more nodes in the table. | public void | notationDecl(String name, String publicId, String systemId) Receive notification of a notation declaration.
By default, do nothing. | public void | processingInstruction(String target, String data) Receive notification of a processing instruction.
By default, do nothing. | public InputSource | resolveEntity(String publicId, String systemId) Resolve an external entity.
Always return null, so that the parser will use the system
identifier provided in the XML document. | public void | setDocumentLocator(Locator locator) Receive a Locator object for document events.
By default, do nothing. | public void | setIDAttribute(String id, int elem) Set an ID string to node association in the ID table. | public void | setIncrementalSAXSource(IncrementalSAXSource incrementalSAXSource) Bind a IncrementalSAXSource to this DTM. | public void | setProperty(String property, Object value) Set a run time property for this DTM instance. | protected void | setSourceLocation() Store the source location of the current node. | public void | setUseSourceLocation(boolean useSourceLocation) Set whether information about document source location
should be maintained or not. | public void | skippedEntity(String name) Receive notification of a skipped entity.
By default, do nothing. | public void | startCDATA() Report the start of a CDATA section. | public void | startDTD(String name, String publicId, String systemId) Report the start of DTD declarations, if any. | public void | startDocument() Receive notification of the beginning of the document. | public void | startElement(String uri, String localName, String qName, Attributes attributes) Receive notification of the start of an element.
By default, do nothing. | public void | startEntity(String name) Report the beginning of an entity in content.
NOTE: entity references in attribute
values -- and the start and end of the document entity --
are never reported.
The start and end of the external DTD subset are reported
using the pseudo-name "[dtd]". | public void | startPrefixMapping(String prefix, String uri) Receive notification of the start of a Namespace mapping.
By default, do nothing. | public void | unparsedEntityDecl(String name, String publicId, String systemId, String notationName) Receive notification of an unparsed entity declaration.
By default, do nothing. | public void | warning(SAXParseException e) Receive notification of a parser warning.
The default implementation does nothing. |
m_chars | protected FastStringBuffer m_chars(Code) | | All the character content, including attribute values, are stored in
this buffer.
%REVIEW% Should this have an option of being shared across DTMs?
Sequentially only; not threadsafe... Currently, I think not.
%REVIEW% Initial size was pushed way down to reduce weight of RTFs.
pending reduction in number of RTF DTMs. Now that we're sharing a DTM
between RTFs, and tail-pruning... consider going back to the larger/faster.
Made protected rather than private so SAX2RTFDTM can access it.
|
m_coalescedTextType | protected transient int m_coalescedTextType(Code) | | Type of coalesced text block. See logic in the characters()
method.
|
m_contextIndexes | protected transient IntStack m_contextIndexes(Code) | | Namespace support, only relevent at construction time.
Made protected rather than private so SAX2RTFDTM can access it.
|
m_endDocumentOccured | protected boolean m_endDocumentOccured(Code) | | End document has been reached.
Made protected rather than private so SAX2RTFDTM can access it.
|
m_idAttributes | protected Hashtable m_idAttributes(Code) | | This table holds the ID string to node associations, for
XML IDs.
|
m_insideDTD | protected transient boolean m_insideDTD(Code) | | We are inside the DTD. This is used for ignoring comments.
|
m_locator | protected transient Locator m_locator(Code) | | The SAX Document locator
|
m_parents | protected transient IntStack m_parents(Code) | | The parent stack, needed only for construction.
Made protected rather than private so SAX2RTFDTM can access it.
|
m_pastFirstElement | boolean m_pastFirstElement(Code) | | |
m_prefixMappings | protected transient java.util.Vector m_prefixMappings(Code) | | Namespace support, only relevent at construction time.
Made protected rather than private so SAX2RTFDTM can access it.
|
m_previous | protected transient int m_previous(Code) | | The current previous node, needed only for construction time.
Made protected rather than private so SAX2RTFDTM can access it.
|
m_sourceColumn | protected IntVector m_sourceColumn(Code) | | Made protected for access by SAX2RTFDTM.
|
m_sourceLine | protected IntVector m_sourceLine(Code) | | Made protected for access by SAX2RTFDTM.
|
m_sourceSystemId | protected StringVector m_sourceSystemId(Code) | | Made protected for access by SAX2RTFDTM.
|
m_textPendingStart | protected int m_textPendingStart(Code) | | The starting offset within m_chars for the text or
CDATA_SECTION node currently being acumulated,
or -1 if there is no text node in progress
|
m_textType | protected transient int m_textType(Code) | | Type of next characters() event within text block in prgress.
|
m_useSourceLocationProperty | protected boolean m_useSourceLocationProperty(Code) | | Describes whether information about document source location
should be maintained or not.
Made protected for access by SAX2RTFDTM.
|
m_valuesOrPrefixes | protected DTMStringPool m_valuesOrPrefixes(Code) | | pool of string values that come as strings.
|
SAX2DTM | public SAX2DTM(DTMManager mgr, Source source, int dtmIdentity, DTMWSFilter whiteSpaceFilter, XMLStringFactory xstringfactory, boolean doIndexing)(Code) | | Construct a SAX2DTM object using the default block size.
Parameters: mgr - The DTMManager who owns this DTM. Parameters: source - the JAXP 1.1 Source object for this DTM. Parameters: dtmIdentity - The DTM identity ID for this DTM. Parameters: whiteSpaceFilter - The white space filter for this DTM, which maybe null. Parameters: xstringfactory - XMLString factory for creating character content. Parameters: doIndexing - true if the caller considers it worth it to useindexing schemes. |
SAX2DTM | public SAX2DTM(DTMManager mgr, Source source, int dtmIdentity, DTMWSFilter whiteSpaceFilter, XMLStringFactory xstringfactory, boolean doIndexing, int blocksize, boolean usePrevsib, boolean newNameTable)(Code) | | Construct a SAX2DTM object ready to be constructed from SAX2
ContentHandler events.
Parameters: mgr - The DTMManager who owns this DTM. Parameters: source - the JAXP 1.1 Source object for this DTM. Parameters: dtmIdentity - The DTM identity ID for this DTM. Parameters: whiteSpaceFilter - The white space filter for this DTM, which maybe null. Parameters: xstringfactory - XMLString factory for creating character content. Parameters: doIndexing - true if the caller considers it worth it to useindexing schemes. Parameters: blocksize - The block size of the DTM. Parameters: usePrevsib - true if we want to build the previous sibling node array. Parameters: newNameTable - true if we want to use a new ExpandedNameTable for this DTM. |
_dataOrQName | protected int _dataOrQName(int identity)(Code) | | Get the data or qualified name for the given node identity.
Parameters: identity - The node identity. The data or qualified name, or DTM.NULL. |
addNewDTMID | protected void addNewDTMID(int nodeIndex)(Code) | | Get a new DTM ID beginning at the specified node index.
Parameters: nodeIndex - The node identity at which the new DTM ID will beginaddressing. |
addNode | protected int addNode(int type, int expandedTypeID, int parentIndex, int previousSibling, int dataOrPrefix, boolean canHaveFirstChild)(Code) | | Construct the node map from the node.
Parameters: type - raw type ID, one of DTM.XXX_NODE. Parameters: expandedTypeID - The expended type ID. Parameters: parentIndex - The current parent index. Parameters: previousSibling - The previous sibling index. Parameters: dataOrPrefix - index into m_data table, or string handle. Parameters: canHaveFirstChild - true if the node can have a first child, falseif it is atomic. The index identity of the node that was added. |
attributeDecl | public void attributeDecl(String eName, String aName, String type, String valueDefault, String value) throws SAXException(Code) | | Report an attribute type declaration.
Only the effective (first) declaration for an attribute will
be reported. The type will be one of the strings "CDATA",
"ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY",
"ENTITIES", or "NOTATION", or a parenthesized token group with
the separator "|" and all whitespace removed.
Parameters: eName - The name of the associated element. Parameters: aName - The name of the attribute. Parameters: type - A string representing the attribute type. Parameters: valueDefault - A string representing the attribute default("#IMPLIED", "#REQUIRED", or "#FIXED") or null ifnone of these applies. Parameters: value - A string representing the attribute's default value,or null if there is none. throws: SAXException - The application may raise an exception. |
characters | public void characters(char ch, int start, int length) throws SAXException(Code) | | Receive notification of character data inside an element.
By default, do nothing. Application writers may override this
method to take specific actions for each chunk of character data
(such as adding the data to a node or buffer, or printing it to
a file).
Parameters: ch - The characters. Parameters: start - The start position in the character array. Parameters: length - The number of characters to use from thecharacter array. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.ContentHandler.characters |
charactersFlush | protected void charactersFlush()(Code) | | Check whether accumulated text should be stripped; if not,
append the appropriate flavor of text/cdata node.
|
clearCoRoutine | public void clearCoRoutine()(Code) | | Ask the CoRoutine parser to doTerminate and clear the reference.
|
clearCoRoutine | public void clearCoRoutine(boolean callDoTerminate)(Code) | | Ask the CoRoutine parser to doTerminate and clear the reference. If
the CoRoutine parser has already been cleared, this will have no effect.
Parameters: callDoTerminate - true of doTerminate should be called on thecoRoutine parser. |
comment | public void comment(char ch, int start, int length) throws SAXException(Code) | | Report an XML comment anywhere in the document.
This callback will be used for comments inside or outside the
document element, including comments in the external DTD
subset (if read).
Parameters: ch - An array holding the characters in the comment. Parameters: start - The starting position in the array. Parameters: length - The number of characters to use from the array. throws: SAXException - The application may raise an exception. |
declAlreadyDeclared | protected boolean declAlreadyDeclared(String prefix)(Code) | | Check if a declaration has already been made for a given prefix.
Parameters: prefix - non-null prefix string. true if the declaration has already been declared in thecurrent context. |
dispatchCharactersEvents | public void dispatchCharactersEvents(int nodeHandle, ContentHandler ch, boolean normalize) throws SAXException(Code) | | Directly call the
characters method on the passed ContentHandler for the
string-value of the given node (see http://www.w3.org/TR/xpath#data-model
for the definition of a node's string-value). Multiple calls to the
ContentHandler's characters methods may well occur for a single call to
this method.
Parameters: nodeHandle - The node ID. Parameters: ch - A non-null reference to a ContentHandler. Parameters: normalize - true if the content should be normalized according tothe rules for the XPathnormalize-spacefunction. throws: SAXException - |
elementDecl | public void elementDecl(String name, String model) throws SAXException(Code) | | Report an element type declaration.
The content model will consist of the string "EMPTY", the
string "ANY", or a parenthesised group, optionally followed
by an occurrence indicator. The model will be normalized so
that all whitespace is removed,and will include the enclosing
parentheses.
Parameters: name - The element type name. Parameters: model - The content model as a normalized string. throws: SAXException - The application may raise an exception. |
endElement | public void endElement(String uri, String localName, String qName) throws SAXException(Code) | | Receive notification of the end of an element.
By default, do nothing. Application writers may override this
method in a subclass to take specific actions at the end of
each element (such as finalising a tree node or writing
output to a file).
Parameters: uri - The Namespace URI, or the empty string if theelement has no Namespace URI or if Namespaceprocessing is not being performed. Parameters: localName - The local name (without prefix), or theempty string if Namespace processing is not beingperformed. Parameters: qName - The qualified XML 1.0 name (with prefix), or theempty string if qualified names are not available. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.ContentHandler.endElement |
endPrefixMapping | public void endPrefixMapping(String prefix) throws SAXException(Code) | | Receive notification of the end of a Namespace mapping.
By default, do nothing. Application writers may override this
method in a subclass to take specific actions at the end of
each prefix mapping.
Parameters: prefix - The Namespace prefix being declared. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.ContentHandler.endPrefixMapping |
error | public void error(SAXParseException e) throws SAXException(Code) | | Receive notification of a recoverable parser error.
The default implementation does nothing. Application writers
may override this method in a subclass to take specific actions
for each error, such as inserting the message in a log file or
printing it to the console.
Parameters: e - The warning information encoded as an exception. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.ErrorHandler.warning See Also: org.xml.sax.SAXParseException |
externalEntityDecl | public void externalEntityDecl(String name, String publicId, String systemId) throws SAXException(Code) | | Report a parsed external entity declaration.
Only the effective (first) declaration for each entity
will be reported.
Parameters: name - The name of the entity. If it is a parameterentity, the name will begin with '%'. Parameters: publicId - The declared public identifier of the entity, ornull if none was declared. Parameters: systemId - The declared system identifier of the entity. throws: SAXException - The application may raise an exception. See Also: SAX2DTM.internalEntityDecl See Also: org.xml.sax.DTDHandler.unparsedEntityDecl |
fatalError | public void fatalError(SAXParseException e) throws SAXException(Code) | | Report a fatal XML parsing error.
The default implementation throws a SAXParseException.
Application writers may override this method in a subclass if
they need to take specific actions for each fatal error (such as
collecting all of the errors into a single report): in any case,
the application must stop all regular processing when this
method is invoked, since the document is no longer reliable, and
the parser may no longer report parsing events.
Parameters: e - The error information encoded as an exception. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.ErrorHandler.fatalError See Also: org.xml.sax.SAXParseException |
getAttributeNode | public int getAttributeNode(int nodeHandle, String namespaceURI, String name)(Code) | | Retrieves an attribute node by by qualified name and namespace URI.
Parameters: nodeHandle - int Handle of the node upon which to look up this attribute.. Parameters: namespaceURI - The namespace URI of the attribute toretrieve, or null. Parameters: name - The local name of the attribute toretrieve. The attribute node handle with the specified name (nodeName ) or DTM.NULL if there is no suchattribute. |
getContentHandler | public ContentHandler getContentHandler()(Code) | | getContentHandler returns "our SAX builder" -- the thing that
someone else should send SAX events to in order to extend this
DTM model.
%REVIEW% Should this return null if constrution already done/begun?
null if this model doesn't respond to SAX events,"this" if the DTM object has a built-in SAX ContentHandler,the IncrementalSAXSource if we're bound to one and should receivethe SAX stream via it for incremental build purposes... |
getDTDHandler | public DTDHandler getDTDHandler()(Code) | | Return this DTM's DTDHandler.
null if this model doesn't respond to SAX dtd events. |
getDeclHandler | public DeclHandler getDeclHandler()(Code) | | Return this DTM's DeclHandler.
null if this model doesn't respond to SAX Decl events. |
getDocumentTypeDeclarationPublicIdentifier | public String getDocumentTypeDeclarationPublicIdentifier()(Code) | | Return the public identifier of the external subset,
normalized as described in 4.2.2 External Entities [XML]. If there is
no external subset or if it has no public identifier, this property
has no value.
the public identifier String object, or null if there is none. |
getDocumentTypeDeclarationSystemIdentifier | public String getDocumentTypeDeclarationSystemIdentifier()(Code) | | A document type declaration information item has the following properties:
1. [system identifier] The system identifier of the external subset, if
it exists. Otherwise this property has no value.
the system identifier String object, or null if there is none. |
getElementById | public int getElementById(String elementId)(Code) | | Returns the Element whose ID is given by
elementId . If no such element exists, returns
DTM.NULL . Behavior is not defined if more than one element
has this ID . Attributes (including those
with the name "ID") are not of type ID unless so defined by DTD/Schema
information available to the DTM implementation.
Implementations that do not know whether attributes are of type ID or
not are expected to return DTM.NULL .
%REVIEW% Presumably IDs are still scoped to a single document,
and this operation searches only within a single document, right?
Wouldn't want collisions between DTMs in the same process.
Parameters: elementId - The unique id value for an element. The handle of the matching element. |
getEntityResolver | public EntityResolver getEntityResolver()(Code) | | Return this DTM's EntityResolver.
null if this model doesn't respond to SAX entity ref events. |
getErrorHandler | public ErrorHandler getErrorHandler()(Code) | | Return this DTM's ErrorHandler.
null if this model doesn't respond to SAX error events. |
getIdForNamespace | public int getIdForNamespace(String uri)(Code) | | Get a prefix either from the uri mapping, or just make
one up!
Parameters: uri - The namespace URI, which may be null. The prefix if there is one, or null. |
getLexicalHandler | public LexicalHandler getLexicalHandler()(Code) | | Return this DTM's lexical handler.
%REVIEW% Should this return null if constrution already done/begun?
null if this model doesn't respond to lexical SAX events,"this" if the DTM object has a built-in SAX ContentHandler,the IncrementalSAXSource if we're bound to one and should receivethe SAX stream via it for incremental build purposes... |
getLocalName | public String getLocalName(int nodeHandle)(Code) | | Given a node handle, return its XPath-style localname.
(As defined in Namespaces, this is the portion of the name after any
colon character).
Parameters: nodeHandle - the id of the node. String Local name of this node. |
getNamespaceURI | public String getNamespaceURI(int nodeHandle)(Code) | | Given a node handle, return its DOM-style namespace URI
(As defined in Namespaces, this is the declared URI which this node's
prefix -- or default in lieu thereof -- was mapped to.)
%REVIEW% Null or ""? -sb
Parameters: nodeHandle - the id of the node. String URI value of this node's namespace, or null if nonamespace was resolved. |
getNamespaceURI | public String getNamespaceURI(String prefix)(Code) | | Get a prefix either from the qname or from the uri mapping, or just make
one up!
The prefix if there is one, or null. |
getNextNodeIdentity | protected int getNextNodeIdentity(int identity)(Code) | | Get the next node identity value in the list, and call the iterator
if it hasn't been added yet.
Parameters: identity - The node identity (index). identity+1, or DTM.NULL. |
getNodeName | public String getNodeName(int nodeHandle)(Code) | | Given a node handle, return its DOM-style node name. This will
include names such as #text or #document.
Parameters: nodeHandle - the id of the node. String Name of this node, which may be an empty string.%REVIEW% Document when empty string is possible...%REVIEW-COMMENT% It should never be empty, should it? |
getNodeNameX | public String getNodeNameX(int nodeHandle)(Code) | | Given a node handle, return the XPath node name. This should be
the name as described by the XPath data model, NOT the DOM-style
name.
Parameters: nodeHandle - the id of the node. String Name of this node, which may be an empty string. |
getNodeValue | public String getNodeValue(int nodeHandle)(Code) | | Given a node handle, return its node value. This is mostly
as defined by the DOM, but may ignore some conveniences.
Parameters: nodeHandle - The node id. String Value of this node, or null if notmeaningful for this node type. |
getNumberOfNodes | public int getNumberOfNodes()(Code) | | Get the number of nodes that have been added.
The number of that are currently in the tree. |
getPrefix | public String getPrefix(int nodeHandle)(Code) | | Given a namespace handle, return the prefix that the namespace decl is
mapping.
Given a node handle, return the prefix used to map to the namespace.
%REVIEW% Are you sure you want "" for no prefix?
%REVIEW-COMMENT% I think so... not totally sure. -sb
Parameters: nodeHandle - the id of the node. String prefix of this node's name, or "" if no explicitnamespace prefix was given. |
getPrefix | public String getPrefix(String qname, String uri)(Code) | | Get a prefix either from the qname or from the uri mapping, or just make
one up!
Parameters: qname - The qualified name, which may be null. Parameters: uri - The namespace URI, which may be null. The prefix if there is one, or null. |
getSourceLocatorFor | public SourceLocator getSourceLocatorFor(int node)(Code) | | Retrieve the SourceLocator associated with a specific node.
This is only meaningful if the XalanProperties.SOURCE_LOCATION flag was
set True using setProperty; if it was never set, or was set false, we
will return null.
(We _could_ return a locator with the document's base URI and bogus
line/column information. Trying that; see the else clause.)
|
getStringValue | public XMLString getStringValue(int nodeHandle)(Code) | | Get the string-value of a node as a String object
(see http://www.w3.org/TR/xpath#data-model
for the definition of a node's string-value).
Parameters: nodeHandle - The node ID. A string object that represents the string-value of the given node. |
getUnparsedEntityURI | public String getUnparsedEntityURI(String name)(Code) | | The getUnparsedEntityURI function returns the URI of the unparsed
entity with the specified name in the same document as the context
node (see [3.3 Unparsed Entities]). It returns the empty string if
there is no such entity.
XML processors may choose to use the System Identifier (if one
is provided) to resolve the entity, rather than the URI in the
Public Identifier. The details are dependent on the processor, and
we would have to support some form of plug-in resolver to handle
this properly. Currently, we simply return the System Identifier if
present, and hope that it a usable URI or that our caller can
map it to one.
TODO: Resolve Public Identifiers... or consider changing function name.
If we find a relative URI
reference, XML expects it to be resolved in terms of the base URI
of the document. The DOM doesn't do that for us, and it isn't
entirely clear whether that should be done here; currently that's
pushed up to a higher level of our application. (Note that DOM Level
1 didn't store the document's base URI.)
TODO: Consider resolving Relative URIs.
(The DOM's statement that "An XML processor may choose to
completely expand entities before the structure model is passed
to the DOM" refers only to parsed entities, not unparsed, and hence
doesn't affect this function.)
Parameters: name - A string containing the Entity Name of the unparsedentity. String containing the URI of the Unparsed Entity, or anempty string if no such entity exists. |
ignorableWhitespace | public void ignorableWhitespace(char ch, int start, int length) throws SAXException(Code) | | Receive notification of ignorable whitespace in element content.
By default, do nothing. Application writers may override this
method to take specific actions for each chunk of ignorable
whitespace (such as adding data to a node or buffer, or printing
it to a file).
Parameters: ch - The whitespace characters. Parameters: start - The start position in the character array. Parameters: length - The number of characters to use from thecharacter array. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.ContentHandler.ignorableWhitespace |
isAttributeSpecified | public boolean isAttributeSpecified(int attributeHandle)(Code) | | 5. [specified] A flag indicating whether this attribute was actually
specified in the start-tag of its element, or was defaulted from the
DTD.
Parameters: attributeHandle - Must be a valid handle to an attribute node. true if the attribute was specified;false if it was defaulted. |
isWhitespace | public boolean isWhitespace(int nodeHandle)(Code) | | Determine if the string-value of a node is whitespace
Parameters: nodeHandle - The node Handle. Return true if the given node is whitespace. |
migrateTo | public void migrateTo(DTMManager manager)(Code) | | Migrate a DTM built with an old DTMManager to a new DTMManager.
After the migration, the new DTMManager will treat the DTM as
one that is built by itself.
This is used to support DTM sharing between multiple transformations.
Parameters: manager - the DTMManager |
needsTwoThreads | public boolean needsTwoThreads()(Code) | | true iff we're building this model incrementally (egwe're partnered with a IncrementalSAXSource) and thus require that thetransformation and the parse run simultaneously. Guidance to theDTMManager. |
nextNode | protected boolean nextNode()(Code) | | This method should try and build one or more nodes in the table.
The true if a next node is found or false ifthere are no more nodes. |
notationDecl | public void notationDecl(String name, String publicId, String systemId) throws SAXException(Code) | | Receive notification of a notation declaration.
By default, do nothing. Application writers may override this
method in a subclass if they wish to keep track of the notations
declared in a document.
Parameters: name - The notation name. Parameters: publicId - The notation public identifier, or null if notavailable. Parameters: systemId - The notation system identifier. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.DTDHandler.notationDecl throws: SAXException - |
processingInstruction | public void processingInstruction(String target, String data) throws SAXException(Code) | | Receive notification of a processing instruction.
By default, do nothing. Application writers may override this
method in a subclass to take specific actions for each
processing instruction, such as setting status variables or
invoking other methods.
Parameters: target - The processing instruction target. Parameters: data - The processing instruction data, or null ifnone is supplied. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.ContentHandler.processingInstruction |
resolveEntity | public InputSource resolveEntity(String publicId, String systemId) throws SAXException(Code) | | Resolve an external entity.
Always return null, so that the parser will use the system
identifier provided in the XML document. This method implements
the SAX default behaviour: application writers can override it
in a subclass to do special translations such as catalog lookups
or URI redirection.
Parameters: publicId - The public identifer, or null if none isavailable. Parameters: systemId - The system identifier provided in the XMLdocument. The new input source, or null to require thedefault behaviour. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.EntityResolver.resolveEntity throws: SAXException - |
setDocumentLocator | public void setDocumentLocator(Locator locator)(Code) | | Receive a Locator object for document events.
By default, do nothing. Application writers may override this
method in a subclass if they wish to store the locator for use
with other document events.
Parameters: locator - A locator for all SAX document events. See Also: org.xml.sax.ContentHandler.setDocumentLocator See Also: org.xml.sax.Locator |
setIDAttribute | public void setIDAttribute(String id, int elem)(Code) | | Set an ID string to node association in the ID table.
Parameters: id - The ID string. Parameters: elem - The associated element handle. |
setIncrementalSAXSource | public void setIncrementalSAXSource(IncrementalSAXSource incrementalSAXSource)(Code) | | Bind a IncrementalSAXSource to this DTM. If we discover we need nodes
that have not yet been built, we will ask this object to send us more
events, and it will manage interactions with its data sources.
Note that we do not actually build the IncrementalSAXSource, since we don't
know what source it's reading from, what thread that source will run in,
or when it will run.
Parameters: incrementalSAXSource - The parser that we want to recieve events fromon demand. |
setProperty | public void setProperty(String property, Object value)(Code) | | Set a run time property for this DTM instance.
%REVIEW% Now that we no longer use this method to support
getSourceLocatorFor, can we remove it?
Parameters: property - a String value Parameters: value - an Object value |
setSourceLocation | protected void setSourceLocation()(Code) | | Store the source location of the current node. This method must be called
as every node is added to the DTM or for no node.
|
setUseSourceLocation | public void setUseSourceLocation(boolean useSourceLocation)(Code) | | Set whether information about document source location
should be maintained or not.
|
skippedEntity | public void skippedEntity(String name) throws SAXException(Code) | | Receive notification of a skipped entity.
By default, do nothing. Application writers may override this
method in a subclass to take specific actions for each
processing instruction, such as setting status variables or
invoking other methods.
Parameters: name - The name of the skipped entity. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.ContentHandler.processingInstruction |
startDTD | public void startDTD(String name, String publicId, String systemId) throws SAXException(Code) | | Report the start of DTD declarations, if any.
Any declarations are assumed to be in the internal subset
unless otherwise indicated by a
SAX2DTM.startEntity startEntity event.
Note that the start/endDTD events will appear within
the start/endDocument events from ContentHandler and
before the first startElement event.
Parameters: name - The document type name. Parameters: publicId - The declared public identifier for theexternal DTD subset, or null if none was declared. Parameters: systemId - The declared system identifier for theexternal DTD subset, or null if none was declared. throws: SAXException - The application may raise anexception. See Also: SAX2DTM.endDTD See Also: SAX2DTM.startEntity |
startElement | public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException(Code) | | Receive notification of the start of an element.
By default, do nothing. Application writers may override this
method in a subclass to take specific actions at the start of
each element (such as allocating a new tree node or writing
output to a file).
Parameters: uri - The Namespace URI, or the empty string if theelement has no Namespace URI or if Namespaceprocessing is not being performed. Parameters: localName - The local name (without prefix), or theempty string if Namespace processing is not beingperformed. Parameters: qName - The qualified name (with prefix), or theempty string if qualified names are not available. Parameters: attributes - The specified or defaulted attributes. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.ContentHandler.startElement |
startPrefixMapping | public void startPrefixMapping(String prefix, String uri) throws SAXException(Code) | | Receive notification of the start of a Namespace mapping.
By default, do nothing. Application writers may override this
method in a subclass to take specific actions at the start of
each Namespace prefix scope (such as storing the prefix mapping).
Parameters: prefix - The Namespace prefix being declared. Parameters: uri - The Namespace URI mapped to the prefix. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.ContentHandler.startPrefixMapping |
unparsedEntityDecl | public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException(Code) | | Receive notification of an unparsed entity declaration.
By default, do nothing. Application writers may override this
method in a subclass to keep track of the unparsed entities
declared in a document.
Parameters: name - The entity name. Parameters: publicId - The entity public identifier, or null if notavailable. Parameters: systemId - The entity system identifier. Parameters: notationName - The name of the associated notation. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.DTDHandler.unparsedEntityDecl throws: SAXException - |
warning | public void warning(SAXParseException e) throws SAXException(Code) | | Receive notification of a parser warning.
The default implementation does nothing. Application writers
may override this method in a subclass to take specific actions
for each warning, such as inserting the message in a log file or
printing it to the console.
Parameters: e - The warning information encoded as an exception. throws: SAXException - Any SAX exception, possiblywrapping another exception. See Also: org.xml.sax.ErrorHandler.warning See Also: org.xml.sax.SAXParseException |
Methods inherited from org.apache.xml.dtm.ref.DTMDefaultBase | protected int _exptype(int identity)(Code)(Java Doc) protected int _firstch(int identity)(Code)(Java Doc) protected int _level(int identity)(Code)(Java Doc) protected int _nextsib(int identity)(Code)(Java Doc) protected int _parent(int identity)(Code)(Java Doc) protected int _prevsib(int identity)(Code)(Java Doc) protected short _type(int identity)(Code)(Java Doc) public void appendChild(int newChild, boolean clone, boolean cloneDepth)(Code)(Java Doc) public void appendTextChild(String str)(Code)(Java Doc) protected void declareNamespaceInContext(int elementNodeIndex, int namespaceNodeIndex)(Code)(Java Doc) abstract public void dispatchCharactersEvents(int nodeHandle, org.xml.sax.ContentHandler ch, boolean normalize) throws org.xml.sax.SAXException(Code)(Java Doc) abstract public void dispatchToEvents(int nodeHandle, org.xml.sax.ContentHandler ch) throws org.xml.sax.SAXException(Code)(Java Doc) public void documentRegistration()(Code)(Java Doc) public void documentRelease()(Code)(Java Doc) public void dumpDTM(OutputStream os)(Code)(Java Doc) public String dumpNode(int nodeHandle)(Code)(Java Doc) protected void ensureSizeOfIndex(int namespaceID, int LocalNameID)(Code)(Java Doc) protected void error(String msg)(Code)(Java Doc) protected int findGTE(int[] list, int start, int len, int value)(Code)(Java Doc) protected int findInSortedSuballocatedIntVector(SuballocatedIntVector vector, int lookfor)(Code)(Java Doc) protected SuballocatedIntVector findNamespaceContext(int elementNodeIndex)(Code)(Java Doc) abstract public int getAttributeNode(int nodeHandle, String namespaceURI, String name)(Code)(Java Doc) public SuballocatedIntVector getDTMIDs()(Code)(Java Doc) public int getDocument()(Code)(Java Doc) public boolean getDocumentAllDeclarationsProcessed()(Code)(Java Doc) public String getDocumentBaseURI()(Code)(Java Doc) public String getDocumentEncoding(int nodeHandle)(Code)(Java Doc) public int getDocumentRoot(int nodeHandle)(Code)(Java Doc) public String getDocumentStandalone(int nodeHandle)(Code)(Java Doc) public String getDocumentSystemIdentifier(int nodeHandle)(Code)(Java Doc) abstract public String getDocumentTypeDeclarationPublicIdentifier()(Code)(Java Doc) abstract public String getDocumentTypeDeclarationSystemIdentifier()(Code)(Java Doc) public String getDocumentVersion(int documentHandle)(Code)(Java Doc) abstract public int getElementById(String elementId)(Code)(Java Doc) public int getExpandedTypeID(int nodeHandle)(Code)(Java Doc) public int getExpandedTypeID(String namespace, String localName, int type)(Code)(Java Doc) public int getFirstAttribute(int nodeHandle)(Code)(Java Doc) protected int getFirstAttributeIdentity(int identity)(Code)(Java Doc) public int getFirstChild(int nodeHandle)(Code)(Java Doc) public int getFirstNamespaceNode(int nodeHandle, boolean inScope)(Code)(Java Doc) public int getLastChild(int nodeHandle)(Code)(Java Doc) public short getLevel(int nodeHandle)(Code)(Java Doc) abstract public String getLocalName(int nodeHandle)(Code)(Java Doc) public String getLocalNameFromExpandedNameID(int expandedNameID)(Code)(Java Doc) public DTMManager getManager()(Code)(Java Doc) public String getNamespaceFromExpandedNameID(int expandedNameID)(Code)(Java Doc) public int getNamespaceType(int nodeHandle)(Code)(Java Doc) abstract public String getNamespaceURI(int nodeHandle)(Code)(Java Doc) public int getNextAttribute(int nodeHandle)(Code)(Java Doc) protected int getNextAttributeIdentity(int identity)(Code)(Java Doc) public int getNextNamespaceNode(int baseHandle, int nodeHandle, boolean inScope)(Code)(Java Doc) abstract protected int getNextNodeIdentity(int identity)(Code)(Java Doc) public int getNextSibling(int nodeHandle)(Code)(Java Doc) public org.w3c.dom.Node getNode(int nodeHandle)(Code)(Java Doc) public int getNodeHandle(int nodeId)(Code)(Java Doc) public int getNodeIdent(int nodeHandle)(Code)(Java Doc) abstract public String getNodeName(int nodeHandle)(Code)(Java Doc) public String getNodeNameX(int nodeHandle)(Code)(Java Doc) public short getNodeType(int nodeHandle)(Code)(Java Doc) abstract public String getNodeValue(int nodeHandle)(Code)(Java Doc) abstract protected int getNumberOfNodes()(Code)(Java Doc) public int getOwnerDocument(int nodeHandle)(Code)(Java Doc) public int getParent(int nodeHandle)(Code)(Java Doc) abstract public String getPrefix(int nodeHandle)(Code)(Java Doc) public int getPreviousSibling(int nodeHandle)(Code)(Java Doc) protected boolean getShouldStripWhitespace()(Code)(Java Doc) abstract public XMLString getStringValue(int nodeHandle)(Code)(Java Doc) public char[] getStringValueChunk(int nodeHandle, int chunkIndex, int[] startAndLen)(Code)(Java Doc) public int getStringValueChunkCount(int nodeHandle)(Code)(Java Doc) protected int getTypedAttribute(int nodeHandle, int attType)(Code)(Java Doc) public int getTypedFirstChild(int nodeHandle, int nodeType)(Code)(Java Doc) public int getTypedNextSibling(int nodeHandle, int nodeType)(Code)(Java Doc) abstract public String getUnparsedEntityURI(String name)(Code)(Java Doc) public boolean hasChildNodes(int nodeHandle)(Code)(Java Doc) protected void indexNode(int expandedTypeID, int identity)(Code)(Java Doc) abstract public boolean isAttributeSpecified(int attributeHandle)(Code)(Java Doc) public boolean isCharacterElementContentWhitespace(int nodeHandle)(Code)(Java Doc) public boolean isDocumentAllDeclarationsProcessed(int documentHandle)(Code)(Java Doc) public boolean isNodeAfter(int nodeHandle1, int nodeHandle2)(Code)(Java Doc) public boolean isSupported(String feature, String version)(Code)(Java Doc) final public int makeNodeHandle(int nodeIdentity)(Code)(Java Doc) final public int makeNodeIdentity(int nodeHandle)(Code)(Java Doc) public void migrateTo(DTMManager mgr)(Code)(Java Doc) abstract protected boolean nextNode()(Code)(Java Doc) protected void popShouldStripWhitespace()(Code)(Java Doc) protected void pushShouldStripWhitespace(boolean shouldStrip)(Code)(Java Doc) public void setDocumentBaseURI(String baseURI)(Code)(Java Doc) public void setFeature(String featureId, boolean state)(Code)(Java Doc) protected void setShouldStripWhitespace(boolean shouldStrip)(Code)(Java Doc) public boolean supportsPreStripping()(Code)(Java Doc)
|
|
|