📄 changes
字号:
- Fixed miscellaneous bugs in xmlfilter. - In the default external entity handler, prepend the base only for relative URLs. - Chris Nandor <pudge@pobox.com> provided patches for building on Macintosh. - As suggested by Matt Sergeant <Matthew.Sergeant@eml.ericsson.se>, added the finish method to Expat. - Matt also provided a fix to a bug he discovered in the Streams style. - Fixed a parse position bug reported by Enno Derksen <enno@att.com> that was affecting both original_string and position_in_context. - Fixed a gross memory leak reported by David Megginson, <david@megginson.com>: there was a circular reference to the Expat object and the internal end handler for context was not freeing element names after they were removed from the context stack. - Now using expat Version 19990109 (Plus any patches in Expat/expat.patches) - Added is_defaulted method to Expat to tell if an attribute was defaulted. (Requested by Enno Derksen for XML::DOM.) - Matt Sergeant <Matthew.Sergeant@eml.ericcson.se> reported that the XML::Parser parse methods weren't propagating array context to the Final handler. Now they are. - Fixed more memory leaks (again reported by David Megginson). The SVs pointing to the handlers weren't being reclaimed when the callback vector was freed. - Added the element_index method to Expat.2.19 Sun Jan 3 11:23:45 EST 1999 - When the recognized string is long enough, expat uses multiple calls to reportDefault. Fixed recString handler in Expat.xs to deal with this properly. - Added original_string method to Expat. This returns the untranslated string (i.e. original encoding) that caused current event. - Alberto Accomazzi <alberto@cfa0.harvard.edu> sent in more patches for perl5.005_54 incompatibilities. - Alberto also fingered a nasty memory bug in Expat.xs that arose sometimes when you registered a declaration handler but no default handler. It would give you a "Not a CODE reference" error in a place that wasn't using any CODE references. - <schinder@pobox.com> reported a problem with compiling expat on a Sun 4 due to non-exsitance of memmove on that OS. Provided a workaround in Makefile.PL - Now using expat Version 19981231 from James Clark's test directory. - Made patch to this version in order to support original_string (see Expat/expat.patches.) - Added CdataStart and CdataEnd handlers to expat.2.18 Sun Dec 27 07:39:23 EST 1998 - Alberto Accomazzi <alberto@cfa0.harvard.edu> pointed out that the DESTROY sub in the new XML::Parser::Encinfo package was pointing to the wrong package for calling FreeEncoding. - Tarang Kumar Patel <mombasa@ptolemy.arc.nasa.gov> reported the mis-declaration of an integer as unsigned in the convert_to_unicode function in Expat.xs. - Glenn R. Kronschnabl <grk@arlut.utexas.edu> reported a problem with ExternEnt handlers when using parsefile. Turned out to be an unmatched ENTER; SAVETMPS pair that screwed up the Perl stack. - Tom Hughes <tom@compton.demon.co.uk> reported that the fix I put in for the swith to PL_sv.. names failed with 5.0005_54, since these became real variables instead of macros. Switched to just checking the PATCHLEVEL macro. - Yoshida Masato <yoshidam@inse.co.jp> provided the EUC-JP encodings (the corresponding XML files are in XML::Encoding 1.01 or later.) - With the advice of MURATA Makoto <murata@apsdc.ksp.fujixerox.co.jp>, removed the Shift_JIS encoding and replaced it with 4 variations he provided. He also provided an explanatory message. - Added the recognized_string method to Expat, deprecating default_current. - Now using expat Version 19981122 from James Clark's test directory (this fixes another bug with external entity reference handlers) - Added a default external entity handler that only accesses file: based URLs.2.17 Sun Dec 13 17:39:58 EST 1998 - Replaced uses of malloc, realloc, and free with New, Renew, and Safefree respectively - In Expat.pm, fixed methods in_element and within_element to work correctly with namespaces. - xmlfilter - Substitute quoted equivalents for special characters in attribute values. - position_in_context was off by one line when position was at the end of line. - For the context methods in Expat.pm, do the right thing when the context list is empty. - Added methods xpcroak and xpcarp to Expat. - Alberto Accomazzi <alberto@cfa0.harvard.edu> noted that perl releases 5.005_5* (the pre 5.006 development versions) won't accept sv_undef (and related constants) anymore and we have to switch to PL_sv_... - Alberto also reported a warning in the newer versions of IO::Handle about input_record_separator not being treated on a per-handle basis. - Fixed bug that Jon Udell <udell@top.monad.net> reported in Stream style: Text handler most of the time didn't see proper context. - Added XML::Parser::Expat::load_encoding function and support for external encodings.2.16 Tue Oct 27 22:27:33 EST 1998 - Fixed bug reported by Enno Derksen <enno@att.com>: Now treats parameter entity declarations correctly. The entity handler sees the name beginning with '%' if it's a parameter entity declaration. - Nigel Hutchison <nwoh@software-ag.de> pointed out that stream.t wasn't portable off Unix systems. Replaced with portable version. - Fixed bug reported by Enno Derksen <enno@att.com>: XML Declaration was firing off both XMLDecl handler *and* Default handler. - Added option NoExpand to Expat to turn off expansion of entity references when a default handler is set.2.15 Tue Oct 20 14:50:11 EDT 1998 - In Expat's parse method, account for undefined previous record separators. - Simplify a couple of Expat methods. - Re-ordered Changes entries to put latest changes first. - In XML::Parser::new, set Handlers if not already set - New Handler (XMLDecl) for handling XML declarations - New Handler (Doctype) for handling DOCTYPE declarations - New Handler (Entity) for handling ENTITY declarations in the internal subset. - New Handler (Element) for handling ELEMENT declarations in the internal subset. - New Handler (Attlist) for handling ATTLIST declarations in the internal subset. - Documented new handlers - Added t/decl.t to test new handlers2.14 Sun Oct 11 22:17:15 EDT 1998 - Always use method calls for streams. - Use perl's input_record_separator to find delimiter (i.e. each "line" is an entire XML doc with delimiter appended) - Deal with line being longer than buffer.2.13 Thu Oct 8 16:58:39 EDT 1998 - Fixed a major oops in Expat.xs where I was trying to decrement a refcnt on an unallocated SV, leading to a segment violation. (Why did this show up on HPUX but not Linux?)2.12 Thu Oct 8 00:05:10 EDT 1998 - Incorporated fix to t/astress.t from <fletch@phydeaux.org> (Mike Fletcher). - Change to xmlstats from <dblack@candle.superlink.net> (David Alan Black) - Access Handlers_Setters in Expat and Handler_Types in Parser through object reference (following admonition in perltoot about class data.) - Added Stream_Delimiter option to Expat. - In the parse_stream function in Expat.xs, if we either have a Stream_Delimiter or if there's no file descriptor, use method calls instead. For Stream_Delimiter in particular, the function now uses the getline method so it can check for the delimiter without consuming stuff past the delimiter from the stream.2.11 Sun Oct 4 22:15:53 EDT 1998 - Swapped out local patch for expat and swapped in James Clark's patch. - Pass on all Parser attributes (other than those excluded by Non_Expat_Options) to the instance of Expat created at parse time. - New method for Expat: generate_ns_name - Split test.pl into t/*.t and change Makefile.PL so we don't do a useless descent into Expat subdir for testing. - Stop the numeric warning for eq_name and namespace method.2.10 Fri Sep 25 18:36:46 EDT 1998 - Uses expat Version 19980924 (with local patch - see Expat/expat/xmlparse/xmlparse.c.diff) - Use newSVpvn when PERL_VERSION >= 5.005 - Completed xmlfilter - Added support for namespace processing: o Namespaces option to XML::Parser and XML::Parser::Expat o Two new methods in Expat: namespace - to return namespace associated with name eq_name - compare 2 names for equality across namespaces. - Use expat's new SetDefaultHandlerExpand instead of SetDefaultHandler so that entity expansion may continue even if the default handler is set. - Moved test.pl back up main level and changed to work with XML::Parser - Added tests for namespaces2.09 Fri Sep 18 10:33:38 EDT 1998 - Fixed errors that caused -w to fret in XML::Parser. - Fixed depth method in XML::Parser::Expat - There were a few places in Expat.xs where garbage strings may have been returned due to the expat library giving us zero-length strings. Fixed by using a local version of newSVpv where length means length, even when zero. - The default handler setter in Expat.xs, was inappropriately setting cbv->dflt_sv when there was a null handler.2.08 Thu Sep 17 11:47:13 EDT 1998 - Make XML::Parser higher-level re-usable parser objects. Old object now becomes XML::Parser::Expat. - The XML::Parser object now supports the style mechanism very close to that in the 1.0 version.2.07 Wed Sep 9 11:03:43 EDT 1998 - Added some samples (xmlcomments & xmlstats) - Now requires 5.004 (due to sv_catpvf) - Changed Makefile.PL to allow automatic manification - Added a test that reads xml spec (to check buffer boundary errors)2.06 Tue Sep 1 10:40:41 EDT 1998 - Fixed the methods current_line, current_byte, and current_column - Added some tests2.05 Mon Aug 31 15:29:42 EDT 1998 - Made Makefile.PL changes suggested by Murray Nesbitt <murray@ActiveState.com> to support building on Win32 and for making PPM binaries. - Added method parse - Changed parsestring and parsefile to use new parse method - Deprecated parsestring method - Improved error handling in the ExternEnt handler2.04 Wed Aug 26 13:25:01 EDT 1998 - Uses expat Version 1.0 of August 14, 1998 - Some document changes - Changed dist section in Makefile.PL - Added ExternEnt handler - Added tests for ExternEnt2.03 Fri Aug 21 17:19:26 EDT 1998 - Changed InitEncoding to ProtocolEncoding. Default to none. Pass null string to expat's ParserCreate when there is no ProtocolEncoding. - Fixed bug in parsefile & parsestring where they were referring to an ErrorContext *method* instead of a field. - Fixed position_in_context bugs: -- 'last' in do {} while (); -- insert newline before pointer when no following newline in buffer. - Added some additional tests2.02 Thu Aug 20 14:05:08 EDT 1998 - Fixed parsefile problem reported by "Robert Hanson" <robertha@zenweb.com>, using a modification of his suggested fix. - Responded to problem reported by Bart Schuller <schuller+perl-xml@lunatech.com> by pre-expanding parts of the XML_UPD macro to avoid confusing some versions of gcc. - Changed the constructor to take the option InitEncoding, which gets passed to the ParserCreate call. When not given, defaults to UTF-8. - Added method position_in_context - Added Constructor option ErrorContext and added reporting of errors in context.2.01 Wed Aug 19 11:42:42 EDT 1998 - Added methods: default_current, base, current_line, current_column, current_byte, context - Added some tests - parsestring and parsefile now croak if they're re-used - Filled in some documentation2.00 Mon Aug 17 12:01:33 EDT 1998 - repackaged with James Clark's most recent expat - changed to an API closer to expat1.00 March 1998 - Larry Wall's original version
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -