Class: REXML::DTD::EntityDecl (Ruby 2.4.2)
Description: Class : REXML::DTD::EntityDecl - Ruby 2.4.2

Support for the Ruby 2.4 series has ended. See here for reference.

### Home Classes Methods

### In Files

- rexml/dtd/entitydecl.rb

### Parent

REXML::Child

### Methods

- ::new
- ::parse_source
- #to_s
- #write

### Class/Module Index

Quicksearch

- Array
- Float
- Integer
- Object
- REXML
- REXML::AttlistDecl
- REXML::Attribute
- REXML::Attributes
- REXML::CData
- REXML::Child
- REXML::Comment
- REXML::DTD
- REXML::DTD::AttlistDecl
- REXML::DTD::ElementDecl
- REXML::DTD::EntityDecl
- REXML::DTD::NotationDecl
- REXML::DTD::Parser
- REXML::Declaration
- REXML::DocType
- REXML::Document
- REXML::Element
- REXML::ElementDecl
- REXML::Elements
- REXML::Encoding
- REXML::Entity
- REXML::EntityConst
- REXML::ExternalEntity
- REXML::Formatters
- REXML::Formatters::Default
- REXML::Formatters::Pretty
- REXML::Formatters::Transitive
- REXML::Functions
- REXML::IOSource
- REXML::Instruction
- REXML::Light
- REXML::Light::Node
- REXML::Namespace
- REXML::Node
- REXML::NotationDecl
- REXML::Output
- REXML::Parent
- REXML::ParseException
- REXML::Parsers
- REXML::Parsers::BaseParser
- REXML::Parsers::LightParser
- REXML::Parsers::PullEvent
- REXML::Parsers::PullParser
- REXML::Parsers::SAX2Parser
- REXML::Parsers::StreamParser
- REXML::Parsers::TreeParser
- REXML::Parsers::UltraLightParser
- REXML::Parsers::XPathParser
- REXML::QuickPath
- REXML::SAX2Listener
- REXML::Security
- REXML::Source
- REXML::SourceFactory
- REXML::StreamListener
- REXML::SyncEnumerator
- REXML::Text
- REXML::UndefinedNamespaceException
- REXML::Validation
- REXML::Validation::Choice
- REXML::Validation::Event
- REXML::Validation::Interleave
- REXML::Validation::OneOrMore
- REXML::Validation::Optional
- REXML::Validation::Ref
- REXML::Validation::RelaxNG
- REXML::Validation::Sequence
- REXML::Validation::State
- REXML::Validation::ValidationException
- REXML::Validation::Validator
- REXML::Validation::ZeroOrMore
- REXML::XMLDecl
- REXML::XMLTokens
- REXML::XPath
- REXML::XPathParser
- Symbol

No matching classes.

# 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 “…”>

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