4 class HtmlPolyglot < Polyglot
6 def initialize(name, javascript, css)
7 html = XmlMonoglot.new("html")
11 @states = javascript.states + css.states
12 @extra_states = html.states
14 @transitions = javascript.transitions + css.transitions
15 @extra_transitions = html.transitions
18 @extra_transitions << StitchTransition.new("<(?i)style(?-i)[^>]*(?i)css(?-i)[^>]*>", :html_markup, :css_code, :from, false, name)
19 @extra_transitions << StitchTransition.new("</(?i)style(?-i)>", :css_code, :return, :to, false, name)
20 @extra_transitions << StitchTransition.new("<(?i)script(?-i)\\\\ [^>]*(?i)javascript(?-i)[^>]*>", :html_markup, :javascript_code, :from, false, name)
21 @extra_transitions << StitchTransition.new("</(?i)script(?-i)>", :javascript_code, :return, :to, false, name)