class REXML::DTD::EntityDecl

Constants

PERCENT
PLAIN
PUBLIC
START
START_RE
SYSTEM

Public Class Methods

new(src) click to toggle source

<!ENTITY name SYSTEM "..."> <!ENTITY name "...">

Calls superclass method REXML::Child.new
# File lib/rexml/dtd/entitydecl.rb, line 13
def initialize src
 super()
 md = nil
 if src.match( PUBLIC )
 md = src.match( PUBLIC, true )
 @middle = "PUBLIC"
 @content = "#{md[2]} #{md[4]}"
 elsif src.match( SYSTEM )
 md = src.match( SYSTEM, true )
 @middle = "SYSTEM"
 @content = md[2]
 elsif src.match( PLAIN )
 md = src.match( PLAIN, true )
 @middle = ""
 @content = md[2]
 elsif src.match( PERCENT )
 md = src.match( PERCENT, true )
 @middle = ""
 @content = md[2]
 end
 raise ParseException.new("failed Entity match", src) if md.nil?
 @name = md[1]
end
parse_source(source, listener) click to toggle source
# File lib/rexml/dtd/entitydecl.rb, line 49
def EntityDecl.parse_source source, listener
 md = source.match( PATTERN_RE, true )
 thing = md[0].squeeze(" \t\n\r")
 listener.send inspect.downcase, thing
end

Public Instance Methods

to_s() click to toggle source
# File lib/rexml/dtd/entitydecl.rb, line 37
def to_s
 rv = "<!ENTITY #@name "
 rv << "#@middle " if @middle.size > 0
 rv << @content
 rv
end
write( output, indent ) click to toggle source
# File lib/rexml/dtd/entitydecl.rb, line 44
def write( output, indent )
 indent( output, indent )
 output << to_s
end