Class HTML5::InTablePhase
In: lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb
Parent: Phase
Phase XmlElementPhase InTablePhase RootElementPhase InHeadPhase AfterHeadPhase AfterFramesetPhase XmlRootPhase InitialPhase InTableBodyPhase InFramesetPhase InColumnGroupPhase InCaptionPhase TrailingEndPhase InSelectPhase BeforeHeadPhase InCellPhase InBodyPhase AfterBodyPhase InRowPhase Exception SerializeError EOF AssertionError ParseError HTMLSanitizer HTMLTokenizer XhmlRootPhase XMLParser XHTMLParser HTMLParser String EncodingBytes HTMLSerializer XHTMLSerializer TreeWalkers::Base NonRecursiveTreeWalker TreeWalker TreeWalker Base TreeWalker Element DocumentFragment Node CommentNode DocumentType TextNode Document Base::Node Node Node Base::TreeBuilder TreeBuilder TreeBuilder TreeBuilder Element DocumentFragment CommentNode DocumentType TextNode Document Element DocumentFragment CommentNode DocumentType TextNode Document Enumerable TestData Base OptionalTagFilter InjectMetaCharset WhitespaceFilter HTMLSanitizeFilter HTMLSanitizeModule SimpleDelegator HTMLInputStream EncodingParser ContentAttrParser Node TreeBuilder lib/feed_tools/vendor/html5/lib/html5/html5parser/trailing_end_phase.rb lib/feed_tools/vendor/html5/lib/html5/constants.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/after_frameset_phase.rb lib/feed_tools/vendor/html5/lib/html5/liberalxmlparser.rb lib/feed_tools/vendor/html5/lib/html5/serializer/xhtmlserializer.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_frameset_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_body_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/initial_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/root_element_phase.rb lib/feed_tools/vendor/html5/lib/html5/serializer/htmlserializer.rb lib/feed_tools/vendor/html5/lib/html5/tokenizer.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/before_head_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb lib/feed_tools/vendor/html5/lib/html5/inputstream.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_row_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_cell_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_body_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_head_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/after_body_phase.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/after_head_phase.rb lib/feed_tools/vendor/html5/lib/html5/sanitizer.rb lib/feed_tools/vendor/html5/lib/html5/html5parser/in_column_group_phase.rb lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb lib/feed_tools/vendor/html5/lib/html5/treewalkers/hpricot.rb Hpricot TokenConstructor lib/feed_tools/vendor/html5/lib/html5/treewalkers/rexml.rb REXML lib/feed_tools/vendor/html5/lib/html5/treewalkers/simpletree.rb SimpleTree TreeWalkers HTMLSanitizeModule lib/feed_tools/vendor/html5/lib/html5/treebuilders/hpricot.rb Hpricot lib/feed_tools/vendor/html5/lib/html5/treebuilders/rexml.rb REXML lib/feed_tools/vendor/html5/lib/html5/treebuilders/base.rb Base lib/feed_tools/vendor/html5/lib/html5/treebuilders/simpletree.rb SimpleTree TreeBuilders lib/feed_tools/vendor/html5/tests/preamble.rb TestSupport Sniffer lib/feed_tools/vendor/html5/lib/html5/filters/whitespace.rb lib/feed_tools/vendor/html5/lib/html5/filters/optionaltags.rb lib/feed_tools/vendor/html5/lib/html5/filters/base.rb lib/feed_tools/vendor/html5/lib/html5/filters/inject_meta_charset.rb lib/feed_tools/vendor/html5/lib/html5/filters/sanitizer.rb Filters HTML5 dot/m_66_0.png

Methods

Public Instance methods

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb, line 89
89:     def endTagIgnore(name)
90:       parse_error("unexpected-end-tag", {"name" => name})
91:     end

[Source]

     # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb, line 93
 93:     def endTagOther(name)
 94:       parse_error("unexpected-end-tag-implies-table-voodoo", {"name" => name})
 95:       # Make all the special element rearranging voodoo kick in
 96:       @tree.insert_from_table = true
 97:       # Process the end tag in the "in body" mode
 98:       @parser.phases[:inBody].processEndTag(name)
 99:       @tree.insert_from_table = false
100:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb, line 69
69:     def endTagTable(name)
70:       if in_scope?('table', true)
71:         @tree.generateImpliedEndTags
72: 
73:         unless @tree.open_elements.last.name == 'table'
74:           parse_error("end-tag-too-early-named",
75:                     {"gotName" => "table",
76:                      "expectedName" => @tree.open_elements.last.name})
77:         end
78: 
79:         remove_open_elements_until('table')
80: 
81:         @parser.reset_insertion_mode
82:       else
83:         # inner_html case
84:         assert @parser.inner_html
85:         parse_error
86:       end
87:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb, line 14
14:     def processCharacters(data)
15:       parse_error("unexpected-char-implies-table-voodoo")
16:       # Make all the special element rearranging voodoo kick in
17:       @tree.insert_from_table = true
18:       # Process the character in the "in body" mode
19:       @parser.phases[:inBody].processCharacters(data)
20:       @tree.insert_from_table = false
21:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb, line 23
23:     def startTagCaption(name, attributes)
24:       clearStackToTableContext
25:       @tree.activeFormattingElements.push(Marker)
26:       @tree.insert_element(name, attributes)
27:       @parser.phase = @parser.phases[:inCaption]
28:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb, line 36
36:     def startTagCol(name, attributes)
37:       startTagColgroup('colgroup', {})
38:       @parser.phase.processStartTag(name, attributes)
39:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb, line 30
30:     def startTagColgroup(name, attributes)
31:       clearStackToTableContext
32:       @tree.insert_element(name, attributes)
33:       @parser.phase = @parser.phases[:inColumnGroup]
34:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb, line 47
47:     def startTagImplyTbody(name, attributes)
48:       startTagRowGroup('tbody', {})
49:       @parser.phase.processStartTag(name, attributes)
50:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb, line 59
59:     def startTagOther(name, attributes)
60:       parse_error("unexpected-start-tag-implies-table-voodoo",
61:               {"name" => name})
62:       # Make all the special element rearranging voodoo kick in
63:       @tree.insert_from_table = true
64:       # Process the start tag in the "in body" mode
65:       @parser.phases[:inBody].processStartTag(name, attributes)
66:       @tree.insert_from_table = false
67:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb, line 41
41:     def startTagRowGroup(name, attributes)
42:       clearStackToTableContext
43:       @tree.insert_element(name, attributes)
44:       @parser.phase = @parser.phases[:inTableBody]
45:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb, line 52
52:     def startTagTable(name, attributes)
53:       parse_error("unexpected-start-tag-implies-end-tag",
54:             {"startName" => "table", "endName" => "table"})
55:       @parser.phase.processEndTag('table')
56:       @parser.phase.processStartTag(name, attributes) unless @parser.inner_html
57:     end

Protected Instance methods

[Source]

     # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb, line 104
104:     def clearStackToTableContext
105:       # "clear the stack back to a table context"
106:       until %w[table html].include?(name = @tree.open_elements.last.name)
107:         parse_error("unexpected-implied-end-tag-in-table",
108:                 {"name" =>  @tree.open_elements.last.name})
109:         @tree.open_elements.pop
110:       end
111:       # When the current node is <html> it's an inner_html case
112:     end

[Validate]