# File lib/html5/treewalkers/simpletree.rb, line 9
        def walk(node)
          case node
          when Document, DocumentFragment
            return

          when DocumentType
            yield doctype(node.name, node.public_id, node.system_id)

          when TextNode
            text(node.value) {|token| yield token}

          when Element
            if VOID_ELEMENTS.include?(node.name)
              yield empty_tag(node.name, node.attributes, node.hasContent())
            else
              yield start_tag(node.name, node.attributes)
              for child in node.childNodes
                walk(child) {|token| yield token}
              end
              yield end_tag(node.name)
            end

          when CommentNode
            yield comment(node.value)

          else
            puts '?'
            yield unknown(node.class)
          end
        end