public class DomWalker extends java.lang.Object implements org.xml.sax.ContentHandler, org.xml.sax.ErrorHandler, InfoProvider
DomVisitor to these nodes (this can also control if a node is recursed into).
In SAX mode is operates as a ContentHandler and ErrorHandler it visits the entire tree building the
path down to the element level and caches errors indexed by path.
The form of the location path is the responsibility of this class.
The actions performed are
the responsibility of the DomVisitor.This allows different visitors to agree on the path locations.
This allows the DomVisitor to build a GUI/HTML representation of the document. The controls on
the document can then use a different visitor to follow the path to the desired node to implement
a change.| Constructor and Description |
|---|
DomWalker() |
| Modifier and Type | Method and Description |
|---|---|
void |
addErrors(java.util.Map<java.util.LinkedList<java.lang.String>,java.util.Set<java.lang.String>> errors) |
void |
characters(char[] ch,
int start,
int length) |
void |
endDocument() |
void |
endElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName) |
void |
endPrefixMapping(java.lang.String prefix) |
void |
error(org.xml.sax.SAXParseException e) |
void |
fatalError(org.xml.sax.SAXParseException exception) |
java.util.Set<java.lang.String> |
getError(java.util.LinkedList<java.lang.String> path) |
java.util.Map<java.util.LinkedList<java.lang.String>,java.util.Set<java.lang.String>> |
getErrors() |
java.util.LinkedList<java.lang.String> |
getPath() |
org.w3c.dom.TypeInfo |
getTypeInfo(java.util.LinkedList<java.lang.String> path) |
java.util.Map<java.util.LinkedList<java.lang.String>,org.w3c.dom.TypeInfo> |
getTypes() |
void |
ignorableWhitespace(char[] ch,
int start,
int length) |
static boolean |
isAttribute(java.lang.String element) |
static boolean |
isElment(java.lang.String element) |
static boolean |
isText(java.lang.String element) |
void |
processingInstruction(java.lang.String target,
java.lang.String data) |
void |
setContentHandler(org.xml.sax.ContentHandler h) |
void |
setDocumentLocator(org.xml.sax.Locator locator) |
void |
setLogger(Logger log) |
void |
setPath(java.util.LinkedList<java.lang.String> sax_path) |
void |
skippedEntity(java.lang.String name) |
void |
startDocument() |
void |
startElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName,
org.xml.sax.Attributes atts) |
void |
startPrefixMapping(java.lang.String prefix,
java.lang.String uri) |
void |
visitElement(org.w3c.dom.Element e,
DomVisitor vis) |
void |
visitElement(org.w3c.dom.Element e,
java.util.LinkedList<java.lang.String> path,
DomVisitor vis)
Visit an
Element in DOM mode. |
void |
warning(org.xml.sax.SAXParseException e) |
public void setLogger(Logger log)
public void setContentHandler(org.xml.sax.ContentHandler h)
public void visitElement(org.w3c.dom.Element e,
java.util.LinkedList<java.lang.String> path,
DomVisitor vis)
Element in DOM mode.e - path - vis - public void visitElement(org.w3c.dom.Element e,
DomVisitor vis)
public static boolean isText(java.lang.String element)
public static boolean isElment(java.lang.String element)
public static boolean isAttribute(java.lang.String element)
public java.util.LinkedList<java.lang.String> getPath()
public void setPath(java.util.LinkedList<java.lang.String> sax_path)
public void endElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName)
throws org.xml.sax.SAXException
endElement in interface org.xml.sax.ContentHandlerorg.xml.sax.SAXExceptionpublic void startElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName,
org.xml.sax.Attributes atts)
throws org.xml.sax.SAXException
startElement in interface org.xml.sax.ContentHandlerorg.xml.sax.SAXExceptionpublic void addErrors(java.util.Map<java.util.LinkedList<java.lang.String>,java.util.Set<java.lang.String>> errors)
public java.util.Map<java.util.LinkedList<java.lang.String>,java.util.Set<java.lang.String>> getErrors()
getErrors in interface InfoProviderpublic java.util.Map<java.util.LinkedList<java.lang.String>,org.w3c.dom.TypeInfo> getTypes()
getTypes in interface InfoProviderpublic void error(org.xml.sax.SAXParseException e)
throws org.xml.sax.SAXException
error in interface org.xml.sax.ErrorHandlerorg.xml.sax.SAXExceptionpublic void warning(org.xml.sax.SAXParseException e)
throws org.xml.sax.SAXException
warning in interface org.xml.sax.ErrorHandlerorg.xml.sax.SAXExceptionpublic void fatalError(org.xml.sax.SAXParseException exception)
throws org.xml.sax.SAXException
fatalError in interface org.xml.sax.ErrorHandlerorg.xml.sax.SAXExceptionpublic void characters(char[] ch,
int start,
int length)
throws org.xml.sax.SAXException
characters in interface org.xml.sax.ContentHandlerorg.xml.sax.SAXExceptionpublic void endDocument()
throws org.xml.sax.SAXException
endDocument in interface org.xml.sax.ContentHandlerorg.xml.sax.SAXExceptionpublic void endPrefixMapping(java.lang.String prefix)
throws org.xml.sax.SAXException
endPrefixMapping in interface org.xml.sax.ContentHandlerorg.xml.sax.SAXExceptionpublic void ignorableWhitespace(char[] ch,
int start,
int length)
throws org.xml.sax.SAXException
ignorableWhitespace in interface org.xml.sax.ContentHandlerorg.xml.sax.SAXExceptionpublic void processingInstruction(java.lang.String target,
java.lang.String data)
throws org.xml.sax.SAXException
processingInstruction in interface org.xml.sax.ContentHandlerorg.xml.sax.SAXExceptionpublic void setDocumentLocator(org.xml.sax.Locator locator)
setDocumentLocator in interface org.xml.sax.ContentHandlerpublic void skippedEntity(java.lang.String name)
throws org.xml.sax.SAXException
skippedEntity in interface org.xml.sax.ContentHandlerorg.xml.sax.SAXExceptionpublic void startDocument()
throws org.xml.sax.SAXException
startDocument in interface org.xml.sax.ContentHandlerorg.xml.sax.SAXExceptionpublic void startPrefixMapping(java.lang.String prefix,
java.lang.String uri)
throws org.xml.sax.SAXException
startPrefixMapping in interface org.xml.sax.ContentHandlerorg.xml.sax.SAXExceptionpublic java.util.Set<java.lang.String> getError(java.util.LinkedList<java.lang.String> path)
getError in interface InfoProviderpublic org.w3c.dom.TypeInfo getTypeInfo(java.util.LinkedList<java.lang.String> path)
getTypeInfo in interface InfoProvider