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.ContentHandler
org.xml.sax.SAXException
public 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.ContentHandler
org.xml.sax.SAXException
public 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 InfoProvider
public java.util.Map<java.util.LinkedList<java.lang.String>,org.w3c.dom.TypeInfo> getTypes()
getTypes
in interface InfoProvider
public void error(org.xml.sax.SAXParseException e) throws org.xml.sax.SAXException
error
in interface org.xml.sax.ErrorHandler
org.xml.sax.SAXException
public void warning(org.xml.sax.SAXParseException e) throws org.xml.sax.SAXException
warning
in interface org.xml.sax.ErrorHandler
org.xml.sax.SAXException
public void fatalError(org.xml.sax.SAXParseException exception) throws org.xml.sax.SAXException
fatalError
in interface org.xml.sax.ErrorHandler
org.xml.sax.SAXException
public void characters(char[] ch, int start, int length) throws org.xml.sax.SAXException
characters
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public void endDocument() throws org.xml.sax.SAXException
endDocument
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public void endPrefixMapping(java.lang.String prefix) throws org.xml.sax.SAXException
endPrefixMapping
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public void ignorableWhitespace(char[] ch, int start, int length) throws org.xml.sax.SAXException
ignorableWhitespace
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public void processingInstruction(java.lang.String target, java.lang.String data) throws org.xml.sax.SAXException
processingInstruction
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public void setDocumentLocator(org.xml.sax.Locator locator)
setDocumentLocator
in interface org.xml.sax.ContentHandler
public void skippedEntity(java.lang.String name) throws org.xml.sax.SAXException
skippedEntity
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public void startDocument() throws org.xml.sax.SAXException
startDocument
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public void startPrefixMapping(java.lang.String prefix, java.lang.String uri) throws org.xml.sax.SAXException
startPrefixMapping
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public java.util.Set<java.lang.String> getError(java.util.LinkedList<java.lang.String> path)
getError
in interface InfoProvider
public org.w3c.dom.TypeInfo getTypeInfo(java.util.LinkedList<java.lang.String> path)
getTypeInfo
in interface InfoProvider