protected static class W3CDom.W3CBuilder extends java.lang.Object implements NodeVisitor
Modifier and Type | Field and Description |
---|---|
private Element |
contextElement |
private org.w3c.dom.Node |
dest |
private org.w3c.dom.Document |
doc |
private boolean |
namespaceAware |
private java.util.Stack<java.util.HashMap<java.lang.String,java.lang.String>> |
namespacesStack |
private Document.OutputSettings.Syntax |
syntax |
private static java.lang.String |
xmlnsKey |
private static java.lang.String |
xmlnsPrefix |
Constructor and Description |
---|
W3CBuilder(org.w3c.dom.Document doc) |
Modifier and Type | Method and Description |
---|---|
private void |
append(org.w3c.dom.Node append,
Node source) |
private void |
copyAttributes(Node source,
org.w3c.dom.Element el) |
void |
head(Node source,
int depth)
Callback for when a node is first visited.
|
void |
tail(Node source,
int depth)
Callback for when a node is last visited, after all of its descendants have been visited.
|
private java.lang.String |
updateNamespaces(Element el)
Finds any namespaces defined in this element.
|
private static final java.lang.String xmlnsKey
private static final java.lang.String xmlnsPrefix
private final org.w3c.dom.Document doc
private boolean namespaceAware
private final java.util.Stack<java.util.HashMap<java.lang.String,java.lang.String>> namespacesStack
private org.w3c.dom.Node dest
private Document.OutputSettings.Syntax syntax
@Nullable private final Element contextElement
public void head(Node source, int depth)
NodeVisitor
The node may be modified (e.g. Node.attr(String)
, replaced Node.replaceWith(Node)
) or removed
Node.remove()
. If it's instanceOf Element
, you may cast it to an Element
and access those
methods.
head
in interface NodeVisitor
source
- the node being visited.depth
- the depth of the node, relative to the root node. E.g., the root node has depth 0, and a child node
of that will have depth 1.private void append(org.w3c.dom.Node append, Node source)
public void tail(Node source, int depth)
NodeVisitor
This method has a default no-op implementation.
Note that neither replacement with Node.replaceWith(Node)
nor removal with Node.remove()
is
supported during tail()
.
tail
in interface NodeVisitor
source
- the node being visited.depth
- the depth of the node, relative to the root node. E.g., the root node has depth 0, and a child node
of that will have depth 1.private void copyAttributes(Node source, org.w3c.dom.Element el)
private java.lang.String updateNamespaces(Element el)