aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rexml
Commit message (Collapse)AuthorAgeFilesLines
* [ruby/rexml] gemspec: updateSutou Kouhei2019-08-041-1/+0
| | | | https://github.com/ruby/rexml/commit/404bd99a7c
* [ruby/rexml] xpath: add missing value conversions for equality and ↵Kouhei Sutou2019-08-041-20/+39
| | | | | | | | | | relational expressions GitHub: fix #18 Reported by Mirko Budszuhn. Thanks!!! https://github.com/ruby/rexml/commit/0dca2a2ba0
* [ruby/rexml] xpath number: fix a bug that false is converted to NaNKouhei Sutou2019-08-041-10/+7
| | | | | | | | | | GitHub: fix #18 It must be 0. Reported by Mirko Budszuhn. Thanks!!! https://github.com/ruby/rexml/commit/b48f3afa3b
* [ruby/rexml] xpath local_name: fix a bug that nil is returned for ↵Kouhei Sutou2019-08-041-2/+3
| | | | | | | | nonexistent case It must be an empty string. https://github.com/ruby/rexml/commit/81bc7cd4f5
* [ruby/rexml] xpath boolean: implementKouhei Sutou2019-08-041-11/+16
| | | | https://github.com/ruby/rexml/commit/feb8ddb1ec
* [ruby/rexml] xpath: fix a bug for equality or relational expressionsKouhei Sutou2019-08-042-110/+86
| | | | | | | | | | | GitHub: fix #17 There is a bug when they are used against node set. They should return boolean value but they returned node set. Reported by Mirko Budszuhn. Thanks!!! https://github.com/ruby/rexml/commit/a02bf38440
* [ruby/rexml] Use PPKouhei Sutou2019-08-041-1/+6
| | | | https://github.com/ruby/rexml/commit/185062a4a4
* [ruby/rexml] xpath: add support for changing to debug mode by environment ↵Kouhei Sutou2019-08-041-16/+19
| | | | | | variable https://github.com/ruby/rexml/commit/59378a16ea
* [ruby/rexml] Bump versionKouhei Sutou2019-08-041-1/+1
| | | | https://github.com/ruby/rexml/commit/54452c103a
* [ruby/rexml] Message less confusing error to human (#16)ujihisa2019-08-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | * Message less confusing error to human * Problem: Following error message is not helpful, because you have to reason that '' actually means it's in the top-level, and the 'div' (not '</div>') is an end tag require "rexml/parsers/lightparser" REXML::Parsers::LightParser.new('</div>').parse #=> Missing end tag for '' (got 'div') * Solution: add a special case in error handling just to change the error message require "rexml/parsers/lightparser" REXML::Parsers::LightParser.new('</div>').parse #=> Unexpected top-level end tag (got 'div') * Refactor by removing unnecessary `md` check * Thanks @a_matsuda to review this at asakusa.rb! https://github.com/ruby/rexml/commit/f6528d4477
* [ruby/rexml] Fix crash with nil XPath variables (#13)Alyssa Ross2019-08-041-4/+1
| | | | | Patch by Alyssa Ross. Thanks!!! https://github.com/ruby/rexml/commit/2a53c54f58
* [ruby/rexml] use #inspect to print meta-characters in error messagesFUJI Goro (gfx)2019-08-041-4/+4
| | | | https://github.com/ruby/rexml/commit/a124a19b9a
* [ruby/rexml] Bump versionKouhei Sutou2019-08-041-1/+1
| | | | https://github.com/ruby/rexml/commit/c0e3f14564
* [ruby/rexml] Fix attribute's default namespace behaviorKouhei Sutou2019-08-043-21/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: It's a backward incompatible change. If we have any serious problems with this change, we may revert this change. The XML namespace specification says the default namespace doesn't apply to attribute names but it does in REXML without this change: https://www.w3.org/TR/xml-names/#uniqAttrs > the default namespace does not apply to attribute names REXML reports a parse error for the following XML that is described as a valid XML in the XML nsmaspace specification without this change: <!-- http://www.w3.org is bound to n1 and is the default --> <x xmlns:n1="http://www.w3.org" xmlns="http://www.w3.org" > <good a="1" b="2" /> <good a="1" n1:a="2" /> </x> If attribute doesn't have prefix, the attribute should return "" for both #prefix and #namespace. https://github.com/ruby/rexml/commit/9e4fd552bc
* [ruby/rexml] FormatKouhei Sutou2019-08-041-10/+12
| | | | https://github.com/ruby/rexml/commit/2384586811
* [ruby/rexml] Revert "xpath: remove needless nil check"Kouhei Sutou2019-08-041-2/+6
| | | | | | | | This reverts commit 61b73c1bf8dc64d97fba7f0a8c503c24b11313f5. "*:local_name" becomes prefix=nil. https://github.com/ruby/rexml/commit/9e7dd4cd4e
* [ruby/rexml] xpath: remove needless nil checkKouhei Sutou2019-08-041-6/+2
| | | | | | It must not be nil. https://github.com/ruby/rexml/commit/61b73c1bf8
* [ruby/rexml] Add a TODO for Attribute#namespaceKouhei Sutou2019-08-041-0/+14
| | | | https://github.com/ruby/rexml/commit/70310a06e5
* [ruby/rexml] xpath: fix a bug that no namespace attribute isn't matched with ↵Kouhei Sutou2019-08-041-1/+5
| | | | | | | | | | prefix [ruby-list:50733] Reported by Yasuhiro KIMURA. Thanks!!! https://github.com/ruby/rexml/commit/8f3c5c176a
* [ruby/rexml] Bump versionKouhei Sutou2019-08-041-1/+1
| | | | https://github.com/ruby/rexml/commit/0f79e71210
* [DOC] Fix close tags [ci skip]kazu2019-01-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Import REXML 3.1.9kou2018-12-253-1/+6
| | | | | | | | It restores removed REXML::Parsers::BaseParser::UNQME_STR. Because it's used by kramdown. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: upgrade to 3.1.8kou2018-12-2011-139/+286
| | | | | | | | | See https://github.com/ruby/rexml/blob/master/NEWS.md for change summary. Changes for spec/ has been reported: https://github.com/ruby/spec/pull/639 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/*: Prefer require_relative over require.marcandre2018-11-0239-100/+100
| | | | | | [#15206] [Fix GH-1976] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* default gems: add missing comment in gemspecstomar2018-10-121-0/+1
| | | | | | | | | | | | | * lib/csv/csv.gemspec: [DOC] add comment for require fallback in Ruby repository. * lib/logger.gemspec: ditto. * lib/prime.gemspec: ditto. * lib/rexml/rexml.gemspec: ditto. * lib/rss/rss.gemspec: ditto. * lib/webrick/webrick.gemspec: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fallback to load version constant for ruby core repository.hsbt2018-08-071-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fixed wrong require pathhsbt2018-06-021-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Promote REXML to default gems.hsbt2018-06-021-0/+37
| | | | | | * upstream repostiory is https://github.com/ruby/rexml git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Suppress warningskou2018-05-011-5/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: disable XPath 1.0 compatible "#{ELEMENT_NAME}" processing by defaultkou2018-04-282-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | It breaks backward compatibility than I thought. So it's disabled by default. It means that REXML's XPath processor isn't compatible with XPath 1.0. But it will be acceptable for users. We can enable it by specifying "strict: true" to REXML::XPathParser.new explicitly. * lib/rexml/xpath.rb, lib/rexml/xpath_parser.rb: Accept "strict: true" option. * test/rexml/test_contrib.rb, test/rexml/xpath/test_base.rb: Use not XPath 1.0 compatible behavior. * test/rexml/test_jaxen.rb: Use XPath 1.0 compatible behavior. * test/rss/test_1.0.rb, test/rss/test_dublincore.rb, spec/ruby/library/rexml/element/namespace_spec.rb, spec/ruby/library/rexml/element/namespaces_spec.rb, spec/ruby/library/rexml/element/prefixes_spec.rb: Enable again. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Fix XPath bug of //#{ELEMENT_NAME}[#{POSITION}]kou2018-04-223-321/+497
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The position should be counted for each nodeset but the previous implementation counts position for union-ed nodeset. For example, "/a/*/*[1]" should be matched to "<c1/>" and "<c2/>" with the following XML. <a> <b> <c1/> </b> <b> <c2/> </b> </a> But the previous implementation just returns only "<c1/>". * lib/rexml/element.rb (REXML::Attributes#each_attribute): Support Enumerator for no block use. * lib/rexml/element.rb (REXML::Attributes#each): Support Enumerator for no block use. * lib/rexml/functions.rb (REXML::Functions.string): Support NaN again. * lib/rexml/xpath_parser.rb: Re-implement "Step" evaluator. It should evaluate "AxisSpecifier", "NodeTest" and "Predicate" in one step to respect position for each nodeset. * test/rexml/test_jaxen.rb: Enable more tests. Remained tests should be also enabled but it'll not be near future. * test/rexml/xpath/test_base.rb: Fix expected value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Fix XPath bug of /#{ELEMENT_NAME}kou2018-04-222-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It doesn't mean that all elements which name "ELEMENT_NAME" with any namespace URI including null namespace URI. It means that all elements which name "ELEMENT_NAME" with null namespace URI. https://www.w3.org/TR/1999/REC-xpath-19991116/#NT-NodeTest > if the QName does not have a prefix, then the namespace URI is null > (this is the same way attribute names are expanded). We need to use "*[local-name()='#{ELEMENT_NAME}']" for all elements which name "ELEMENT_NAME" with any namespace URI including null namespace URI in XPath 1.0. But it's inconvenient. So this change includes "*:#{LOCAL_NAME}" syntax support that is introduced since XPath 2.0. * lib/rexml/parsers/xpathparser.rb: Support "*:#{LOCAL_NAME}" syntax that is introduced since XPath 2.0. * lib/rexml/xpath_parser.rb: * Fix namespace URI processing for "#{ELEMENT_NAME}". Now, "#{ELEMENT_NAME}" doesn't accept elements with null namespace URI. * Add "*:#{LOCAL_NAME}" support. * test/rexml/test_contrib.rb, test/rexml/test_core.rb, test/rexml/xpath/test_base.rb: Follow this change. * test/rexml/test_jaxen.rb: Fix namespace processing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Fix XPath concat() implementationkou2018-04-211-2/+5
| | | | | | | | | * lib/rexml/functions.rb (REXML::Functions.concat): Implement. * test/rexml/test_jaxen.rb: Enable one more test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Fix XPath string() implementationkou2018-04-211-9/+24
| | | | | | | | | | | | | * lib/rexml/functions.rb( REXML::Functions.string): * Support context node. * Fix implementation for document node to remove out of root nodes. * Support processing instruction node. * Improve implementation for integer to omit decimals. * test/rexml/test_jaxen.rb: Enable processing instruction test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Fix a XPath bug that white spaces aren't ignoredkou2018-04-191-22/+29
| | | | | | | | | | | lib/rexml/parsers/xpathparser.rb: Ignore white spaces in relative location path. test/rexml/xpath/test_base.rb: Add more test patterns and use more debug friendly assertion style. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Fix a XPath bug of -kou2018-04-091-2/+2
| | | | | | | | | | [Bug #14600] * lib/rexml/parsers/xpathparser.rb: Fix a bug that "N-M" requires a space before "-". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Fix a XPath bug of /child::node()kou2018-04-041-1/+13
| | | | | | | | | | | | [Bug #14600] * lib/rexml/xpath_parser.rb: Fix a bug that "/child::node()" returns XML declaration and text nodes out of root element. * test/rexml/test_jaxen.rb: Enable more tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Add codes for debugging XPath logickou2018-04-041-0/+26
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Fix a XPath bug of function()/pathkou2018-04-041-1/+3
| | | | | | | | | | [Bug #14600] * lib/rexml/functions.rb: Fix a bug that "function()/path" always returns nothing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Fix a XPath bug of @attribute/parentkou2018-04-041-2/+10
| | | | | | | | | | | | [Bug #14600] * lib/rexml/functions.rb: Fix a bug that "@attribute/parent" doesn't return element of its attribute. * test/rexml/test_jaxen.rb: Enable more tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Fix a XPath bug of $variablekou2018-04-041-1/+1
| | | | | | | | | | [Bug #14600] * lib/rexml/functions.rb: Fix a bug that "$variable" returns node instead of ndoe set. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Fix a XPath bug of name(node-set)kou2018-04-031-2/+6
| | | | | | | | | | | | [Bug #14600] * lib/rexml/functions.rb: Fix a bug that "name(node-set)" returns element instead of element name. * test/rexml/test_jaxen.rb: Enable more tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Start re-enabling Jaxen testskou2018-04-011-1/+2
| | | | | | | | | | | | | [Bug #14600] Reported by MSP-Greg. Thanks!!! * lib/rexml/xpath_parser.rb: Fix a bug that "following_siblings::*[N]" doesn't work. * test/rexml/test_jaxen.rb: Enable only axis test for now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add uplevel keyword to Kernel#warn and use itshyouhei2017-12-126-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If uplevel keyword is given, the warning message is prepended with caller file and line information and the string "warning: ". The use of the uplevel keyword makes Kernel#warn format output similar to how rb_warn formats output. This patch modifies net/ftp and net/imap to use Kernel#warn instead of $stderr.puts or $stderr.printf, since they are used for printing warnings. This makes lib/cgi/core and tempfile use $stderr.puts instead of warn for debug logging, since they are used for debug printing and not for warning. This does not modify bundler, rubygems, or rdoc, as those are maintained outside of ruby and probably wish to remain backwards compatible with older ruby versions. rb_warn_m code is originally from nobu, but I've changed it so that it only includes the path and lineno from uplevel (not the method), and also prepends the string "warning: ", to make it more similar to rb_warn. From: Jeremy Evans code@jeremyevans.net Signed-off-by: Urabe Shyouhei shyouhei@ruby-lang.org git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: improve docsstomar2017-11-021-2/+1
| | | | | | | * lib/rexml/entity.rb: [DOC] drop a pointless comment. Reported by Michael Gee (mikegee). [Fix GH-1736] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix documentation of REXML::Formatters::Default (id_hack -> ie_hack) [ci skip]duerst2017-08-141-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* REXML: Fix a bug that unexpected methods can be called as a XPath functionkou2017-08-131-3/+26
| | | | | | | | | [HackerOne:249295] Reported by Andrea Jegher. Thanks!!! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: Remove needless documentkou2017-07-281-2/+0
| | | | | | | | | [Fix GH-1671] Patch by madblobfish. Thanks!!! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: add close tag check on end of document to StreamParserkou2017-06-071-0/+8
| | | | | | | | | [ruby-core:81593] [Bug #13636] Reported by Anton Sivakov. Thanks!!! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rexml: REXML::Element#[] accepts String or Symbol as attribute namekou2016-12-061-0/+24
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e