Граф коммитов

191 Коммитов

Автор SHA1 Сообщение Дата
nobu 5aa9eb4616 elementdecl.rb: suppress warnings
* lib/rexml/dtd/elementdecl.rb (PATTERN_RE): comment out overridden
  constant, and '_' is included in '\w'.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-23 00:00:38 +00:00
nagachika 2e8f953d68 * lib/rexml/document.rb: add REXML::Document#document.
reported by Tomas Hoger <thoger@redhat.com> and patched by nahi.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-13 13:29:50 +00:00
usa 9cdd297a29 * lib/rexml/entity.rb: keep the entity size within the limitation.
reported by Willis Vandevanter <will@silentrobots.com> and
  patched by nahi.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-27 11:18:02 +00:00
kou 93647e81a6 * lib/rexml/source.rb (REXML::IOSource#encoding_updated): Fix a
bug that can't parse XML correctly when
  Encoding.default_internal is different with XML
  encoding. REXML::Source converts XML encoding on read. So IO
  should not convert XML encoding.
  Based on patch by NAKAMURA Usaku.
  [ruby-dev:48686] [Bug #10418]

* test/rexml/test_encoding.rb
  (REXMLTests::EncodingTester#test_parse_utf16_with_utf8_default_internal):
  Add the for the above case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 08:23:10 +00:00
hsbt be1206c0ac * lib/rexml/**/*.rb: removed commented-out code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-21 03:10:27 +00:00
hsbt 448c87008e * lib/cgi/core.rb: remove unused variables.
* lib/erb.rb: ditto.
* lib/mkmf.rb: ditto.
* lib/net/http/response.rb: ditto.
* lib/optparse/version.rb: ditto.
* lib/prime.rb: ditto.
* lib/racc/parser.rb: ditto.
* lib/rexml/document.rb: ditto.
* lib/rexml/dtd/dtd.rb: ditto.
* lib/rexml/element.rb: ditto.
* lib/rexml/functions.rb: ditto.
* lib/rexml/parsers/xpathparser.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-27 11:04:28 +00:00
kou ba5ed845b3 * lib/rexml/xmltokens.rb: Add missing non ASCII valid characters
to element name characters. Now, REXML name tokens exactly
  match "[5] Name" in the XML spec and "[4] NCName" in the
  Namespaces in XML spec. See comment about the details.
  [Bug #9539]  [ruby-core:60901]
  Reported by Mario Barcala. Thanks!!!

* test/rexml/xpath/test_node.rb: Add tests for the above case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-23 09:01:32 +00:00
kou 1513550611 * lib/rexml/xpath_parser.rb: Fix indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-22 14:17:27 +00:00
hsbt 690be750cb * lib/cgi/html.rb: fix typo by @windwiny [fix GH-506]
*  lib/net/http.rb: ditto
*  lib/rexml/attribute.rb: ditto
*  lib/rexml/element.rb: ditto
*  lib/rexml/source.rb: ditto
*  lib/rexml/streamlistener.rb: ditto
*  lib/rss/xmlparser.rb: ditto
*  lib/rubygems/commands/generate_index_command.rb: ditto
*  lib/shell.rb: ditto
*  lib/uri/common.rb:ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-19 05:43:26 +00:00
a_matsuda 6bd1988668 * lib/rexml/entity.rb: [DOC] Fix typo
s/matchs/matches/
[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-19 07:58:36 +00:00
kou a66a9fbb10 * lib/rexml/parsers/ultralightparser.rb
(REXML::Parsers::UltraLightParser#parse): Fix wrong :start_doctype
  position.
  [Bug #9061] [ruby-dev:47778]
  Patch by Ippei Obayashi. Thanks!!!

* test/rexml/parser/test_ultra_light.rb: Add a test for this case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-16 09:31:24 +00:00
kou 128d3e7817 * lib/rexml/parsers/streamparser.rb: Add dependency file require.
[Bug #9062] [ruby-dev:47779]
  Reported by Ippei Obayashi. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-31 12:50:49 +00:00
kou 73c57761a9 * lib/rexml/parsers/treeparser.rb (REXML::Parsers::TreeParser#parse):
Add source information to parse exception on no close tag error.
  [Bug #8844]  [ruby-dev:47672]
  Patch by Ippei Obayashi. Thanks!!!
* test/rexml/parser/test_tree.rb: Add a test for the above case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-03 14:01:20 +00:00
kou a0657cd5d7 * lib/rexml/parsers/treeparser.rb (REXML::Parsers::TreeParser#parse):
Remove needless nested parse exception information.
  [Bug #8844]  [ruby-dev:47672]
  Reported by Ippei Obayashi. Thanks!!!
* test/rexml/parser/test_tree.rb: Add a test for the above case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-03 13:57:18 +00:00
kou 45222164dc * lib/rexml/sax2listener.rb (REXML::SAX2Listener#notationdecl): Fix
wrong number of arguments in the template listener.
  [Bug #8731] [ruby-dev:47582]
  Reported by Ippei Obayashi.
* test/rexml/parser/test_sax2.rb: Add tests for parsing notation
  declarations with SAX2 API.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11 10:08:05 +00:00
kou 1864d57843 * lib/rexml/sax2listener.rb (REXML::SAX2Listener#elementdecl): Fix wrong
examples. [Bug #8731] [ruby-dev:47582]
  Reported by Ippei Obayashi.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11 09:44:42 +00:00
kou 8328d8a2b7 * lib/rexml/parsers/sax2parser.rb
(REXML::Parsers::SAX2Parser#handle_entitydecl): Extract.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11 09:42:37 +00:00
kou 7e0022bc8e * lib/rexml/parsers/sax2parser.rb (REXML::Parsers::SAX2Parser#parse):
Fix wrong "%" position in parameter entity declaration event argument.
* test/rexml/parser/test_sax2.rb: Add tests for the above case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11 09:41:29 +00:00
kou f61f11a936 * lib/rexml/parsers/sax2parser.rb (REXML::Parsers::SAX2Parser#parse):
Support NDATA in external entity declaration.
* test/rexml/parser/test_sax2.rb: Add tests for the above case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11 09:09:25 +00:00
kou 3e5f5f5ca4 * lib/rexml/parsers/baseparser.rb
(REXML::Parsers::BaseParser#pull_event): Support optional NDATA
  in parameter entity declaration.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11 09:08:21 +00:00
kou ce89dedde3 * NEWS (REXML::Parsers::SAX2Parser): Add about this change.
* lib/rexml/parsers/sax2parser.rb (REXML::Parsers::SAX2Parser#parse):
  Fix wrong number of arguments. Document says "an array of the
  entity declaration" but it passes two or more arguments.
  This is a bug but it break backward compatibility.
  Reported by Ippei Obayashi. [Bug #8731] [ruby-dev:47582]
* lib/rexml/sax2listener.rb (REXML::SAX2Listener#entitydecl): ditto.
  The listener template accepted two arguments.
* test/rexml/parser/test_sax2.rb: Add tests for external ID case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11 09:01:41 +00:00
kou 90749b1f2a * lib/rexml/parsers/baseparser.rb
(REXML::Parsers::BaseParser::CDATA_END): Use "\A" instead of "^".
  It is not an used constant but I fix it. (Or shuold I remove it?)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-10 03:51:30 +00:00
kou 265c2f8eb8 * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser):
Fix wrong constant name. "]>" pattern match is the same but
  it is used for "<!DOCTYPE" end mark not "<![CDATA[" end mark.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-10 03:48:30 +00:00
kou 43b082d90c * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser):
Use "\A" instead of "^" in document type declaration patterns
  because they are used as the head match in content not the head
  match in line. They don't cause any problems in the current code
  but it should be fixed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-10 03:46:43 +00:00
kou 6b2c0ca25d * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::SYSTEM):
Fix loose "head" match regular expression. It doesn't cause any
  problem in the current code but it should be fixed because readers
  may confuse it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-10 03:01:56 +00:00
kou 6d18dd8e4d * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::PUBLIC):
Fix loose "head" match regular expression.
  [Bug #8701] [ruby-dev:47551]
  Patch by Ippei Obayashi. Thanks!!!
* test/rexml/parse/test_notation_declaration.rb (#test_system_public):
  Add a test for the above case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-10 02:34:06 +00:00
zzak e730b1aa73 * lib/rexml/attribute.rb: [DOC] Update example for #namespace
Patch by Ippei Obayashi [Bug #8685] [ruby-core:56173]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-04 18:37:46 +00:00
kou 75a138732e * lib/rexml/parsers/streamparser.rb
(REXML::Parsers::StreamParser#parse): Add "entity" event support to
  listener. [Bug #8689] [ruby-dev:47542]
  Reported by Ippei Obayashi.
* test/rexml/test_stream.rb (StreamTester#entity): Add a test for
  the above case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-26 14:17:24 +00:00
zzak d4314719d4 * lib/rexml/streamlistener.rb: [DOC] Fix examples in
REXML::StreamListener#entitydecl patch by Ippei Obayashi [Bug #8665]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-22 23:15:15 +00:00
kou 0e1cb279ea * lib/rexml/text.rb (REXML::Text#<<): Support appending in not
"raw" mode. [Bug #8602] [ruby-dev:47482]
  Reported by Ippei Obayashi. Thanks!!!
* test/rexml/test_text.rb (TextTester#test_shift_operator_cache):
  Add a test for the above case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-07 02:50:38 +00:00
kou fbaec78eb3 * lib/rexml/text.rb (REXML::Text#<<): Support method chain use by "<<"
like other objects.
* test/rexml/test_text.rb (TextTester#test_shift_operator_chain):
  Add a test for the above case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-07 02:48:35 +00:00
kou afbc25c404 * lib/rexml/text.rb (REXML::Text#clear_cache): Extract common
cache clear code.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-07 02:35:13 +00:00
kou 4e44eeaeb1 * lib/rexml/text.rb (REXML::Text.normalize): Fix a bug that all
entity filters are ignored. [ruby-dev:47278] [Bug #8302]
  Patch by Ippei Obayashi. Thanks!!!
* test/rexml/test_entity.rb (EntityTester#test_entity_filter): Add
  a test of the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 14:36:30 +00:00
kou 562648e48c * lib/rexml/element.rb (REXML::Attributes#to_a): Support
namespaced attributes. [ruby-dev:47277] [Bug #8301]
  Patch by Ippei Obayashi. Thanks!!!
* test/rexml/test_attributes.rb
  (AttributesTester#test_to_a_with_namespaces): Add a test of the
  above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 13:56:34 +00:00
duerst e5ce9579ec lib/rexml/document.rb, lib/rexml/element.rb,
lib/rexml/formatters/pretty.rb: remove opinionated
language in documentation. [Bug #8309],
reported by Charles Beckmann

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-23 08:41:56 +00:00
kou 3b6d093451 * lib/rexml/security.rb (REXML::Security): create.
* lib/rexml/rexml.rb: move entity_expansion_limit and
  entity_expansion_text_limit accessors to ...
* lib/rexml/security.rb: ... here.
* lib/rexml/document.rb: use REXML::Security.
* lib/rexml/text.rb: use REXML::Security.
* test/rexml/test_document.rb: use REXML::Security.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-27 12:24:31 +00:00
kou b972878978 * lib/rexml/document.rb: move entity_expansion_limit accessor to ...
* lib/rexml/rexml.rb: ... here for consistency.
* lib/rexml/document.rb (REXML::Document.entity_expansion_limit):
  deprecated.
* lib/rexml/document.rb (REXML::Document.entity_expansion_limit=):
  deprecated.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-26 14:34:01 +00:00
kou ea2e083a1d * lib/rexml/document.rb: move entity_expansion_limit accessor to ...
* lib/rexml/rexml.rb: ... here to make rexml/text independent from
  REXML::Document. It causes circular require.
* lib/rexml/document.rb (REXML::Document.entity_expansion_limit):
  deprecated.
* lib/rexml/document.rb (REXML::Document.entity_expansion_limit=):
  deprecated.
* lib/rexml/text.rb: add missing require "rexml/rexml" for
  REXML.entity_expansion_limit.
  Reported by Robert Ulejczyk. Thanks!!! [ruby-core:52895] [Bug #7961]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-26 14:30:40 +00:00
nagachika a0afa57ea4 * lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit):
fix a typo in comment in r39384.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-22 14:50:03 +00:00
usa 1ad9075734 * lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit):
new attribute to read/write entity expansion text limit.  the default
  limit is 10Kb.

* lib/rexml/text.rb (REXML::Text.unnormalize): check above attribute.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-22 09:35:46 +00:00
kou 1fe680e812 * lib/rexml/element.rb (REXML::Elements#add): Remove too much
"elements" in document. Sorry...


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-03 08:48:22 +00:00
kou ece67a0a12 * lib/rexml/element.rb (REXML::Elements#each): Add missing
"elements" in document. [ruby-talk:402713]
  Reported by Wesley Rishel. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-03 08:44:09 +00:00
naruse 58ef0f06c6 * ruby.c (load_file_internal): set default source encoding as
UTF-8 instead of US-ASCII. [ruby-core:46021] [Feature #6679]

* parse.y (parser_initialize): set default parser encoding as
  UTF-8 instead of US-ASCII.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-06 00:49:57 +00:00
kou 6bc138b052 * lib/rexml/xmldecl.rb (REXML::XMLDecl#content): Add missing \A
and \z.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 05:44:31 +00:00
kou 04f41f019a * lib/rexml/output.rb (REXML::Output#initialize): Use normalized
encoding name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 05:43:28 +00:00
kou ac9a8ac624 * lib/rexml/output.rb (REXML::Output): Don't output BOM in middle
of the output string.
* test/rexml/test_document.rb: Add a test for the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 05:42:40 +00:00
kou bdbc8c5b74 Revert r37439 and r37441
r37439:
	* lib/rexml/xmldecl.rb (REXML::XMLDecl): Stop using REXML::Encoding
	  module because XMLDecl doesn't convert encoding. This causes
	  removing XML encoding name normalization (encoding.upcase).
	  Encoding name in XML declaration is what user specifies.
	  I think this is reasonable change.
	* test/rexml/test_xml_declaration.rb: Add tests for the above change.

r37441:
	* test/rexml/test_core.rb (Tester#test_ticket_88): Follow the
	  change that encoding name in XML declaration isn't normalized.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 04:46:06 +00:00
kou 3f817764e2 * lib/rexml/document.rb (REXML::Document#write): Document encoding
option. Now different encoding between XML file's encoding and
  XML declaration's encodiong is support.
  [Feature #4872] (work in progress)
* lib/rexml/xmldecl.rb (REXML::XMLDecl#write): Always use XMLDecl's
  encoding.
* test/rexml/test_document.rb: Update tests for the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 03:53:09 +00:00
kou 69eedf6a18 * lib/rexml/xmldecl.rb (REXML::XMLDecl): Stop using REXML::Encoding
module because XMLDecl doesn't convert encoding. This causes
  removing XML encoding name normalization (encoding.upcase).
  Encoding name in XML declaration is what user specifies.
  I think this is reasonable change.
* test/rexml/test_xml_declaration.rb: Add tests for the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-03 03:41:26 +00:00
kou 718813ca9b * lib/rexml/source.rb: Move encoding detection code to base class.
* lib/rexml/encoding.rb: Remove needless encoding detection code.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 14:52:21 +00:00