1
0
Fork 0
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:
naruse 2010-04-05 21:08:12 +00:00
parent 34fb945348
commit 40bc864003
5 changed files with 22 additions and 15 deletions

View file

@ -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

View file

@ -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})*"

View file

@ -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

View file

@ -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?

View file

@ -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})*"