class REXML::DTD::Parser - rexml: Ruby Standard Library Documentation

# class REXML::DTD::Parser

### Public Class Methods

parse( input ) click to toggle source

    # File rexml-3.4.0/lib/rexml/dtd/dtd.rb, line 12
    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-3.4.0/lib/rexml/dtd/dtd.rb, line 22
    def Parser.parse_helper( input )
      contents = Parent.new
      while input.size > 0
        case input
        when ElementDecl.PATTERN_RE
          match = $&
          contents << ElementDecl.new( match )
        when AttlistDecl.PATTERN_RE
          matchdata = $~
          contents << AttlistDecl.new( matchdata )
        when EntityDecl.PATTERN_RE
          matchdata = $~
          contents << EntityDecl.new( matchdata )
        when Comment.PATTERN_RE
          matchdata = $~
          contents << Comment.new( matchdata )
        when NotationDecl.PATTERN_RE
          matchdata = $~
          contents << NotationDecl.new( matchdata )
        end
      end
      contents
    end