org.apache.xalan.xsltc.dom

Class SAXImpl

Implemented Interfaces:
ContentHandler, DeclHandler, DOM, DOMBuilder, DOMEnhancedForDTM, DTDHandler, DTM, EntityResolver, ErrorHandler, ExtendedSAX, LexicalHandler

public final class SAXImpl
extends SAX2DTM2
implements DOMEnhancedForDTM, DOMBuilder

SAXImpl is the core model for SAX input source. SAXImpl objects are usually created from an XSLTCDTMManager.

DOMSource inputs are handled using DOM2SAX + SAXImpl. SAXImpl has a few specific fields (e.g. _node2Ids, _document) to keep DOM-related information. They are used when the processing behavior between DOM and SAX has to be different. Examples of these include id function and unparsed entity.

SAXImpl extends SAX2DTM2 instead of SAX2DTM for better performance.

Authors:
Jacek Ambroziak
Santiago Pericas-Geertsen
Morten Jorgensen
Douglas Sellers

Nested Class Summary

class
SAXImpl.NamespaceAttributeIterator
Iterator that returns attributes within a given namespace for a node.
class
SAXImpl.NamespaceChildrenIterator
Iterator that returns children within a given namespace for a given node.
class
SAXImpl.NamespaceWildcardIterator
Iterator that handles node tests that test for a namespace, but have a wild card for the local name of the node, i.e., node tests of the form :::*
class
SAXImpl.TypedNamespaceIterator
Iterator that returns the namespace nodes as defined by the XPath data model for a given node, filtered by extended type ID.

Nested classes/interfaces inherited from class org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2

SAX2DTM2.AncestorIterator, SAX2DTM2.AttributeIterator, SAX2DTM2.ChildrenIterator, SAX2DTM2.DescendantIterator, SAX2DTM2.FollowingIterator, SAX2DTM2.FollowingSiblingIterator, SAX2DTM2.ParentIterator, SAX2DTM2.PrecedingIterator, SAX2DTM2.PrecedingSiblingIterator, SAX2DTM2.TypedAncestorIterator, SAX2DTM2.TypedAttributeIterator, SAX2DTM2.TypedChildrenIterator, SAX2DTM2.TypedDescendantIterator, SAX2DTM2.TypedFollowingIterator, SAX2DTM2.TypedFollowingSiblingIterator, SAX2DTM2.TypedPrecedingIterator, SAX2DTM2.TypedPrecedingSiblingIterator, SAX2DTM2.TypedRootIterator, SAX2DTM2.TypedSingletonIterator

Nested classes/interfaces inherited from class org.apache.xml.dtm.ref.DTMDefaultBaseIterators

DTMDefaultBaseIterators.AncestorIterator, DTMDefaultBaseIterators.AttributeIterator, DTMDefaultBaseIterators.ChildrenIterator, DTMDefaultBaseIterators.DescendantIterator, DTMDefaultBaseIterators.FollowingIterator, DTMDefaultBaseIterators.FollowingSiblingIterator, DTMDefaultBaseIterators.InternalAxisIteratorBase, DTMDefaultBaseIterators.NamespaceAttributeIterator, DTMDefaultBaseIterators.NamespaceChildrenIterator, DTMDefaultBaseIterators.NamespaceIterator, DTMDefaultBaseIterators.NthDescendantIterator, DTMDefaultBaseIterators.ParentIterator, DTMDefaultBaseIterators.PrecedingIterator, DTMDefaultBaseIterators.PrecedingSiblingIterator, DTMDefaultBaseIterators.RootIterator, DTMDefaultBaseIterators.SingletonIterator, DTMDefaultBaseIterators.TypedAncestorIterator, DTMDefaultBaseIterators.TypedAttributeIterator, DTMDefaultBaseIterators.TypedChildrenIterator, DTMDefaultBaseIterators.TypedDescendantIterator, DTMDefaultBaseIterators.TypedFollowingIterator, DTMDefaultBaseIterators.TypedFollowingSiblingIterator, DTMDefaultBaseIterators.TypedNamespaceIterator, DTMDefaultBaseIterators.TypedPrecedingIterator, DTMDefaultBaseIterators.TypedPrecedingSiblingIterator, DTMDefaultBaseIterators.TypedRootIterator, DTMDefaultBaseIterators.TypedSingletonIterator

Field Summary

Fields inherited from class org.apache.xml.dtm.ref.DTMDefaultBase

DEFAULT_BLOCKSIZE, DEFAULT_NUMBLOCKS, DEFAULT_NUMBLOCKS_SMALL, ROOTNODE, m_mgr

Fields inherited from interface org.apache.xalan.xsltc.DOM

ADAPTIVE_RTF, FIRST_TYPE, NO_TYPE, NULL, RETURN_CURRENT, RETURN_PARENT, SIMPLE_RTF, TREE_RTF

Fields inherited from interface org.apache.xml.dtm.DTM

ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NAMESPACE_NODE, NOTATION_NODE, NTYPES, NULL, PROCESSING_INSTRUCTION_NODE, ROOT_NODE, TEXT_NODE

Constructor Summary

SAXImpl(XSLTCDTMManager mgr, Source source, int dtmIdentity, DTMWSFilter whiteSpaceFilter, XMLStringFactory xstringfactory, boolean doIndexing, boolean buildIdIndex)
Construct a SAXImpl object using the default block size.
SAXImpl(XSLTCDTMManager mgr, Source source, int dtmIdentity, DTMWSFilter whiteSpaceFilter, XMLStringFactory xstringfactory, boolean doIndexing, int blocksize, boolean buildIdIndex, boolean newNameTable)
Construct a SAXImpl object using the given block size.

Method Summary

void
characters(char[] ch, int start, int length)
SAX2: Receive notification of character data.
void
characters(int node, SerializationHandler handler)
Copy the string value of a node directly to an output handler
void
comment(char[] ch, int start, int length)
SAX2: Report an XML comment anywhere in the document.
void
copy(int node, SerializationHandler handler)
Performs a deep copy (ref.
void
copy(DTMAxisIterator nodes, SerializationHandler handler)
Copy a node-set to an output handler
void
copy(SerializationHandler handler)
Copy the whole tree to an output handler
void
endDocument()
SAX2: Receive notification of the end of a document.
void
endElement(String namespaceURI, String localName, String qname)
SAX2: Receive notification of the end of an element.
int
getAttributeNode(int type, int element)
Returns the attribute node of a given type (if any) for an element
String
getAttributeValue(String name, int element)
This method is for testing/debugging only
String
getAttributeValue(int type, int element)
Returns the value of a given attribute type of a given element
DTMAxisIterator
getAxisIterator(int axis)
This is a shortcut to the iterators that implement the supported XPath axes (only namespace::) is not supported.
DOMBuilder
getBuilder()
Returns an instance of the DOMBuilder inner class This class will consume the input document through a SAX2 interface and populate the tree.
DTMAxisIterator
getChildren(int node)
Returns an iterator with all the children of a given node
String
getDocumentURI()
Returns the origin of the document from which the tree was built
String
getDocumentURI(int node)
int
getElementById(String idString)
Return the node identity for a given id String
Hashtable
getElementsWithIDs()
%HZ% Need Javadoc
int
getGeneralizedType(String name)
Returns the internal type associated with an expanded QName
int
getGeneralizedType(String name, boolean searchOnly)
Returns the internal type associated with an expanded QName
DTMAxisIterator
getIterator()
Returns singleton iterator containg the document root Works for them main document (mark == 0)
String
getLanguage(int node)
Returns a node' defined language for a node (if any)
short[]
getMapping(String[] names, String[] uris, int[] types)
Get mapping from DOM element/attribute types to external types
int
getNSType(int node)
Get mapping from DOM namespace types to external namespace types
DTMAxisIterator
getNamespaceAxisIterator(int axis, int ns)
Do not think that this returns an iterator for the namespace axis.
short[]
getNamespaceMapping(String[] namespaces)
Get mapping from DOM namespace types to external namespace types
String
getNamespaceName(int node)
Returns the namespace URI to which a node belongs
int
getNamespaceType(int node)
Returns the namespace type of a specific node
String
getNodeName(int node)
Returns the name of a node (attribute or element).
DTMAxisIterator
getNodeValueIterator(DTMAxisIterator iterator, int type, String value, boolean op)
DTMAxisIterator
getNthDescendant(int type, int n, boolean includeself)
Returns the nth descendant of a node
SerializationHandler
getOutputDomBuilder()
Return a SerializationHandler for output handling.
DOM
getResultTreeFrag(int initSize, int rtfType)
Return a instance of a DOM class to be used as an RTF
DOM
getResultTreeFrag(int initSize, int rtfType, boolean addToManager)
Return a instance of a DOM class to be used as an RTF
int[]
getReverseMapping(String[] names, String[] uris, int[] types)
Get mapping from external element/attribute types to DOM types
short[]
getReverseNamespaceMapping(String[] namespaces)
Get mapping from external namespace types to DOM namespace types
int
getSize()
Returns the number of nodes in the tree (used for indexing)
DTMAxisIterator
getTypedAxisIterator(int axis, int type)
Similar to getAxisIterator, but this one returns an iterator containing nodes of a typed axis (ex.: child::foo)
DTMAxisIterator
getTypedChildren(int type)
Returns an iterator with all children of a specific type for a given node (element)
DTMAxisIterator
getTypedDescendantIterator(int type)
Returns an iterator with all descendants of a node that are of a given type.
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]).
boolean
hasDOMSource()
Return true if the input source is DOMSource.
void
ignorableWhitespace(char[] ch, int start, int length)
SAX2: Receive notification of ignorable whitespace in element content.
boolean
isAttribute(int node)
Returns 'true' if a specific node is an attribute (of any type)
boolean
isElement(int node)
Returns 'true' if a specific node is an element (of any type)
boolean
lessThan(int node1, int node2)
Returns true if node1 comes before node2 in document order
String
lookupNamespace(int node, String prefix)
Lookup a namespace URI from a prefix starting at node.
Node
makeNode(int index)
Create an org.w3c.dom.Node from a node in the tree
Node
makeNode(DTMAxisIterator iter)
Create an org.w3c.dom.Node from a node in an iterator The iterator most be started before this method is called
NodeList
makeNodeList(int index)
Create an org.w3c.dom.NodeList from a node in the tree
NodeList
makeNodeList(DTMAxisIterator iter)
Create an org.w3c.dom.NodeList from a node iterator The iterator most be started before this method is called
void
migrateTo(DTMManager manager)
Migrate a DTM built with an old DTMManager to a new DTMManager.
DTMAxisIterator
orderNodes(DTMAxisIterator source, int node)
Encapsulates an iterator in an OrderedIterator to ensure node order
void
print(int node, int level)
Prints the whole tree to standard output
void
processingInstruction(String target, String data)
SAX2: Receive notification of a processing instruction.
void
setDocumentURI(String uri)
Define the origin of the document from which the tree was built
boolean
setEscaping(boolean value)
void
setFilter(StripFilter filter)
Part of the DOM interface - no function here.
void
setupMapping(String[] names, String[] urisArray, int[] typesArray, String[] namespaces)
String
shallowCopy(int node, SerializationHandler handler)
Performs a shallow copy (ref.
void
startDocument()
SAX2: Receive notification of the beginning of a document.
void
startElement(String uri, String localName, String qname, Attributes attributes)
SAX2: Receive notification of the beginning of an element.
void
startElement(String uri, String localName, String qname, Attributes attributes, Node node)
Specialized interface used by DOM2SAX.
void
startPrefixMapping(String prefix, String uri)
SAX2: Begin the scope of a prefix-URI Namespace mapping.

Methods inherited from class org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2

_exptype, _exptype2, _exptype2Type, _firstch2, _nextsib2, _parent2, _type2, comment, dispatchCharactersEvents, endDocument, endElement, getExpandedTypeID2, getFirstAttribute, getIdForNamespace, getLocalName, getNodeName, getNodeNameX, getNodeValue, getStringValue, getStringValue, getStringValueX, processingInstruction, startDocument, startElement

Methods inherited from class org.apache.xml.dtm.ref.sax2dtm.SAX2DTM

attributeDecl, characters, clearCoRoutine, clearCoRoutine, comment, dispatchCharactersEvents, dispatchToEvents, elementDecl, endCDATA, endDTD, endDocument, endElement, endEntity, endPrefixMapping, error, externalEntityDecl, fatalError, getAttributeNode, getContentHandler, getDTDHandler, getDeclHandler, getDocumentTypeDeclarationPublicIdentifier, getDocumentTypeDeclarationSystemIdentifier, getElementById, getEntityResolver, getErrorHandler, getIdForNamespace, getLexicalHandler, getLocalName, getNamespaceURI, getNamespaceURI, getNodeName, getNodeNameX, getNodeValue, getNumberOfNodes, getPrefix, getPrefix, getSourceLocatorFor, getStringValue, getUnparsedEntityURI, ignorableWhitespace, internalEntityDecl, isAttributeSpecified, isWhitespace, migrateTo, needsTwoThreads, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, setIDAttribute, setIncrementalSAXSource, setProperty, setUseSourceLocation, skippedEntity, startCDATA, startDTD, startDocument, startElement, startEntity, startPrefixMapping, unparsedEntityDecl, warning

Methods inherited from class org.apache.xml.dtm.ref.DTMDefaultBaseIterators

getAxisIterator, getTypedAxisIterator

Methods inherited from class org.apache.xml.dtm.ref.DTMDefaultBaseTraversers

getAxisTraverser

Methods inherited from class org.apache.xml.dtm.ref.DTMDefaultBase

appendChild, appendTextChild, dispatchCharactersEvents, dispatchToEvents, documentRegistration, documentRelease, dumpDTM, dumpNode, getAttributeNode, getDTMIDs, getDocument, getDocumentAllDeclarationsProcessed, getDocumentBaseURI, getDocumentEncoding, getDocumentRoot, getDocumentStandalone, getDocumentSystemIdentifier, getDocumentTypeDeclarationPublicIdentifier, getDocumentTypeDeclarationSystemIdentifier, getDocumentVersion, getElementById, getExpandedTypeID, getExpandedTypeID, getFirstAttribute, getFirstChild, getFirstNamespaceNode, getLastChild, getLevel, getLocalName, getLocalNameFromExpandedNameID, getManager, getNamespaceFromExpandedNameID, getNamespaceType, getNamespaceURI, getNextAttribute, getNextNamespaceNode, getNextSibling, getNode, getNodeHandle, getNodeIdent, getNodeName, getNodeNameX, getNodeType, getNodeValue, getOwnerDocument, getParent, getPrefix, getPreviousSibling, getStringValue, getStringValueChunk, getStringValueChunkCount, getTypedFirstChild, getTypedNextSibling, getUnparsedEntityURI, hasChildNodes, isAttributeSpecified, isCharacterElementContentWhitespace, isDocumentAllDeclarationsProcessed, isNodeAfter, isSupported, makeNodeHandle, makeNodeIdentity, migrateTo, setDocumentBaseURI, setFeature, supportsPreStripping

Constructor Details

SAXImpl

public SAXImpl(XSLTCDTMManager mgr,
               Source source,
               int dtmIdentity,
               DTMWSFilter whiteSpaceFilter,
               XMLStringFactory xstringfactory,
               boolean doIndexing,
               boolean buildIdIndex)
Construct a SAXImpl object using the default block size.


SAXImpl

public SAXImpl(XSLTCDTMManager mgr,
               Source source,
               int dtmIdentity,
               DTMWSFilter whiteSpaceFilter,
               XMLStringFactory xstringfactory,
               boolean doIndexing,
               int blocksize,
               boolean buildIdIndex,
               boolean newNameTable)
Construct a SAXImpl object using the given block size.

Method Details

characters

public void characters(char[] ch,
                       int start,
                       int length)
            throws SAXException
SAX2: Receive notification of character data.


characters

public void characters(int node,
                       SerializationHandler handler)
            throws TransletException
Copy the string value of a node directly to an output handler
Specified by:
characters in interface DOM


comment

public void comment(char[] ch,
                    int start,
                    int length)
            throws SAXException
SAX2: Report an XML comment anywhere in the document.


copy

public void copy(int node,
                 SerializationHandler handler)
            throws TransletException
Performs a deep copy (ref. XSLs copy-of()) TODO: Copy namespace declarations. Can't be done until we add namespace nodes and keep track of NS prefixes TODO: Copy comment nodes
Specified by:
copy in interface DOM


copy

public void copy(DTMAxisIterator nodes,
                 SerializationHandler handler)
            throws TransletException
Copy a node-set to an output handler
Specified by:
copy in interface DOM


copy

public void copy(SerializationHandler handler)
            throws TransletException
Copy the whole tree to an output handler


endDocument

public void endDocument()
            throws SAXException
SAX2: Receive notification of the end of a document.
Specified by:
endDocument in interface ContentHandler
Overrides:
endDocument in interface SAX2DTM2


endElement

public void endElement(String namespaceURI,
                       String localName,
                       String qname)
            throws SAXException
SAX2: Receive notification of the end of an element.
Specified by:
endElement in interface ContentHandler
Overrides:
endElement in interface SAX2DTM2


getAttributeNode

public int getAttributeNode(int type,
                            int element)
Returns the attribute node of a given type (if any) for an element
Specified by:
getAttributeNode in interface DOM


getAttributeValue

public String getAttributeValue(String name,
                                int element)
This method is for testing/debugging only


getAttributeValue

public String getAttributeValue(int type,
                                int element)
Returns the value of a given attribute type of a given element


getAxisIterator

public DTMAxisIterator getAxisIterator(int axis)
This is a shortcut to the iterators that implement the supported XPath axes (only namespace::) is not supported. Returns a bare-bones iterator that must be initialized with a start node (using iterator.setStartNode()).
Specified by:
getAxisIterator in interface DOM
getAxisIterator in interface DTM
Overrides:
getAxisIterator in interface DTMDefaultBaseIterators


getBuilder

public DOMBuilder getBuilder()
Returns an instance of the DOMBuilder inner class This class will consume the input document through a SAX2 interface and populate the tree.


getChildren

public DTMAxisIterator getChildren(int node)
Returns an iterator with all the children of a given node
Specified by:
getChildren in interface DOM


getDocumentURI

public String getDocumentURI()
Returns the origin of the document from which the tree was built
Specified by:
getDocumentURI in interface DOMEnhancedForDTM


getDocumentURI

public String getDocumentURI(int node)
Specified by:
getDocumentURI in interface DOM


getElementById

public int getElementById(String idString)
Return the node identity for a given id String
Specified by:
getElementById in interface DOMEnhancedForDTM
getElementById in interface DTM
Overrides:
getElementById in interface SAX2DTM

Parameters:
idString - The id String

Returns:
The identity of the node whose id is the given String.


getElementsWithIDs

public Hashtable getElementsWithIDs()
%HZ% Need Javadoc
Specified by:
getElementsWithIDs in interface DOM


getGeneralizedType

public int getGeneralizedType(String name)
Returns the internal type associated with an expanded QName


getGeneralizedType

public int getGeneralizedType(String name,
                              boolean searchOnly)
Returns the internal type associated with an expanded QName


getIterator

public DTMAxisIterator getIterator()
Returns singleton iterator containg the document root Works for them main document (mark == 0)
Specified by:
getIterator in interface DOM


getLanguage

public String getLanguage(int node)
Returns a node' defined language for a node (if any)
Specified by:
getLanguage in interface DOM


getMapping

public short[] getMapping(String[] names,
                          String[] uris,
                          int[] types)
Get mapping from DOM element/attribute types to external types
Specified by:
getMapping in interface DOMEnhancedForDTM


getNSType

public int getNSType(int node)
Get mapping from DOM namespace types to external namespace types
Specified by:
getNSType in interface DOM


getNamespaceAxisIterator

public DTMAxisIterator getNamespaceAxisIterator(int axis,
                                                int ns)
Do not think that this returns an iterator for the namespace axis. It returns an iterator with nodes that belong in a certain namespace, such as with The 'axis' specifies the axis for the base iterator from which the nodes are taken, while 'ns' specifies the namespace URI type.
Specified by:
getNamespaceAxisIterator in interface DOM


getNamespaceMapping

public short[] getNamespaceMapping(String[] namespaces)
Get mapping from DOM namespace types to external namespace types
Specified by:
getNamespaceMapping in interface DOMEnhancedForDTM


getNamespaceName

public String getNamespaceName(int node)
Returns the namespace URI to which a node belongs
Specified by:
getNamespaceName in interface DOM


getNamespaceType

public int getNamespaceType(int node)
Returns the namespace type of a specific node
Specified by:
getNamespaceType in interface DOM
Overrides:
getNamespaceType in interface DTMDefaultBase


getNodeName

public String getNodeName(int node)
Returns the name of a node (attribute or element).
Specified by:
getNodeName in interface DOM
getNodeName in interface DTM
Overrides:
getNodeName in interface SAX2DTM2


getNodeValueIterator

public DTMAxisIterator getNodeValueIterator(DTMAxisIterator iterator,
                                            int type,
                                            String value,
                                            boolean op)
Specified by:
getNodeValueIterator in interface DOM


getNthDescendant

public DTMAxisIterator getNthDescendant(int type,
                                        int n,
                                        boolean includeself)
Returns the nth descendant of a node
Specified by:
getNthDescendant in interface DOM


getOutputDomBuilder

public SerializationHandler getOutputDomBuilder()
Return a SerializationHandler for output handling. This method is used by Result Tree Fragments.
Specified by:
getOutputDomBuilder in interface DOM


getResultTreeFrag

public DOM getResultTreeFrag(int initSize,
                             int rtfType)
Return a instance of a DOM class to be used as an RTF
Specified by:
getResultTreeFrag in interface DOM


getResultTreeFrag

public DOM getResultTreeFrag(int initSize,
                             int rtfType,
                             boolean addToManager)
Return a instance of a DOM class to be used as an RTF
Specified by:
getResultTreeFrag in interface DOM

Parameters:
initSize - The initial size of the DOM.
rtfType - The type of the RTF
addToManager - true if the RTF should be registered with the DTMManager.

Returns:
The DOM object which represents the RTF.


getReverseMapping

public int[] getReverseMapping(String[] names,
                               String[] uris,
                               int[] types)
Get mapping from external element/attribute types to DOM types
Specified by:
getReverseMapping in interface DOMEnhancedForDTM


getReverseNamespaceMapping

public short[] getReverseNamespaceMapping(String[] namespaces)
Get mapping from external namespace types to DOM namespace types
Specified by:
getReverseNamespaceMapping in interface DOMEnhancedForDTM


getSize

public int getSize()
Returns the number of nodes in the tree (used for indexing)
Specified by:
getSize in interface DOM


getTypedAxisIterator

public DTMAxisIterator getTypedAxisIterator(int axis,
                                            int type)
Similar to getAxisIterator, but this one returns an iterator containing nodes of a typed axis (ex.: child::foo)
Specified by:
getTypedAxisIterator in interface DOM
getTypedAxisIterator in interface DTM
Overrides:
getTypedAxisIterator in interface DTMDefaultBaseIterators


getTypedChildren

public DTMAxisIterator getTypedChildren(int type)
Returns an iterator with all children of a specific type for a given node (element)
Specified by:
getTypedChildren in interface DOM


getTypedDescendantIterator

public DTMAxisIterator getTypedDescendantIterator(int type)
Returns an iterator with all descendants of a node that are of a given type.


getUnparsedEntityURI

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]). It returns the empty string if there is no such entity.
Specified by:
getUnparsedEntityURI in interface DOM
getUnparsedEntityURI in interface DTM
Overrides:
getUnparsedEntityURI in interface SAX2DTM


hasDOMSource

public boolean hasDOMSource()
Return true if the input source is DOMSource.
Specified by:
hasDOMSource in interface DOMEnhancedForDTM


ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
            throws SAXException
SAX2: Receive notification of ignorable whitespace in element content. Similar to characters(char[], int, int).


isAttribute

public boolean isAttribute(int node)
Returns 'true' if a specific node is an attribute (of any type)
Specified by:
isAttribute in interface DOM


isElement

public boolean isElement(int node)
Returns 'true' if a specific node is an element (of any type)
Specified by:
isElement in interface DOM


lessThan

public boolean lessThan(int node1,
                        int node2)
Returns true if node1 comes before node2 in document order
Specified by:
lessThan in interface DOM


lookupNamespace

public String lookupNamespace(int node,
                              String prefix)
            throws TransletException
Lookup a namespace URI from a prefix starting at node. This method is used in the execution of xsl:element when the prefix is not known at compile time.
Specified by:
lookupNamespace in interface DOM


makeNode

public Node makeNode(int index)
Create an org.w3c.dom.Node from a node in the tree
Specified by:
makeNode in interface DOM


makeNode

public Node makeNode(DTMAxisIterator iter)
Create an org.w3c.dom.Node from a node in an iterator The iterator most be started before this method is called
Specified by:
makeNode in interface DOM


makeNodeList

public NodeList makeNodeList(int index)
Create an org.w3c.dom.NodeList from a node in the tree
Specified by:
makeNodeList in interface DOM


makeNodeList

public NodeList makeNodeList(DTMAxisIterator iter)
Create an org.w3c.dom.NodeList from a node iterator The iterator most be started before this method is called
Specified by:
makeNodeList in interface DOM


migrateTo

public void migrateTo(DTMManager manager)
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.
Specified by:
migrateTo in interface DTM
Overrides:
migrateTo in interface SAX2DTM

Parameters:
manager - the DTMManager


orderNodes

public DTMAxisIterator orderNodes(DTMAxisIterator source,
                                  int node)
Encapsulates an iterator in an OrderedIterator to ensure node order
Specified by:
orderNodes in interface DOM


print

public void print(int node,
                  int level)
Prints the whole tree to standard output


processingInstruction

public void processingInstruction(String target,
                                  String data)
            throws SAXException
SAX2: Receive notification of a processing instruction.
Specified by:
processingInstruction in interface ContentHandler
Overrides:
processingInstruction in interface SAX2DTM2


setDocumentURI

public void setDocumentURI(String uri)
Define the origin of the document from which the tree was built
Specified by:
setDocumentURI in interface DOMEnhancedForDTM


setEscaping

public boolean setEscaping(boolean value)


setFilter

public void setFilter(StripFilter filter)
Part of the DOM interface - no function here.
Specified by:
setFilter in interface DOM


setupMapping

public void setupMapping(String[] names,
                         String[] urisArray,
                         int[] typesArray,
                         String[] namespaces)
Specified by:
setupMapping in interface DOM


shallowCopy

public String shallowCopy(int node,
                          SerializationHandler handler)
            throws TransletException
Performs a shallow copy (ref. XSLs copy())
Specified by:
shallowCopy in interface DOM


startDocument

public void startDocument()
            throws SAXException
SAX2: Receive notification of the beginning of a document.
Specified by:
startDocument in interface ContentHandler
Overrides:
startDocument in interface SAX2DTM2


startElement

public void startElement(String uri,
                         String localName,
                         String qname,
                         Attributes attributes)
            throws SAXException
SAX2: Receive notification of the beginning of an element.
Specified by:
startElement in interface ContentHandler
Overrides:
startElement in interface SAX2DTM2


startElement

public void startElement(String uri,
                         String localName,
                         String qname,
                         Attributes attributes,
                         Node node)
            throws SAXException
Specialized interface used by DOM2SAX. This one has an extra Node parameter to build the Node -> id map.


startPrefixMapping

public void startPrefixMapping(String prefix,
                               String uri)
            throws SAXException
SAX2: Begin the scope of a prefix-URI Namespace mapping.
Specified by:
startPrefixMapping in interface ContentHandler
Overrides:
startPrefixMapping in interface SAX2DTM


Copyright B) 2004 Apache XML Project. All Rights Reserved.