changelog

来自「c语言编写的xml解析器可以方便的遍历插入删除节点等操作的」· 代码 · 共 1,078 行 · 第 1/3 页

TXT
1,078
字号
	* all header files: Removed libxml2 headers inclusion. Added necessary	forward declaration of libxml2 structures.	* libxml++/parsers/saxparser.[h|cc]: Moved static callback functions into	a struct defined only in the .cc file, SaxParserCallback.	Added boolean parameter to SaxParser constructor to activate on_get_entity	callback (default to false). This technique could eventually be extended to	other functions in the future.	* libxml++-1.0.pc.in: removed libxml headers include path from Cflags.2003-05-22  Christophe de Vienne  <cdevienne@netcourrier.com>	* libxml++/nodes/node.[h|cc]: Added Node::set_name().2003-05-20  Christophe de Vienne  <cdevienne@netcourrier.com>	* libxml++/nodes/[node.cc|element.h]: Minor syntax adjustments to allow	compiling with g++ -ansi -pedantic -Wall without any warning.0.23:2003-05-20  Christophe de Vienne  <cdevienne@netcourrier.com>	* libxml++/keepblanks.[h|cc]: New KeepBlanks class which change settings	related to xmlKeepBlanksDefault and xmlIndentTreeOuput.	* libxml++/[document.cc|parsers/*parsers.cc]: use KeepBlanks instead of	manually call xmlKeepBlanksDefault(). Significant white spaces are not	removed/added anymore.	* example/dom_read_write/example_output.xml: removed.2003-05-16  Murray Cumming  <murrayc@usa.net>	* libxml++/noncopyable.[h|cc]: New xmlpp::NonCopyable base class, which	should prevent people from using automatically-generated copy 	constructors when they shouldn't. Not tested yet.	* libxml++/examples/dom_read_write: New example/test. This does	show that we are removing significant white space. This has been 	discussed on the list and apparently Christophe has a fix for it.2003-05-06  Andy Glew <andy.glew@amd.com>	* libxml++/nodes/node.cc: Node::find( nonexistent_xpath ) now return	empty NodeSet2003-04-24  Christophe de Vienne  <cdevienne@netcourrier.com>	* libxml++/parsers/saxparser.cc: Fixed a memory leak pointed by "thierry"	<thierry.blanchard@digitech.fr>. The sax handler of the context is not reset	to 0 before context release anymore. In parse() the default one is saved	then restored after effective parsing, so libxml handle itself its	destruction.2003-04-20  Christophe de Vienne  <cdevienne@netcourrier.com>	* libxml++/document.cc: Removed a warning message that was put on std::cout	if an unknown type of node was created and replaced it by an assert. This	avoid the need to include iostream(.h).2003-04-18  Murray Cumming  <murrayc@usa.net>	* Applied Jaka Jejcic's patch to fix compilation on NetBSD, including	iostream.h instead of istream.h.2003-04-09  Eric Bourque <ericb@computer.org>		* libxml++.spec.in: modified spec file to be library version agnostic.2003-03-19  Ephraim Vider	* added msvc support in win32_msvc6.2003-03-17  Ephraim Vider	* Modified sax_exception example:	- corrected Clone() return type for MyException in myparser.[h|cc]	- catch all exceptions in main.cc - handle real errors too0.22:2003-03-15  Murray Cumming  <murrayc@usa.net>	* libxml++/parser/domparser.cc: Added const overload of get_document().2003-03-13  Christophe de Vienne	* libxml++/parser/domparser.cc: Test if context creation is	successfull in the different parse_xxx functions. If it is no an	internal_error is thrown.2003-03-06  Ephraim Vider		* made DomParser a wrapper around Document	removed all functions that were duplicates of document	functions and added get_document()	files: domparser.[h|cc] document.h	* fixed compilation errors for msvc:	- corrected Clone() return type for derived exceptions	- corrected getline to std::getline in saxparser.cc	- changed clear() to erase() in parser.cc	- added #define for vsprintf in parser.h	- fixed warning in element.cc0.21:	2003-02-21  Eric Bourque	* Added spec.in, for creating RPMs.2003-02-20  Murray Cumming  <murrayc@usa.net>	* libxml++/nodes/node.[h|cc]: Moved get_child_content(),	set_child_content(), add_content(), and has_content() from Node to 	derived Element class instead of just throwing an exception if it 	isn't an Element. This means you can't use set_child_content() on a	TextNode - you should be using TextNode::set_content() anyway, which	makes a lot more sense. Corrected set_child_content() to create a 	TextNode instead of creating a node with the content as the name, 	fixing the output of the dom_build example.2003-02-20  Murray Cumming  <murrayc@usa.net>	* libxml++/parsers/parser.[h|cc]:	initialize_contex(): Request iniitialization and connect callbacks	check_exception(): Throw exception if any validation problems have 	been found - the messages are built up gradually by repeated	callbacks.	set_validate(): Enables validation before calling parse_*().	Alternatively, use 2nd bool parameter to the DomParser constructor.	* libxml++/exceptions/: Added validation_error class.	* examples/dom_parser: Added a DTD and changed example.xml to 	something that uses it. Also added example_invalid.xml to test	the exceptions.2003-02-12  Ole Laursen  <olau@hardworking.dk>	* examples/sax_parser/main.cc: Added chunk-wise parsing to the	example.	* libxml++/parsers/saxparser.[h,cc]: Added functionality for	parsing chunks of data.2003-02-17  Murray Cumming  <murrayc@usa.net>	* libxml++/parsers/*.[h|cc]: All parsing is now done via contexts, 	which required a little duplication of the implementation of functions	such as xmlParseFile(), most of which is now in 	DomParser::parse_context(). This avoids use of global functions such	as xmlKeepBlanksDefault() by setting these booleans directly in the 	context, in Parser::initialize_context().	However, xmlCreateFileParserCtxt() does seem to be affected by 	xmlKeepBlanksDefault so we still have to use it temporarily, restoring	the old value afterwards - see the comments in DomParser::parse_file().	This should allow us to add validation to the API.0.20:	2003-02-15  Murray Cumming  <murrayc@usa.net>	* libxml++/nodes/node.cc: (remove_child): Implemented it with 	xmlUnlinkNode and xmlFreeNode, so that it's actually removed.2003-02-15  Murray Cumming  <murrayc@usa.net>	* Added examples/dom_xpath, with code from Stefan Seefeld's dom	example.2003-02-15  Murray Cumming  <murrayc@usa.net>	* Reverted the Node::child_iterator API change because it was 	undiscussed and is unfinished. The BRANCH_1_0 and HEAD branches are now	merged. BRANCH_1_0 should no longer be used. This was never in 0.19.0.19:	2003-02-07  Murray Cumming  <murrayc@usa.net> 	* Moved method implementations such as get_attributes() into derived 	classes instead of using "using methodname();". That seems clearer. 	However it shows that we should probably create a shared base class for 	Content and Comment, as in the DOM.2003-02-06  Murray Cumming  <murrayc@usa.net>	* libxml++/parsers/saxparser.[h|cc]: Corrected some coding style.2003-02-06  Murray Cumming  <murrayc@usa.net>	* Changed c_obj() to cobj() because it's more like gobj() used in 	gtkmm, gnomemm, etc.2003-02-06  Murray Cumming  <murrayc@usa.net>	* libxml++/nodes/node.*: Corrected code style. 2003-02-06  Murray Cumming  <murrayc@usa.net>  	* libxml++/nodes/node.[h|cc], libxml++/attribute.[h|cc]: Made c_obj() 	accessors public so people can use them. Provided const and non-const  	versions of them. Put implementation in .cc file. 	* Reverted some of Stefan's coding style changes and corrected the  	coding style in libxml++/nodes/document.[h|cc]. 	* libxml++/document.h: Made the destructor virtual, because there are 	virtual methods.	2002-02-04  Stefan Seefeld <seefeld@sympatico.ca>	* libxml++/node.[h,cc]: add new insert_child and append_child methods	(using new iterators), add get_path and find methods for xpath lookup	* examples/dom: new example code to illustrate the new features	2002-02-03  Stefan Seefeld <seefeld@sympatico.ca>	* libxml++/node.h, libxml++/parsers/saxparser.[h,cc],	examples/sax_parser/*.[h,cc], examples/sax_exception/*.[h,cc]:	SaxParser::AttributeMap is now a map<string, string>.2002-02-03  Stefan Seefeld <seefeld@sympatico.ca>	* libxml++/node.h: add child_iterators for simple C++ style	iteration (to get eventually rid of NodeList)2002-02-03  Stefan Seefeld <seefeld@sympatico.ca>	* libxml++/attribute.[h,cc], libxml++/nodes/node.[h,cc],	libxml++/document.cc: derive Attribute from Node, and make	get_value() use libxml2 accessor instead of raw pointer2002-02-03  Stefan Seefeld <seefeld@sympatico.ca>	* libxml++/document.[h,cc], libxml++/parsers/domparser.[h,cc],	libxml++/libxml++.h, libxml++/Makefile.am: introduce new Document type.	* examples/dom_build/main.cc: make dom_build example use new	Document type2002-02-03  Stefan Seefeld <seefeld@sympatico.ca>	* acinclude.m4: The AM_LIBXML macro now checks for a libxml2	version >= 2.5.1.	* libxml++/nodes/node.cc: compare strings, not pointers, in	get_attribute()2003-01-31  Stefan Seefeld  <seefeld@sympatico.ca>	* various: overall change to use libxml2 as implementation,	  not only as I/O backend. With corrections by Murray Cumming.    Further explanation by murrayc: Instead of maintaining its own    C++ data structures and then creating libxml data structures from them,    it now manipulates the libxml data structures directly, so the C++ and C    APIs are always in sync.2003-01-21  Valentin Rusu <sourceforge@valentinrusu.net>  	* added CDATA section handler to SaxParser 2003-01-05  Valentin Rusu <sourceforge@valentinrusu.net>  	* fixed a potential buffer overflow problem into saxparser.cc	0.18:2003-01-31  Stefan Seefeld  <seefeld@sympatico.ca>	* various: overall change to use libxml2 as implementation,	  not only as I/O backend.2003-01-05  Murray Cumming  <murrayc@usa.net>	* examples/dom_build/main.cc: Removed some useless test C code.2002-12-24  Morten Brix Pedersen  <morten@wtf.dk>         * Include <iostream> instead of <istream> to compile on gcc 2.95.4.	2002-12-26  Murray Cumming  <murrayc@usa.net>	* libxml++/nodes/element.c (write): Add back the code to write the	attributes to the C libxml structure. This code got lost during the	refactoring.2002-12-25  Murray Cumming  <murrayc@usa.net>	* Removed unused constructors, to simplify things. Made Node's 	destructor virtual, because we delete them polymorphically, and	because it has virtual methods.2002-12-25  Murray Cumming  <murrayc@usa.net>	* libxml++/nodes/node.[h|cc]: Removed the initialized member 	variable and its accessor, because it's not used.2002-12-19  Murray Cumming  <murrayc@usa.net>	* libxml++/parsers/domparser.[h|cc]: get/set_root_node() now returns	an Element instead of a Node.2002-12-19  Murray Cumming  <murrayc@usa.net>	* Changed const & accessors to get_*() methods. For instance,	Node::name -> Node::get_name	Node::children() -> Node::get_children()	Element::attributes() -> Element::get_attributes()	Attribute::value -> Attribute::get_value()2002-12-18  Murray Cumming <murrayc@usa.net>	* Added libxml++/nodes/commentnode.[h|cc] and used it in Node so that	comments don't just show up as name=comment Nodes.	* examples/dom_parser/example.xml: Added a comment.	* examples/dom_parser/main.cc: Do a dynamic_cast<> check for comments	too.2002-12-18  Christophe de Vienne  <cdevienne@alphacent.com>	* libxml++/parser/saxparser.cc: Fixed a bug in exception handling in	parse_stream. Thanks to Fredrik Arnerup <e97_far@e.kth.se> for reporting	the bug.	2002-12-17  Murray Cumming  <murrayc@usa.net>	* Added libxml++/nodes/textnode.[h|cc]. This should remove the 	confusion about whether content()/set_content() should be used on	a text node or the parent of a text node.	* libxml++/nodes/node.[h|cc]: 	- Node::write() is now virtual, and 	different in TextNode.	- content() replaced by get_child_content, which returns a TextNode* 	instead of a string.	- set_content() replaced by set_child_content(). 	* Added libxml++/nodes/element.[h|cc] so that TextNode can inherit	from a Node class without the attributes API. As per the Java DOM API,	Node still has the children API - I guess there's some reason for that,	though I don't see how a TextNode could have children.2002-12-17  Murray Cumming  <murrayc@usa.net>	* Moved node.[h|cc] into nodes sub directory, in preparation for the	multiple-node-types API change.2002-12-12  Jonathan Wakely <redi@kayari.org>		* libxml++/parsers/saxparser.cc, saxparser.h (on_get_entity): New	virtual function to allow derived classes to override entity handling	2002-12-16  Murray Cumming  <murrayc@usa.net>	* libxml++/node.cc: write():	- Don't set the node->type directly. Let	xmlNodeSetContent take care of adding a suitable child node. This	was leading to segfaults when write() later tried to add a child node	to a text node.	- Throw internal_error exception when xmlNewChild returns NULL.	0.17:.2002-12-10  Christophe de Vienne <cdevienne@alphacent>	* configure.in: updated version numbers for next release. Generic	version is now 0.17, library version is 3:0:0

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?