Sha256: d6c081e92b0233be4f0995daa1d43a66a6880b38ad8edbf563cfa452430b3590

Contents?: true

Size: 1.61 KB

Versions: 5

Compression:

Stored size: 1.61 KB

Contents

module Nokogiri
  module XML
    class DocumentFragment < Nokogiri::XML::Node
      def initialize document, tags=nil
        if tags
          if self.kind_of?(Nokogiri::HTML::DocumentFragment)
            HTML::SAX::Parser.new(FragmentHandler.new(self, tags)).parse(tags)
          else
            wrapped = "<div>#{tags.strip}</div>"
            XML::SAX::Parser.new(FragmentHandler.new(self, wrapped)).parse(wrapped)
            div = self.child
            div.children.each { |child| child.parent = self }
            div.unlink
          end
        end
      end

      ###
      # return the name for DocumentFragment
      def name
        '#document-fragment'
      end

      ###
      # Convert this DocumentFragment to a string
      def to_s
        children.to_s
      end

      ###
      # Convert this DocumentFragment to html
      # See Nokogiri::XML::NodeSet#to_html
      def to_html *args
        children.to_html(*args)
      end

      ###
      # Convert this DocumentFragment to xhtml
      # See Nokogiri::XML::NodeSet#to_xhtml
      def to_xhtml *args
        children.to_xhtml(*args)
      end

      ###
      # Convert this DocumentFragment to xml
      # See Nokogiri::XML::NodeSet#to_xml
      def to_xml *args
        children.to_xml(*args)
      end

      ###
      # Search this fragment.  See Nokogiri::XML::Node#css
      def css *args
        children.css(*args)
      end

      alias :serialize :to_s

      class << self
        ####
        # Create a Nokogiri::XML::DocumentFragment from +tags+
        def parse tags
          self.new(XML::Document.new, tags)
        end
      end

    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
superfeedr-nokogiri-1.4.0.20091116183308 lib/nokogiri/xml/document_fragment.rb
nokogiri-1.4.0-java lib/nokogiri/xml/document_fragment.rb
nokogiri-1.4.0-x86-mswin32 lib/nokogiri/xml/document_fragment.rb
nokogiri-1.4.0-x86-mingw32 lib/nokogiri/xml/document_fragment.rb
nokogiri-1.4.0 lib/nokogiri/xml/document_fragment.rb