diff options
Diffstat (limited to 'actionpack/lib/action_controller/vendor')
-rw-r--r-- | actionpack/lib/action_controller/vendor/html-scanner/html/document.rb | 4 | ||||
-rw-r--r-- | actionpack/lib/action_controller/vendor/html-scanner/html/node.rb | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb b/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb index c8e07b884c..9949afb6c9 100644 --- a/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb +++ b/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb @@ -11,7 +11,7 @@ module HTML #:nodoc: attr_reader :root # Create a new Document from the given text. - def initialize(text, strict=false) + def initialize(text, strict=false, xml=false) tokenizer = Tokenizer.new(text) @root = Node.new(nil) node_stack = [ @root ] @@ -38,7 +38,7 @@ ignoring attempt to close #{node_stack.last.name} with #{node.name} EOF strict ? raise(msg) : warn(msg) end - elsif !node.childless? && node.closing != :close + elsif !node.childless?(xml) && node.closing != :close node_stack.push node end end diff --git a/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb b/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb index 6d045b0367..f0f94d19cc 100644 --- a/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb +++ b/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb @@ -271,7 +271,8 @@ module HTML #:nodoc: end # Returns non-+nil+ if this tag can contain child nodes. - def childless? + def childless?(xml = false) + return false if xml && @closing.nil? !@closing.nil? || @name =~ /^(img|br|hr|link|meta|area|base|basefont| col|frame|input|isindex|param)$/ox |