Package org.jsoup.helper

## Class W3CDom.W3CBuilder

- java.lang.Object
- - org.jsoup.helper.W3CDom.W3CBuilder

All Implemented Interfaces:
  `NodeVisitor`

Enclosing class:
  W3CDom

    protected static class W3CDom.W3CBuilder
    extends java.lang.Object
    implements NodeVisitor

Implements the conversion by walking the input.

### Constructor Summary

Constructors
`W3CBuilder​(org.w3c.dom.Document doc)`

### Method Summary

All Methods Instance Methods Concrete Methods
`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.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### W3CBuilder

    public W3CBuilder​(org.w3c.dom.Document doc)

### Method Detail

#### head

    public void head​(Node source,
                     int depth)

Description copied from interface: `NodeVisitor`
Callback for when a node is first visited.

The node may be modified (e.g. `Node.attr(String)` or replaced `Node.replaceWith(Node)`). If it's `instanceOf Element`, you may cast it to an `Element` and access those methods.

Note that nodes may not be removed during traversal using this method; use `NodeTraversor.filter(NodeFilter, Node)` with a `NodeFilter.FilterResult.REMOVE` return instead.

Specified by:
  `head` in interface `NodeVisitor`
Parameters:
  `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.

#### tail

    public void tail​(Node source,
                     int depth)

Description copied from interface: `NodeVisitor`
Callback for when a node is last visited, after all of its descendants have been visited.

Note that replacement with `Node.replaceWith(Node)`

is not supported in `tail`.

Specified by:
  `tail` in interface `NodeVisitor`
Parameters:
  `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.