In Files

  • rexml/dtd/dtd.rb

Parent

Class/Module Index [+]

Quicksearch

REXML::DTD::Parser

Public Class Methods

parse( input ) click to toggle source
 
               # File rexml/dtd/dtd.rb, line 11
def Parser.parse( input )
        case input
        when String
                parse_helper input
        when File
                parse_helper input.read
        end
end
            
parse_helper( input ) click to toggle source

Takes a String and parses it out

 
               # File rexml/dtd/dtd.rb, line 21
def Parser.parse_helper( input )
        contents = Parent.new
        while input.size > 0
                case input
                when ElementDecl.PATTERN_RE
                        match = $&
                        source = $'
                        contents << ElementDecl.new( match )
                when AttlistDecl.PATTERN_RE
                        matchdata = $~
                        source = $'
                        contents << AttlistDecl.new( matchdata )
                when EntityDecl.PATTERN_RE
                        matchdata = $~
                        source = $'
                        contents << EntityDecl.new( matchdata )
                when Comment.PATTERN_RE
                        matchdata = $~
                        source = $'
                        contents << Comment.new( matchdata )
                when NotationDecl.PATTERN_RE
                        matchdata = $~
                        source = $'
                        contents << NotationDecl.new( matchdata )
                end
        end
        contents
end