rexml: add close tag check on end of document to StreamParser
[ruby-core:81593] [Bug #13636]
Reported by Anton Sivakov. Thanks!!!
* properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_3@59239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
When you change this to true, you may need to add more tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(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
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
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
* 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
(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
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
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
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
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
(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
for UTF-16XX encoded XML that doesn't have encoding="UTF-16" in
XML declration.
* test/rexml/test_document.rb: Add tests for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
@line_break initialize code. It should be done only in #encoding=.
* lib/rexml/parsers/baseparser.rb: Don't set UTF-16 encoding to
source by encoding="UTF-16" in XML declaration because UTF-16XX
source encoding should be set in Source#initialize or
IOSource#intialize. They should handle BOM. Parser should not
consider about it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
fix the default xml namespace URI validation.
Reported by Miho Hiramatsu. Thanks!!!
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
method name. This is Ruby code not Python code.
refs #5696
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
instance_eval unnecessarily on listener add.
patch from Charles Nutter. [Bug #5696] [ruby-core:41437]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
allow a single hyphen in comment. [Bug 5278]
Reported by Thomas Fritzsche. Thanks!!!
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
a String which means the name of the encoding.
this partially revert r29646.
* lib/rexml/document.rb: follow above.
* lib/rexml/output.rb: ditto.
* lib/rexml/parsers/baseparser.rb: ditto.
* lib/rexml/source.rb: ditto.
* lib/rexml/xmldecl.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
any number spaces can be placed between equal-sign and the value.
patch from Ed Howland in [ruby-core:27345].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
r1483@bean: ser | 2008-01-19 14:47:23 -0500
Sam's fixes:
* Don't blow up on empty documents
* Add a test case for sorted attributes
* Making the output predictable simplifies unit tests, and doesn't cost
much given that most xml element have few attributes
* Ruby 1.9 revision 14922 is more strict
* Complete Ticket #134
* Fix for ticket #121
* Fix for ticket #124
* Fix for ticket #128
* Fix ticket #133
* Ticket #131 (Support Ruby 1.9)
* Fix for ticket #127
* Fix for ticket #123
* Add missing data needed by test case
r1481@bean (orig r1303): ser | 2008-01-19 17:22:32 -0500
Tagged for release
r1482@bean (orig r1304): ser | 2008-01-19 17:27:10 -0500
Version bump
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Missing include for UndefinedNamespaceException was causing errors in some
cases.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
r1352@bean: ser | 2007-07-29 11:33:07 -0400
Implements namespace validation in the baseparser. This means that, as per
the XML namespace spec, unbound prefixes generate UndefinedNamespaceException.
Also, as per the namespace spec, the 'xml' prefix must be bound to
http://www.w3.org/XML/1998/namespace, and the 'xmlns' prefix must not be declared.
in the XML.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
http://www.germane-software.com/repos/rexml/tags/3.1.7
r1278@bean: ser | 2007-06-07 00:53:06 -0400
Fixed a double-encoding bug. This was a regression, related
to ticket:48.
r1292@bean: ser | 2007-07-25 08:19:36 -0400
r1279@bean: ser | 2007-06-09 23:19:02 -0400
Fixes ticket:89 -- encoding CP-1252 was broken. ISO-8859-15 had the same
problem.
Also in this patch is a fix to merge.rb (unused, but it should at least
contain no errors), and a unit test for ticket:88.
r1293@bean: ser | 2007-07-25 08:19:37 -0400
r1281@bean: ser | 2007-07-24 11:08:48 -0400
Addresses ticket:85
This is a major rewrite of the XML formatting code. The XML writers have all
been extracted out of the classes and put into their own class containers.
This makes writing parsers easier, and cleaner.
There are three formatters, which correspond to the previous three XML writing
modes:
REXML::Formatters::Default
Prints the XML document exactly as it was parsed
REXML::Formatters::Pretty
Pretty prints the XML document, destroying whitespace in the document
REXML::Formatters::Transitive
Pretty prints the XML document, preserving whitespace
All of the write() functions have been deprecated (some are still used, but
these will also go away) except the write() function on Document, which is left
for convenience. To pretty print an XML document the canonical way:
formatter = REXML::Formatters::Pretty.new( 5 ) # indent by 5 spaces
formatter.write( document, output )
r1294@bean: ser | 2007-07-25 08:19:38 -0400
r1283@bean: ser | 2007-07-24 19:53:30 -0400
This goes with the previous commit.
r1295@bean: ser | 2007-07-25 08:19:39 -0400
r1285@bean: ser | 2007-07-24 20:02:07 -0400
And THIS goes with the previous two patches. Dammit.
r1296@bean: ser | 2007-07-25 08:19:40 -0400
r1287@bean: ser | 2007-07-24 20:12:25 -0400
Applied patch from Jeff Barczewski. Note that this changes what the values of
the name and IDs are from the previous behavior -- the values no longer include
the quotes. This is the correct behavior, so I'm leaving it in, but it is not
backwards compatible. Also fixes the serializer so that it outputs the doctype
in a correct format (needed as a result of this change).
r1297@bean: ser | 2007-07-25 08:38:38 -0400
Version update
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Fixes ticket:68.
NOTE that this involves an API change! Entity declarations in the doctype
now generate events that carry two, not one, arguments.
Implements ticket:15, using gwrite's suggestion. This allows Element to be
subclassed.
Two unrelated changes, because subversion is retarded and doesn't do
block-level commits:
1) Fixed a typo bug in previous change for ticket:15
2) Fixed namespaces handling in XPath and element.
***** Note that this is an API change!!! *****
Element.namespaces() now returns a hash of namespace mappings which are
relevant for that node.
Fixes a bug in multiple decodings
The changeset 1230:1231 was bad. The default behavior is *not* to use the
native REXML encodings by default, but rather to use ICONV by default. I know
that this will piss some people off, but defaulting to the pure Ruby version
isn't the correct solution, and it breaks other encodings, so I've reverted it.
* Fixes ticket:61 (xpath_parser)
* Fixes ticket:63 (UTF-16; UNILE decoding was bad)
* Cleans up some tests, removing opportunities for test corruption
* Improves parsing error messages a little
* Adds the ability to override the encoding detection in Source construction
* Fixes an edge case in Functions::string, where document nodes weren't
correctly converted
* Fixes Functions::string() for Element and Document nodes
* Fixes some problems in entity handling
Addresses ticket:66
Fixes ticket:71
Addresses ticket:78
NOTE: that this also fixes what is technically another bug in REXML. REXML's
XPath parser used to allow exponential notation in numbers. The XPath spec
is specific about what a number is, and scientific notation is not included.
Therefore, this has been fixed.
Cross-ported a fix for ticket:88 from CVS.
Fixes ticket:80
Documentation cleanup. Ticket:84
Applied Kou's fix for an un-trac'ed bug.
------------------------------------------------------------------------
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e