XML Encoder

Uses REXML. Very slow.

Methods
Constants
FILE_EXTENSION = 'xml'
DEFAULT_OPTIONS = { :tab_width => 8, :pretty => -1, :transitive => false, }
Public Instance methods
begin_group(kind)
# File lib/coderay/encoders/xml.rb, line 58
    def begin_group kind
      @node = @node.add_element kind.to_s
    end
end_group(kind)
# File lib/coderay/encoders/xml.rb, line 62
    def end_group kind
      if @node == @root
        raise 'no token to close!'
      end
      @node = @node.parent
    end
text_token(text, kind)
# File lib/coderay/encoders/xml.rb, line 38
    def text_token text, kind
      if kind == :space
        token = @node
      else
        token = @node.add_element kind.to_s
      end
      text.scan(/(\x20+)|(\t+)|(\n)|[^\x20\t\n]+/) do |space, tab, nl|
        case
        when space
          token << REXML::Text.new(space, true)
        when tab
          token << REXML::Text.new(tab, true)
        when nl
          token << REXML::Text.new(nl, true)
        else
          token << REXML::Text.new($&)
        end
      end
    end