class REXML::DTD::EntityDecl

常量

PERCENT
PLAIN
PUBLIC
START
START_RE
SYSTEM

公共类方法

new(src) 点击切换源代码

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

调用父类方法 REXML::Child::new
# File rexml-3.4.0/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) 点击切换源代码
# File rexml-3.4.0/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

公共实例方法

to_s() 点击切换源代码
# File rexml-3.4.0/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 ) 点击切换源代码
# File rexml-3.4.0/lib/rexml/dtd/entitydecl.rb, line 45
def write( output, indent )
  indent( output, indent )
  output << to_s
end