2.35.1: 2012-02-15 Kjell Ahlstedt Handle attributes with default values correctly. * libxml++/attributedeclaration.[h|cc]: * libxml++/attributenode.[h|cc]: New files. * Makefile.am: * libxml++/Makefile.am: Add the new files. * libxml++/libxml++.h: Add the new .h files. * docs/manual/libxml++_without_code.xml: Add AttributeDeclaration and AttributeNode in the list of node classes. * libxml++/attribute.[h|cc]: Make get_value() useful also for default values (XML_ATTRIBUTE_DECL). Fix set_value() for attributes in a namespace. * libxml++/nodes/element.[h|cc]: get_attribute(): Add description. Don't use xmlHasProp(), it ignores namespace. * libxml++/nodes/node.cc: get_namespace_prefix(), get_namespace_uri(), set_namespace(), create_wrapper(): Add code for XML_ATTRIBUTE_DECL. * examples/dom_parser/example.dtd: Add attribute 'title' with default value. * examples/dom_parser/example.xml: Add attribute 'title' with explicit value. Bug #669635. 2012-02-15 Kjell Ahlstedt Node: Correct mis-spelt LIBXMLCPP_EXCEPTIONS_ENABLED. * libxml++/nodes/node.h: Add some "@throws exception". * libxml++/nodes/node.cc: Change LIBXMLCPP_EXCEPTIONS_ENABLE to LIBXMLCPP_EXCEPTIONS_ENABLED in find_impl() and set_namespace(). 2012-02-15 Kjell Ahlstedt Improved handling of entity references and processing instructions. * libxml++/nodes/entitydeclaration.[h|cc]: New files. * Makefile.am: * libxml++/Makefile.am: Add the new files. * libxml++/libxml++.h: Add the new .h file. * docs/manual/libxml++_without_code.xml: Add EntityDeclaration in the list of node classes. * libxml++/document.[h|cc]: Add add_processing_instruction(). * libxml++/nodes/element.[h|cc]: Add add_child_entity_reference() and add_child_processing_instruction(). * libxml++/nodes/entityreference.h: Improve the description of get_resolved_text() and get_original_text(). * libxml++/nodes/node.cc: get_namespace_prefix() and get_namespace_uri(): XML_ENTITY_DECL has no namespace. Don't try to find it. create_wrapper(): Create an EntityDeclaration when type == XML_ENTITY_DECL. free_wrappers(): Don't walk the child list when type == XML_ENTITY_REF_NODE. * examples/dom_build/main.cc: Add entity declarations and references, and processing instructions to the built xml file. * examples/dom_parse_entities/example.dtd: Make it compatible with example.xml. * examples/dom_parse_entities/example.xml: Add an entity definition that contains entity references. * examples/dom_parse_entities/main.cc: Print the parsed file both with and without entity substitution. * examples/dom_parser/example.dtd: Make it compatible with example.xml. * examples/dom_parser/main.cc: Add command flag -E (Don't substitute entities). Bug #669481 2012-02-15 Kjell Ahlstedt Add some files to .gitignore. * .gitignore: Add docs files that are copied from mm-common. Add /MSVC_Net2010/libxml++/libxml++.rc and /examples/dom_read_write/example_output.xml. 2012-02-15 Kjell Ahlstedt Add @newin{2,36} to some new functions where it's missing. * libxml++/exceptions/exception.h: Add @newin{2,36} to format_xml_error() and format_xml_parser_error(). * libxml++/parsers/parser.h: Add @newin{2,36} to [set|get]_throw_messages(). Bug #304020. 2012-02-10 Kjell Ahlstedt Make the schema validation example program work with no arguments. * examples/schemavalidation/main.cc: Correct the test for number of arguments. 2012-01-30 Kjell Ahlstedt Parser: Throw more detailed error messages. * examples/dom_parser/main.cc: Add command parameters -v -e -t. * libxml++/exceptions/exception.[h|cc]: Add format_xml_error() and format_xml_parser_error(). * libxml++/parsers/domparser.cc: Call format_xml_error() and format_xml_parser_error() to get more detailed messages in exceptions. * libxml++/parsers/parser.[h|cc]: Add [set|get]_throw_messages() and (local in .cc until ABI can be broken) on_parser_[error|warning](). Bug #304020. 2012-01-30 Murray Cumming Document: Make the Document(xmlDoc*) constructor protected. * libxml++/document.h: This was requested in bug #668980 (A. Pignotti). 2011-09-09 Murray Cumming Document: write_to_*(): Make sure that we write UTF-8 out. * libxml++/document.cc: Because the xmlDocDump*() functions use some other encoding if you specify NULL, causing errors such as: xmlEscapeEntities : char out of range