<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/rexml/xpath, branch ruby_2_7</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[ruby/rexml] xpath: add missing value conversions for equality and relational expressions</title>
<updated>2019-08-04T02:55:55+00:00</updated>
<author>
<name>Kouhei Sutou</name>
<email>kou@clear-code.com</email>
</author>
<published>2019-05-25T09:28:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=310a2a98601168aae8c071749b5cb572b55d5046'/>
<id>310a2a98601168aae8c071749b5cb572b55d5046</id>
<content type='text'>
GitHub: fix #18

Reported by Mirko Budszuhn. Thanks!!!

https://github.com/ruby/rexml/commit/0dca2a2ba0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GitHub: fix #18

Reported by Mirko Budszuhn. Thanks!!!

https://github.com/ruby/rexml/commit/0dca2a2ba0
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rexml] xpath: fix a bug for equality or relational expressions</title>
<updated>2019-08-04T02:55:31+00:00</updated>
<author>
<name>Kouhei Sutou</name>
<email>kou@clear-code.com</email>
</author>
<published>2019-05-25T08:06:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6ef82943978ea5816a91c32e9ff822c73d1935f9'/>
<id>6ef82943978ea5816a91c32e9ff822c73d1935f9</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rexml] xpath: fix a bug that no namespace attribute isn't matched with prefix</title>
<updated>2019-08-04T02:54:00+00:00</updated>
<author>
<name>Kouhei Sutou</name>
<email>kou@clear-code.com</email>
</author>
<published>2018-12-30T22:21:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3583fa166c52aff1ac6fab310e9133c553efcc4a'/>
<id>3583fa166c52aff1ac6fab310e9133c553efcc4a</id>
<content type='text'>
[ruby-list:50733]

Reported by Yasuhiro KIMURA. Thanks!!!

https://github.com/ruby/rexml/commit/8f3c5c176a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ruby-list:50733]

Reported by Yasuhiro KIMURA. Thanks!!!

https://github.com/ruby/rexml/commit/8f3c5c176a
</pre>
</div>
</content>
</entry>
<entry>
<title>rexml: disable XPath 1.0 compatible "#{ELEMENT_NAME}" processing by default</title>
<updated>2018-04-28T01:36:18+00:00</updated>
<author>
<name>kou</name>
<email>kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2018-04-28T01:36:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1d67b9de288045192f34595721f0ba28ea22bb3e'/>
<id>1d67b9de288045192f34595721f0ba28ea22bb3e</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>rexml: Fix XPath bug of //#{ELEMENT_NAME}[#{POSITION}]</title>
<updated>2018-04-22T09:38:06+00:00</updated>
<author>
<name>kou</name>
<email>kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2018-04-22T09:38:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7a6f34103de55678241471aef582a5aa24622496'/>
<id>7a6f34103de55678241471aef582a5aa24622496</id>
<content type='text'>
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 "&lt;c1/&gt;" and "&lt;c2/&gt;" with
the following XML.

    &lt;a&gt;
      &lt;b&gt;
        &lt;c1/&gt;
      &lt;/b&gt;
      &lt;b&gt;
        &lt;c2/&gt;
      &lt;/b&gt;
    &lt;/a&gt;

But the previous implementation just returns only "&lt;c1/&gt;".

* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 "&lt;c1/&gt;" and "&lt;c2/&gt;" with
the following XML.

    &lt;a&gt;
      &lt;b&gt;
        &lt;c1/&gt;
      &lt;/b&gt;
      &lt;b&gt;
        &lt;c2/&gt;
      &lt;/b&gt;
    &lt;/a&gt;

But the previous implementation just returns only "&lt;c1/&gt;".

* 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
</pre>
</div>
</content>
</entry>
<entry>
<title>rexml: Fix XPath bug of /#{ELEMENT_NAME}</title>
<updated>2018-04-22T08:09:04+00:00</updated>
<author>
<name>kou</name>
<email>kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2018-04-22T08:09:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4d15e619eb1838daafd1510e86c1c8076fb9b227'/>
<id>4d15e619eb1838daafd1510e86c1c8076fb9b227</id>
<content type='text'>
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

&gt; if the QName does not have a prefix, then the namespace URI is null
&gt; (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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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

&gt; if the QName does not have a prefix, then the namespace URI is null
&gt; (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
</pre>
</div>
</content>
</entry>
<entry>
<title>rexml: Make more readable</title>
<updated>2018-04-21T06:18:08+00:00</updated>
<author>
<name>kou</name>
<email>kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2018-04-21T06:18:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=daec80fe983519e52beb5be8bd779597e2a8c5b2'/>
<id>daec80fe983519e52beb5be8bd779597e2a8c5b2</id>
<content type='text'>
test/rexml/xpath/test_base.rb: Use here document for readability.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
test/rexml/xpath/test_base.rb: Use here document for readability.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>rexml: Fix a XPath bug that white spaces aren't ignored</title>
<updated>2018-04-19T21:34:40+00:00</updated>
<author>
<name>kou</name>
<email>kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2018-04-19T21:34:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9090241e614d3c5b302b713041164e27929f8898'/>
<id>9090241e614d3c5b302b713041164e27929f8898</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>rexml: Fix wrong assertion</title>
<updated>2018-04-19T20:51:07+00:00</updated>
<author>
<name>kou</name>
<email>kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2018-04-19T20:51:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=632e10cad3935ad0152204d21b80b90c4906e753'/>
<id>632e10cad3935ad0152204d21b80b90c4906e753</id>
<content type='text'>
test/rexml/xpath/test_base.rb: Use constant value for the expected value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
test/rexml/xpath/test_base.rb: Use constant value for the expected value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>rexml: Use more debug friendly assertion style</title>
<updated>2018-04-19T20:49:53+00:00</updated>
<author>
<name>kou</name>
<email>kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2018-04-19T20:49:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8257fcb1dbe7693f1a4e7dee47a0b35d1c62e270'/>
<id>8257fcb1dbe7693f1a4e7dee47a0b35d1c62e270</id>
<content type='text'>
test/rexml/xpath/test_base.rb: Expand loop assertion and stop to checking
just the first value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
test/rexml/xpath/test_base.rb: Expand loop assertion and stop to checking
just the first value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
