Class HTML5::InCaptionPhase
In: lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_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_caption_phase.rb, line 32
32:     def endTagCaption(name)
33:       if ignoreEndTagCaption
34:         # inner_html case
35:         assert @parser.inner_html
36:         parse_error "unexpected-end-tag", {"name" => name}
37:       else
38:         # AT this code is quite similar to endTagTable in "InTable"
39:         @tree.generateImpliedEndTags
40: 
41:         unless @tree.open_elements[-1].name == 'caption'
42:           parse_error("expected-one-end-tag-but-got-another",
43:                     {"gotName" => "caption",
44:                      "expectedName" => @tree.open_elements.last.name})
45:         end
46: 
47:         remove_open_elements_until('caption')
48: 
49:         @tree.clearActiveFormattingElements
50:         @parser.phase = @parser.phases[:inTable]
51:       end
52:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb, line 61
61:     def endTagIgnore(name)
62:       parse_error("unexpected-end-tag", {"name" => name})
63:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb, line 65
65:     def endTagOther(name)
66:       @parser.phases[:inBody].processEndTag(name)
67:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb, line 54
54:     def endTagTable(name)
55:       parse_error "unexpected-end-table-in-caption"
56:       ignoreEndTag = ignoreEndTagCaption
57:       @parser.phase.processEndTag('caption')
58:       @parser.phase.processEndTag(name) unless ignoreEndTag
59:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb, line 12
12:     def ignoreEndTagCaption
13:       !in_scope?('caption', true)
14:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb, line 16
16:     def processCharacters(data)
17:       @parser.phases[:inBody].processCharacters(data)
18:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb, line 28
28:     def startTagOther(name, attributes)
29:       @parser.phases[:inBody].processStartTag(name, attributes)
30:     end

[Source]

    # File lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb, line 20
20:     def startTagTableElement(name, attributes)
21:       parse_error "unexpected-end-tag", {"name" => name}
22:       #XXX Have to duplicate logic here to find out if the tag is ignored
23:       ignoreEndTag = ignoreEndTagCaption
24:       @parser.phase.processEndTag('caption')
25:       @parser.phase.processStartTag(name, attributes) unless ignoreEndTag
26:     end

[Validate]