Module Amrita::ElementProcessorCommon
In: lib/amrita/node.rb
Methods
format_node    format_special    generate_element    generate_text    taginfo_of_element   
Public Instance methods
generate_element(tag, attrs=nil, &block)
# File lib/amrita/node.rb, line 903
    def generate_element(tag, attrs=nil, &block)
      case attrs
      when nil
        Element.new(tag, &block) 
      when Hash
        a = attrs.collect do |k, v|
          k = k.intern
          k = :__id__ if k == escaped_id or (amrita_id and k == :id)
          k = :id if k == amrita_id
          Attr.new(k, v)
        end
        Element.new(tag, a, &block) 
      else
        raise "invalid parameter #{attrs}"
      end
    end
generate_text(text)
# File lib/amrita/node.rb, line 920
    def generate_text(text)
      ret = []
      text.scan(/([^@]*)(@\{(\w+)\})?/) do |str, dummy, w|
        ret << TextElement.new(str) if str.size > 0
        ret << generate_element(:span, :id=>w) if w
      end
      Node::to_node(ret)
    end
taginfo_of_element(element)
# File lib/amrita/node.rb, line 972
    def taginfo_of_element(element)
      if tagdict
        tagdict.get_tag_info2(element.tag_symbol)
      else
        nil
      end
    end
format_special(s)
# File lib/amrita/node.rb, line 1015
    def format_special(s)
      ]<#{s.tag} #{s.body} #{s.etag}>]
    end
format_node(n)
# File lib/amrita/node.rb, line 1019
    def format_node(n)
      case n
      when Null
        ""
      when NodeArray
        ret = n.children.collect do |n|
          format_node(n)
        end.join("")
        ret 
      when Element
        if n.no_child?
          format_single_tag(n)
        else
          format_start_tag(n).to_s + 
            format_node(n.body).to_s +
            format_end_tag(n).to_s
        end
      when AmritaPragma
        if delete_pragma
          ""
        else
          format_special(n)
        end
      when SpecialElement
        format_special(n)
      else
        n.to_s.amrita_sanitize
      end
    end