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 14
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 50
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 38
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 45
def write( output, indent )
  indent( output, indent )
  output << to_s
end