Extended maintenance of Ruby versions 1.8.7 and 1.9.2 ended on July 31, 2014. Read more

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