Support for the Ruby 2.1 series ended on March 31 2017. See here for details.

In Files

  • rexml/dtd/entitydecl.rb

Class/Module Index [+]

Quicksearch

REXML::DTD::EntityDecl

Public Class Methods

new(src) click to toggle source

<!ENTITY name SYSTEM “…”> <!ENTITY name “…”>

 
               # File 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 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 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 rexml/dtd/entitydecl.rb, line 44
def write( output, indent )
  indent( output, indent )
  output << to_s
end