mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rexml/parsers/baseparser.rb (LETTER, DIGIT):
always use POSIX charclass. * lib/rexml/parsers/baseparser.rb (NAMECHAR): remove duplicated range. * lib/rexml/xmltokens.rb (NCNAME_STR, NAMECHAR): ditto. * lib/rexml/parsers/xpathparser.rb (PathExpr): ditto. * lib/rexml/text.rb (REXML::Text#initialize): initialize @parent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
34fb945348
commit
40bc864003
5 changed files with 22 additions and 15 deletions
15
ChangeLog
15
ChangeLog
|
@ -1,3 +1,18 @@
|
|||
Tue Apr 6 05:59:12 2010 NARUSE, Yui <naruse@ruby-lang.org>
|
||||
|
||||
* lib/rexml/parsers/baseparser.rb (LETTER, DIGIT):
|
||||
always use POSIX charclass.
|
||||
|
||||
* lib/rexml/parsers/baseparser.rb (NAMECHAR):
|
||||
remove duplicated range.
|
||||
|
||||
* lib/rexml/xmltokens.rb (NCNAME_STR, NAMECHAR): ditto.
|
||||
|
||||
* lib/rexml/parsers/xpathparser.rb (PathExpr): ditto.
|
||||
|
||||
* lib/rexml/text.rb (REXML::Text#initialize):
|
||||
initialize @parent.
|
||||
|
||||
Mon Apr 5 19:54:58 2010 NARUSE, Yui <naruse@ruby-lang.org>
|
||||
|
||||
* re.c (make_regexp): use onig_new_with_source to keep
|
||||
|
|
|
@ -25,15 +25,8 @@ module REXML
|
|||
#
|
||||
# Nat Price gave me some good ideas for the API.
|
||||
class BaseParser
|
||||
if String.method_defined? :encode
|
||||
# Oniguruma / POSIX [understands unicode]
|
||||
LETTER = '[[:alpha:]]'
|
||||
DIGIT = '[[:digit:]]'
|
||||
else
|
||||
# Ruby < 1.9 [doesn't understand unicode]
|
||||
LETTER = 'a-zA-Z'
|
||||
DIGIT = '\d'
|
||||
end
|
||||
LETTER = '[:alpha:]'
|
||||
DIGIT = '[:digit:]'
|
||||
|
||||
COMBININGCHAR = '' # TODO
|
||||
EXTENDER = '' # TODO
|
||||
|
@ -42,7 +35,7 @@ module REXML
|
|||
NAME_STR= "(?:(#{NCNAME_STR}):)?(#{NCNAME_STR})"
|
||||
UNAME_STR= "(?:#{NCNAME_STR}:)?#{NCNAME_STR}"
|
||||
|
||||
NAMECHAR = '[\-\w\d\.:]'
|
||||
NAMECHAR = '[\-\w:]'
|
||||
NAME = "([\\w:]#{NAMECHAR}*)"
|
||||
NMTOKEN = "(?:#{NAMECHAR})+"
|
||||
NMTOKENS = "#{NMTOKEN}(\\s+#{NMTOKEN})*"
|
||||
|
|
|
@ -551,7 +551,7 @@ module REXML
|
|||
end
|
||||
end
|
||||
#puts "BEFORE WITH '#{rest}'"
|
||||
rest = LocationPath(rest, n) if rest =~ /\A[\/\.\@\[\w_*]/
|
||||
rest = LocationPath(rest, n) if rest =~ /\A[\/\.\@\[\w*]/
|
||||
parsed.concat(n)
|
||||
return rest
|
||||
end
|
||||
|
|
|
@ -93,12 +93,11 @@ module REXML
|
|||
entity_filter=nil, illegal=NEEDS_A_SECOND_CHECK )
|
||||
|
||||
@raw = false
|
||||
@parent = nil
|
||||
|
||||
if parent
|
||||
super( parent )
|
||||
@raw = parent.raw
|
||||
else
|
||||
@parent = nil
|
||||
end
|
||||
|
||||
@raw = raw unless raw.nil?
|
||||
|
|
|
@ -2,10 +2,10 @@ module REXML
|
|||
# Defines a number of tokens used for parsing XML. Not for general
|
||||
# consumption.
|
||||
module XMLTokens
|
||||
NCNAME_STR= '[\w:][\-\w\d.]*'
|
||||
NCNAME_STR= '[\w:][\-\w.]*'
|
||||
NAME_STR= "(?:#{NCNAME_STR}:)?#{NCNAME_STR}"
|
||||
|
||||
NAMECHAR = '[\-\w\d\.:]'
|
||||
NAMECHAR = '[\-\w\.:]'
|
||||
NAME = "([\\w:]#{NAMECHAR}*)"
|
||||
NMTOKEN = "(?:#{NAMECHAR})+"
|
||||
NMTOKENS = "#{NMTOKEN}(\\s+#{NMTOKEN})*"
|
||||
|
|
Loading…
Reference in a new issue