|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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 | +--org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2 | +--org.apache.xalan.xsltc.dom.SAXImpl
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.
Inner Class Summary | |
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. |
Fields inherited from class org.apache.xml.dtm.ref.DTMDefaultBase |
DEFAULT_BLOCKSIZE,
DEFAULT_NUMBLOCKS,
DEFAULT_NUMBLOCKS_SMALL,
m_mgr,
ROOTNODE |
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)
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(DTMAxisIterator nodes,
SerializationHandler handler)
Copy a node-set to an output handler |
void |
copy(int node,
SerializationHandler handler)
Performs a deep copy (ref. |
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(java.lang.String namespaceURI,
java.lang.String localName,
java.lang.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 |
java.lang.String |
getAttributeValue(int type,
int element)
Returns the value of a given attribute type of a given element |
java.lang.String |
getAttributeValue(java.lang.String name,
int element)
This method is for testing/debugging only |
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 |
java.lang.String |
getDocumentURI()
Returns the origin of the document from which the tree was built |
java.lang.String |
getDocumentURI(int node)
|
int |
getElementById(java.lang.String idString)
Return the node identity for a given id String |
Hashtable |
getElementsWithIDs()
%HZ% Need Javadoc |
int |
getGeneralizedType(java.lang.String name)
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) |
java.lang.String |
getLanguage(int node)
Returns a node' defined language for a node (if any) |
short[] |
getMapping(java.lang.String[] names)
Get mapping from DOM element/attribute types to external types |
DTMAxisIterator |
getNamespaceAxisIterator(int axis,
int ns)
Do not thing that this returns an iterator for the namespace axis. |
short[] |
getNamespaceMapping(java.lang.String[] namespaces)
Get mapping from DOM namespace types to external namespace types |
java.lang.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 |
java.lang.String |
getNodeName(int node)
Returns the name of a node (attribute or element). |
DTMAxisIterator |
getNodeValueIterator(DTMAxisIterator iterator,
int type,
java.lang.String value,
boolean op)
|
int |
getNSType(int node)
Get mapping from DOM namespace types to external namespace types |
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 |
int[] |
getReverseMapping(java.lang.String[] names)
Get mapping from external element/attribute types to DOM types |
short[] |
getReverseNamespaceMapping(java.lang.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. |
java.lang.String |
getUnparsedEntityURI(java.lang.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 |
java.lang.String |
lookupNamespace(int node,
java.lang.String prefix)
Lookup a namespace URI from a prefix starting at node. |
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 |
Node |
makeNode(int index)
Create an org.w3c.dom.Node 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 |
NodeList |
makeNodeList(int index)
Create an org.w3c.dom.NodeList from a node in the tree |
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(java.lang.String target,
java.lang.String data)
SAX2: Receive notification of a processing instruction. |
void |
setDocumentURI(java.lang.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(java.lang.String[] names,
java.lang.String[] namespaces)
|
java.lang.String |
shallowCopy(int node,
SerializationHandler handler)
Performs a shallow copy (ref. |
void |
startDocument()
SAX2: Receive notification of the beginning of a document. |
void |
startElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qname,
Attributes attributes)
SAX2: Receive notification of the beginning of an element. |
void |
startElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qname,
Attributes attributes,
Node node)
Specialized interface used by DOM2SAX. |
void |
startPrefixMapping(java.lang.String prefix,
java.lang.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,
dispatchCharactersEvents,
getExpandedTypeID2,
getFirstAttribute,
getIdForNamespace,
getLocalName,
getNodeNameX,
getNodeValue,
getStringValue,
getStringValue,
getStringValueX |
Methods inherited from class org.apache.xml.dtm.ref.DTMDefaultBaseTraversers |
getAxisTraverser |
Methods inherited from class java.lang.Object |
equals,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Constructor Detail |
public SAXImpl(XSLTCDTMManager mgr, Source source, int dtmIdentity, DTMWSFilter whiteSpaceFilter, XMLStringFactory xstringfactory, boolean doIndexing, boolean buildIdIndex)
public SAXImpl(XSLTCDTMManager mgr, Source source, int dtmIdentity, DTMWSFilter whiteSpaceFilter, XMLStringFactory xstringfactory, boolean doIndexing, int blocksize, boolean buildIdIndex)
Method Detail |
public void setDocumentURI(java.lang.String uri)
public java.lang.String getDocumentURI()
public java.lang.String getDocumentURI(int node)
public void setupMapping(java.lang.String[] names, java.lang.String[] namespaces)
public java.lang.String lookupNamespace(int node, java.lang.String prefix) throws TransletException
public boolean isElement(int node)
public boolean isAttribute(int node)
public int getSize()
public void setFilter(StripFilter filter)
public boolean lessThan(int node1, int node2)
public Node makeNode(int index)
public Node makeNode(DTMAxisIterator iter)
public NodeList makeNodeList(int index)
public NodeList makeNodeList(DTMAxisIterator iter)
public DTMAxisIterator getNodeValueIterator(DTMAxisIterator iterator, int type, java.lang.String value, boolean op)
public DTMAxisIterator orderNodes(DTMAxisIterator source, int node)
public DTMAxisIterator getIterator()
public int getNSType(int node)
public int getNamespaceType(int node)
public int getGeneralizedType(java.lang.String name)
public short[] getMapping(java.lang.String[] names)
public int[] getReverseMapping(java.lang.String[] names)
public short[] getNamespaceMapping(java.lang.String[] namespaces)
public short[] getReverseNamespaceMapping(java.lang.String[] namespaces)
public int getElementById(java.lang.String idString)
idString
- The id Stringpublic boolean hasDOMSource()
public void characters(char[] ch, int start, int length) throws SAXException
public void startDocument() throws SAXException
public void endDocument() throws SAXException
public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qname, Attributes attributes, Node node) throws SAXException
public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qname, Attributes attributes) throws SAXException
public void endElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qname) throws SAXException
public void processingInstruction(java.lang.String target, java.lang.String data) throws SAXException
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
public void startPrefixMapping(java.lang.String prefix, java.lang.String uri) throws SAXException
public void comment(char[] ch, int start, int length) throws SAXException
public boolean setEscaping(boolean value)
public void print(int node, int level)
public java.lang.String getNodeName(int node)
public java.lang.String getNamespaceName(int node)
public int getAttributeNode(int type, int element)
public java.lang.String getAttributeValue(int type, int element)
public java.lang.String getAttributeValue(java.lang.String name, int element)
public DTMAxisIterator getChildren(int node)
public DTMAxisIterator getTypedChildren(int type)
public DTMAxisIterator getAxisIterator(int axis)
public DTMAxisIterator getTypedAxisIterator(int axis, int type)
public DTMAxisIterator getNamespaceAxisIterator(int axis, int ns)
public DTMAxisIterator getTypedDescendantIterator(int type)
public DTMAxisIterator getNthDescendant(int type, int n, boolean includeself)
public void characters(int node, SerializationHandler handler) throws TransletException
public void copy(DTMAxisIterator nodes, SerializationHandler handler) throws TransletException
public void copy(SerializationHandler handler) throws TransletException
public void copy(int node, SerializationHandler handler) throws TransletException
public java.lang.String shallowCopy(int node, SerializationHandler handler) throws TransletException
public java.lang.String getLanguage(int node)
public DOMBuilder getBuilder()
public SerializationHandler getOutputDomBuilder()
public DOM getResultTreeFrag(int initSize, int rtfType)
public Hashtable getElementsWithIDs()
public java.lang.String getUnparsedEntityURI(java.lang.String name)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |