Class: REXML::DTD::NotationDecl
- Defined in:
- lib/rexml/dtd/notationdecl.rb
Constant Summary collapse
- START =
"<!NOTATION"
- START_RE =
/^\s*#{START}/um
- PUBLIC =
/^\s*#{START}\s+(\w[\w-]*)\s+(PUBLIC)\s+((["']).*?\4)\s*>/um
- SYSTEM =
/^\s*#{START}\s+(\w[\w-]*)\s+(SYSTEM)\s+((["']).*?\4)\s*>/um
Instance Attribute Summary
Attributes inherited from Child
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(src) ⇒ NotationDecl
constructor
A new instance of NotationDecl.
- #to_s ⇒ Object
- #write(output, indent) ⇒ Object
Methods inherited from Child
#bytes, #document, #next_sibling=, #previous_sibling=, #remove, #replace_with
Methods included from Node
#each_recursive, #find_first_recursive, #indent, #index_in_parent, #next_sibling_node, #parent?, #previous_sibling_node
Constructor Details
#initialize(src) ⇒ NotationDecl
Returns a new instance of NotationDecl.
9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/rexml/dtd/notationdecl.rb', line 9 def initialize src super() if src.match( PUBLIC ) md = src.match( PUBLIC, true ) elsif src.match( SYSTEM ) md = src.match( SYSTEM, true ) else raise ParseException.new( "error parsing notation: no matching pattern", src ) end @name = md[1] @middle = md[2] @rest = md[3] end |
Class Method Details
.parse_source(source, listener) ⇒ Object
32 33 34 35 36 |
# File 'lib/rexml/dtd/notationdecl.rb', line 32 def NotationDecl.parse_source source, listener md = source.match( PATTERN_RE, true ) thing = md[0].squeeze(" \t\n\r") listener.send inspect.downcase, thing end |
Instance Method Details
#to_s ⇒ Object
23 24 25 |
# File 'lib/rexml/dtd/notationdecl.rb', line 23 def to_s "<!NOTATION #@name #@middle #@rest>" end |
#write(output, indent) ⇒ Object
27 28 29 30 |
# File 'lib/rexml/dtd/notationdecl.rb', line 27 def write( output, indent ) indent( output, indent ) output << to_s end |