Class REXML::DTD::EntityDecl
In: rexml/dtd/entitydecl.rb
Parent: Child

Methods

new   parse_source   to_s   write  

Constants

START = "<!ENTITY"
START_RE = /^\s*#{START}/um
PUBLIC = /^\s*#{START}\s+(?:%\s+)?(\w+)\s+PUBLIC\s+((["']).*?\3)\s+((["']).*?\5)\s*>/um
SYSTEM = /^\s*#{START}\s+(?:%\s+)?(\w+)\s+SYSTEM\s+((["']).*?\3)(?:\s+NDATA\s+\w+)?\s*>/um
PLAIN = /^\s*#{START}\s+(\w+)\s+((["']).*?\3)\s*>/um
PERCENT = /^\s*#{START}\s+%\s+(\w+)\s+((["']).*?\3)\s*>/um

Public Class methods

<!ENTITY name SYSTEM "…"> <!ENTITY name "…">

[Source]

# 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

[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

[Source]

# File rexml/dtd/entitydecl.rb, line 37
                        def to_s
                                rv = "<!ENTITY #@name "
                                rv << "#@middle " if @middle.size > 0
                                rv << @content
                                rv
                        end

[Source]

# File rexml/dtd/entitydecl.rb, line 44
                        def write( output, indent )
        indent( output, indent )
                                output << to_s
                        end

[Validate]

ruby-doc.org is hosted and maintained by James Britt and Happy Camper Studios, a Ruby application development company in Phoenix, Arizona. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.

Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.

For more information on the Ruby programming language, visit ruby-lang.org.

Want to help improve Ruby's API docs? See Ruby Documentation Guidelines.