diff options
Diffstat (limited to 'ruby_1_8_6/lib/rexml/dtd')
-rw-r--r-- | ruby_1_8_6/lib/rexml/dtd/attlistdecl.rb | 10 | ||||
-rw-r--r-- | ruby_1_8_6/lib/rexml/dtd/dtd.rb | 51 | ||||
-rw-r--r-- | ruby_1_8_6/lib/rexml/dtd/elementdecl.rb | 17 | ||||
-rw-r--r-- | ruby_1_8_6/lib/rexml/dtd/entitydecl.rb | 56 | ||||
-rw-r--r-- | ruby_1_8_6/lib/rexml/dtd/notationdecl.rb | 39 |
5 files changed, 0 insertions, 173 deletions
diff --git a/ruby_1_8_6/lib/rexml/dtd/attlistdecl.rb b/ruby_1_8_6/lib/rexml/dtd/attlistdecl.rb deleted file mode 100644 index e176bb0749..0000000000 --- a/ruby_1_8_6/lib/rexml/dtd/attlistdecl.rb +++ /dev/null @@ -1,10 +0,0 @@ -require "rexml/child" -module REXML - module DTD - class AttlistDecl < Child - START = "<!ATTLIST" - START_RE = /^\s*#{START}/um - PATTERN_RE = /\s*(#{START}.*?>)/um - end - end -end diff --git a/ruby_1_8_6/lib/rexml/dtd/dtd.rb b/ruby_1_8_6/lib/rexml/dtd/dtd.rb deleted file mode 100644 index 4f735d4812..0000000000 --- a/ruby_1_8_6/lib/rexml/dtd/dtd.rb +++ /dev/null @@ -1,51 +0,0 @@ -require "rexml/dtd/elementdecl" -require "rexml/dtd/entitydecl" -require "rexml/comment" -require "rexml/dtd/notationdecl" -require "rexml/dtd/attlistdecl" -require "rexml/parent" - -module REXML - module DTD - class Parser - def Parser.parse( input ) - case input - when String - parse_helper input - when File - parse_helper input.read - end - end - - # Takes a String and parses it out - def Parser.parse_helper( input ) - contents = Parent.new - while input.size > 0 - case input - when ElementDecl.PATTERN_RE - match = $& - source = $' - contents << ElementDecl.new( match ) - when AttlistDecl.PATTERN_RE - matchdata = $~ - source = $' - contents << AttlistDecl.new( matchdata ) - when EntityDecl.PATTERN_RE - matchdata = $~ - source = $' - contents << EntityDecl.new( matchdata ) - when Comment.PATTERN_RE - matchdata = $~ - source = $' - contents << Comment.new( matchdata ) - when NotationDecl.PATTERN_RE - matchdata = $~ - source = $' - contents << NotationDecl.new( matchdata ) - end - end - contents - end - end - end -end diff --git a/ruby_1_8_6/lib/rexml/dtd/elementdecl.rb b/ruby_1_8_6/lib/rexml/dtd/elementdecl.rb deleted file mode 100644 index c4e620f389..0000000000 --- a/ruby_1_8_6/lib/rexml/dtd/elementdecl.rb +++ /dev/null @@ -1,17 +0,0 @@ -require "rexml/child" -module REXML - module DTD - class ElementDecl < Child - START = "<!ELEMENT" - START_RE = /^\s*#{START}/um - PATTERN_RE = /^\s*(#{START}.*?)>/um - PATTERN_RE = /^\s*#{START}\s+((?:[:\w_][-\.\w_]*:)?[-!\*\.\w_]*)(.*?)>/ - #\s*((((["']).*?\5)|[^\/'">]*)*?)(\/)?>/um, true) - - def initialize match - @name = match[1] - @rest = match[2] - end - end - end -end diff --git a/ruby_1_8_6/lib/rexml/dtd/entitydecl.rb b/ruby_1_8_6/lib/rexml/dtd/entitydecl.rb deleted file mode 100644 index a5f1520f2b..0000000000 --- a/ruby_1_8_6/lib/rexml/dtd/entitydecl.rb +++ /dev/null @@ -1,56 +0,0 @@ -require "rexml/child" -module REXML - module DTD - class EntityDecl < Child - 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 - # <!ENTITY name SYSTEM "..."> - # <!ENTITY name "..."> - 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 - - def to_s - rv = "<!ENTITY #@name " - rv << "#@middle " if @middle.size > 0 - rv << @content - rv - end - - def write( output, indent ) - indent( output, indent ) - output << to_s - end - - 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 - end - end -end diff --git a/ruby_1_8_6/lib/rexml/dtd/notationdecl.rb b/ruby_1_8_6/lib/rexml/dtd/notationdecl.rb deleted file mode 100644 index a47ff8f24b..0000000000 --- a/ruby_1_8_6/lib/rexml/dtd/notationdecl.rb +++ /dev/null @@ -1,39 +0,0 @@ -require "rexml/child" -module REXML - module DTD - class NotationDecl < Child - 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 - 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 - - def to_s - "<!NOTATION #@name #@middle #@rest>" - end - - def write( output, indent ) - indent( output, indent ) - output << to_s - end - - 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 - end - end -end |