Class Uttk::Dumpers::Xml
In: lib/uttk/dumpers/Xml.rb
Parent: Dumper

Methods

clean_for_xml   close   new   new_leaf   new_node   reset   up  

Included Modules

Concrete

Public Class methods

[Source]

# File lib/uttk/dumpers/Xml.rb, line 17
      def initialize ( *a, &b )
        super
        puts '<?xml version="1.0" encoding="iso-8859-1"?>'
        reset
      end

Public Instance methods

[Source]

# File lib/uttk/dumpers/Xml.rb, line 24
      def reset
        @doc = @root = REXML::Document.new
        @doc_stack = []
      end

Protected Instance methods

[Source]

# File lib/uttk/dumpers/Xml.rb, line 77
      def clean_for_xml ( anObject )
        str = anObject.to_s
        str.gsub!(/[^a-zA-Z:-_]/, '_')
        str
      end

[Source]

# File lib/uttk/dumpers/Xml.rb, line 68
      def close
        @root.write(self, 0, false)
        puts
        reset
        super
      end

[Source]

# File lib/uttk/dumpers/Xml.rb, line 54
      def new_leaf ( path, leaf )
        super
        @doc.add_text(leaf.to_s)
      end

[Source]

# File lib/uttk/dumpers/Xml.rb, line 41
      def new_node ( path, node )
        super
        doc_ = @doc
        opts = { :name => node.segment }
        if type = node.options[:type]
          opts[:type] = type
        end
        add_elt(:node, opts)
        @doc_stack << doc_
      end

[Source]

# File lib/uttk/dumpers/Xml.rb, line 61
      def up ( path )
        super
        @doc = @doc_stack.pop unless @doc_stack.empty?
      end

[Validate]