Class Amrita::HtmlParser
In: lib/amrita/parser.rb
Parent: Object

HTMLパーサ兼テンプレート木を生成する

Methods

Attributes

attr_style  [RW] 
tmpl_id  [RW] 

Public Class methods

[Source]

# File lib/amrita/parser.rb, line 406
    def initialize source, fname, lno, taginfo, filter = nil
      @scanner = HtmlScanner.new(source, taginfo)
      @taginfo = taginfo
      @tmpl_id = "amrita_id"
      @attr_style = "1.8"  # 属性は要素の子
      @filter = filter
    end

[Source]

# File lib/amrita/parser.rb, line 395
      def parse_file(fname, taginfo = DefaultHtmlTagInfo)
        File.open(fname) {|f|
          HtmlParser.parse_io(f, fname, 0, taginfo)
        }
      end

[Source]

# File lib/amrita/parser.rb, line 378
      def parse_inline(text, taginfo = DefaultHtmlTagInfo)
        c = caller(1)[0].split(":")
        parser = HtmlParser.new(text, c[0], c[1].to_i, taginfo)
        parser.parse
      end

[Source]

# File lib/amrita/parser.rb, line 390
      def parse_io(io, fname = nil, lno = 0, taginfo = DefaultHtmlTagInfo)
        parser = HtmlParser.new(io.read(), fname, lno, taginfo)
        parser.parse
      end

[Source]

# File lib/amrita/parser.rb, line 384
      def parse_text text, fname = nil, lno = 0, taginfo = DefaultHtmlTagInfo, 
                     &filter
        parser = HtmlParser.new(text, fname, lno, taginfo, filter)
        parser.parse
      end

Public Instance methods

[Source]

# File lib/amrita/parser.rb, line 414
    def parse()
      root_doc = Element.new("<dmy_root>".intern)
      root_tmpl = TemplateNode.new()
      parse1(root_doc, root_tmpl)
      return root_doc.body
    end

[Validate]