changelog
来自「c语言编写的xml解析器可以方便的遍历插入删除节点等操作的」· 代码 · 共 1,078 行 · 第 1/3 页
TXT
1,078 行
* NEWS: updated with changes since 0.16 version. 2002-12-10 Christophe de Vienne <cdevienne@alphacent.com> * libxml++/node.cc: fixed write() which was using the accessors content() and has_content(). Since they return something for both the text node and the parent node, the output was weird.2002-12-09 Murray Cumming <murrayc@usa.net> * libxml++/node.cc: content(): If the cached content string is empty, try to get the content of a child "text" node. This makes content() work as expected after creating a document with set_content() and later reparsing it.2002-12-09 Murray Cumming <murrayc@usa.net> * libxml++/parsers/dom_parser.cc (release_underlying): Set pointers to 0 so that the get_*() methods generate new instances instead of returning invalid pointers.2002-12-09 Murray Cumming <murrayc@usa.net> * libxml++/node.cc: Node::remove_child() and Node::remove_attribute: delete the objects when forgetting about them. * libxml++/node.h: Added reference docs explaining the above.2002-12-07 Murray Cumming <murrayc@usa.net> * libxml++/parsers/domparser.cc, saxparser.cc: Added comments about the use of xmlKeepBlanksDefault() and xmlLineNumbersDefault(). * libxml++/parsers/saxparser.[h|cc]: Change exception & to exception&.2002-12-06 Christophe de Vienne <cdevienne@alphacent.com> * libxml++/parsers/domparser.cc: Enabled xml option LineNumbers and disabled KeepBlanks before each parsing. * libxml++/parsers/sax_parser.cc: Enabled xml option KeepBlanks before each parsing. * example/dom_parser/main.cc: Added line number display for each non-content node. Changed a bit content display * Note: in a near future I may change these options settings to let the user choose which options he wants/wants not. 2002-12-03 Jone Marius Vignes <jmvignes@broadpark.no> * libxml++/parsers/domparser.cc: Changed the exception in write_to_string() to "write_to_string() failed." * libxml++/parsers/domparser.h: Corrected documentation of write_to_string() and write_to_file() to clarify that these methods doesn't return booleans2002-12-02 Christophe de Vienne <cdevienne@alphacent.com> * libxml++/exceptions/*.[h|cc]: Added and implemented virtual methods Raise() and Clone. * libxml++/parser/sax_parser.[h|cc]: Each callback method can now throw some exceptions as long as they herit from xmlpp::exception AND implement Raise() and Clone(). * libxml++/examples/sax_exception/: Added an example which demonstrate the use of exceptions inside a SaxParser.2002-11-29 Murray Cumming <murrayc@usa.net> * autogen.sh: Added libtoolize to generate files such as ltmain.sh.2002-11-28 Christophe de Vienne <cdevienne@alphacent.com> * acinclude.m4: The AM_LIBXML macro now checks for a libxml2 version >= 2.4.1.2002-11-21 Christophe de Vienne <cdevienne@alphacent.com> * libxml++/parsers/*.[h|cc]: added Parser::parse_stream method and implemented it in both DomParser and SaxParser. Tests based on the examples (not commited in the cvs) worked perfectly.2002-11-20 Christophe de Vienne <cdevienne@alphacent.com> * libxml++/parsers/saxparser.cc: fixed a memory leak (thanks to Chris Leishman <masklin@debian.org> who reported it. 2002-11-20 Murray Cumming <murrayc@usa.net> * Changed use of the term properties to attributes in the API, because that is the correct terminology.0.16: 2002-11-19 Christophe de Vienne <cdevienne@alphacent.com> * configure.in: updated version numbers for next release. version is set to 0.16, library version to 2:0:02002-11-19 Murray Cumming <murrayc@usa.net> * docs: Added index.html, which can be a main website page. * docs/Makefile.am: Added rsync command to upload the html, including the reference documentation.2002-11-19 Murray Cumming <murrayc@usa.net> * Added Dtd class, which is just a collection of std::strings. * libxml++/parsers/domparser.[h|cc]: Added set_internal_subset() and get_internal_subset() to set the DTD declaration. This is set in the underlying C xmlDoc during write_to_file() and write_to_disk().2002-11-18 Murray Cumming <murrayc@usa.net> * libxml++/node.[h|cc]: - Rename is_content() to has_content(), because that's what it tells us. Removed _is_content member bool - we can check _content.empty() instead. - write(): Do not manually set the xmlNode's type field to TEXT. This corrupted the tree. Tested content nodes in example/dom_build.2002-11-18 Murray Cumming <murrayc@usa.net> * libxml++/parsers/domparser.cc (write_to_*): Corrected no-root-node check.2002-11-18 Murray Cumming <murrayc@usa.net> * libxml++/exceptions/exception.[h|cc]: Corrected signature of what() method, adding const throw().2002-11-18 Murray Cumming <murrayc@usa.net> * libxml++/parsers/domparser.[h|cc]: Added DomParser::set_root_node(). * examples: Added dom_build, to show runtime construction of an XML tree.2002-11-18 Murray Cumming <murrayc@usa.net> * Parser, DomParser, SaxParser: parse_file() and parse_memory() now throw exceptions. * DomParser::write_to_file(): throws exception instead of using a bool return value. * examples/domparser/: Catches exceptions.2002-11-18 Christophe de Vienne <cdevienne@alphacent.com> * libxml++/exceptions: splitted exception.[h|cc] in this directory. The libxml_error has been removed for now, and a parse_error added.2002-11-17 Christophe de Vienne <cdevienne@alphacent.com> * libxml++/attribute.h: Changed macro __LIBXMLPP_PROPERTY_H to __LIBXMLPP_ATTRIBUTE_H * libxml++/exception.[h|cc]: Added xmlpp::exception, xmlpp::libxml_error and xmlpp::internal_error classes. It's very basic for now. 2002-11-17 Murray Cumming <murrayc@usa.net> * Node, Attribute: set_*() method now have void return types. * DomParser: Now has an empty underlying in-memory document when the default constructor is used. This means that get_root_node() should always return something, so we can build XML documents in memory without loading any XML first.2002-11-16 Murray Cumming <murrayc@usa.net> * libxml++/attribute.h: Added explicit to constructor.2002-11-16 Murray CUmming <murrayc@usa.net> * libxml++/parsers/domparser: Renamed write() method to write_to_file() and added write_to_string().2002-11-16 Murray Cumming <murrayc@usa.net> * libxml++-1.0.pc.in: More corrections. This was hopelessly broken before. 2002-11-16 Murray Cumming <murrayc@usa.net> * libxml++-1.0.pc.in: Corrected typo.2002-11-16 Murray Cumming <murrayc@usa.net> * docs/reference/Doxyfile: Used doxywizard to mark the Recursive option, so it reads the libxml++/parsers directory too.2002-11-16 Murray Cumming <murrayc@usa.net> * Attribute, Node: Added Doxygen class comment block. Changed some something * to something*.2002-11-16 Murray Cumming <murrayc@usa.net> * libxml++/node.[h|cc]: Added parameter names. Made const and non-const overloads of children() method. * libxml++/parsers/domparser.[h|cc]: Added const get_root_node() const overload.2002-11-16 Christophe de Vienne <cdevienne@alphacent> * libxml++/parsers/*: renamed method Parser::parse to Parser::parse_file2002-11-16 Christophe de Vienne <cdevienne@alphacent> * libxml++/parsers/saxparser.[h|cc]: rewritten SaxParser::parse(filename) and SaxParser::parse_memory(string). They both use a SaxParser::parse() method. The parse_chunk and finish methods has been removed. * example/sax_parser/parser.cc: minor bugfix: the Attribute pointer was printed instead of the value. 2002-11-16 Christophe de Vienne <cdevienne@alphacent.com> * Property: has been renamed to Attribute. However, the "properties" token has been kept when speaking of all the attributes of a node, as in the libxml library. * node.cc: rewritten a few loops so they have a more 'c++' looking. rewritten some portions of code where an attribute is searched by name.2002-11-15 Murray Cumming <murrayc@usa.net> * Changed e.g. std::string &something to std::string& something, using regexxer.2002-11-15 Christophe de Vienne <cdevienne@alphacent> * example/sax_parser/parser.cc: #included <iostream>2002-11-15 Christophe de Vienne <cdevienne@alphacent> * libxml++/parsers/saxparser.cc: #included cstdarg instead of stdarg.h to follow the c++ standard. #included <iostream> to have std::cerr - it's needed on strict c++ compiler (g++ 3.2 for instance). * example/dom_parser/main.cc: #included <iostream>2002-11-15 Murray Cumming <murrayc@usa.net> * libxml++/parsers/saxparser.cc: #included stdarg.h - it seems to be necessary with some compilers.2002-11-15 Murray Cumming <murrayc@usa.net> * DomParser:: Added get_encoding() and write() methods. * Removed Tree - Use DomParser instead.2002-11-15 Murray Cumming <murrayc@usa.net> * SaxParser now inherits from Parser, with parse() and parse_memory() methods. * Added example/sax_parser example, but the start_element callback doesn't seem to be called.2002-11-15 Murray Cumming <murrayc@usa.net> * Parser, DomParser: Added parse_memory() method. * Node::children(): Removed bad early-optimisation hack - it returned a static function variable instead of returning by value. This meant that >1 results of children() could not be used simultaneously. For instance, this meant that it could not be called recursively. 2002-11-12 Murray Cumming <murrayc@usa.net> * Node, Property: Used explicit keyword on constructors.2002-11-12 Murray Cumming <murrayc@usa.net> * Added parsers directory. * Renamed Parser to SaxParser. * Added DomParser, intended as a replacement for Tree, but that has not yet been removed. I don't intend to implement the libxml-1 compatibility stuff. * Added examples directory structure, with one tiny dom_parser example.2002-11-12 Christophe de Vienne <cdevienne@alphacent.com> * node.[h|cc]: name() method now return a reference. * Tree/Node: The readnode and writenode functions have been removed and transfered somehow into Node as a new constructor and write(). The libxml++-private.[h|cc] has been removed.2002-11-12 Murray Cumming <murrayc@usa.net> * Parser: It's no longer a templated type - to provide your own callback implementations you can now just derive your own parser and override the on_*() methods. 2002-11-12 Murray Cumming <murrayc@usa.net> * Moved implementation into the .cc files. * Changed n, v and p parameter names to name, value and properties.2002-11-12 Murray Cumming <murrayc@usa.net> * Split the single xml.[h|cc] files into node, property, tree and parser files, with a libxml++.h header file that includes them all. * Removed the XML prefixes from type names - we don't need it because we use a namespace now. * Placed typedefed lists and map inside their classes. For instance, XMLNodeList is now xmlpp::Node::NodeList. * Node::children(): Use !(n.empty()) instead of (n.length() == 0), for perfomance. * Tree: changed fn parameter names to filename.2002-11-12 Christophe de Vienne <cdevienne@alphacent.com> * AUTHORS: Added Murray Cumming to the contributors2002-11-08 Christophe de Vienne <cdevienne@alphacent.com> * libxml++/xml.cc: corrected _line initialisation in XMLNode::XMLNode(const XMLNode *from)2002-11-08 Christophe de Vienne <cdevienne@alphacent.com> * libxml++/xml.cc: Test if doc encoding is not null before reading it (thanks to Marcel Bosc). 2002-11-05 Murray Cumming <murrayc@usa.net> * Added docs/reference/. Run make in this directory to generate reference documentation with doxygen. * libxml++/xml.h: Removed macros around namespace - all compilers must now support namespaces. * libxml++/xml.[h|cc]: Replaced (void) with () - it's not necessary in C++.2002-11-05 Murray Cumming <murrayc@usa.net> * libxml++/Makefile.am and configure.in: Implemented shared library interface versioning.2002-11-05 Murray Cumming <murrayc@usa.net> * Put source code in libxml++ directory, ready for it to be split up into separate files. Client code should now include libxml++/xml++.h rather than just xml++.h.2002-11-05 Murray Cumming <murrayc@usa.net> * Headers are now installed in a versioned directory, to allow coexistence with future major versions of libxml++. You may need to remove the previously installed xml++.h file. * Library name changed to libxml++-0.1, to be changed to libxml++-1.0 when libxml++ stabilizes its API. This is also to allow future versions to be parallel installed. * Added pkg-config file as a simpler and more maintainable alternative to the -config file and m4 script.Version 0.14 * Ported to g++ 3.2. The code should now also compile on compilers which are a bit more strict about c++ than previous versions of g++ * Added method XMLNode::line() wich returns the line number of a non content node in the source file. * Added encoding file support through XMLTree::encoding() and XMLTree::set_encoding() methods * Replacement of hash_map by map for node properties lists, since it has been reported to be faster, and to simplify porting to other plarfoms. * libxml++ classes has been put in a separated namespace, libxmlpp. If you don't want namespace, just undefine the LIBXMLPP_USE_NAMESPACE * encoding and compression settings are now loaded at parsing of file/buffer.Version O.12 to 0.13 No Changelog.Version O.11 * Modified interface to allow for more complete coverage of possible uses of XML files.Version O.10 * Added SAX parser.Version O.2 to 0.9 No Changelog.Version O.1 * Original release.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?