Class | REXML::DTD::Parser |
In: |
lib/rexml/dtd/dtd.rb
|
Parent: | Object |
# File lib/rexml/dtd/dtd.rb, line 11 11: def Parser.parse( input ) 12: case input 13: when String 14: parse_helper input 15: when File 16: parse_helper input.read 17: end 18: end
Takes a String and parses it out
# File lib/rexml/dtd/dtd.rb, line 21 21: def Parser.parse_helper( input ) 22: contents = Parent.new 23: while input.size > 0 24: case input 25: when ElementDecl.PATTERN_RE 26: match = $& 27: source = $' 28: contents << ElementDecl.new( match ) 29: when AttlistDecl.PATTERN_RE 30: matchdata = $~ 31: source = $' 32: contents << AttlistDecl.new( matchdata ) 33: when EntityDecl.PATTERN_RE 34: matchdata = $~ 35: source = $' 36: contents << EntityDecl.new( matchdata ) 37: when Comment.PATTERN_RE 38: matchdata = $~ 39: source = $' 40: contents << Comment.new( matchdata ) 41: when NotationDecl.PATTERN_RE 42: matchdata = $~ 43: source = $' 44: contents << NotationDecl.new( matchdata ) 45: end 46: end 47: contents 48: end