Class: HTML5::TreeWalkers::SimpleTree::TreeWalker
- Includes:
- HTML5::TreeBuilders::SimpleTree
- Defined in:
- lib/html5/treewalkers/simpletree.rb
Instance Method Summary collapse
Methods inherited from Base
Methods included from TokenConstructor
#_, #comment, #doctype, #empty_tag, #end_tag, #error, #normalize_attrs, #start_tag, #text, #unknown
Constructor Details
This class inherits a constructor from HTML5::TreeWalkers::Base
Instance Method Details
#each ⇒ Object
40 41 42 43 44 |
# File 'lib/html5/treewalkers/simpletree.rb', line 40 def each for child in @tree.childNodes walk(child) {|node| yield node} end end |
#walk(node) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# 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 |