Revision history for XML-MyXML 0.0986 Oct 8th, 2007 Added the ->parent() method 0.09851 Sep 7th, 2007 Deleted a duplicate sentence from the documentation 0.0985 Sep 5th, 2007 If $obj->attr is called without parameters, will return a hash of all attribute => value pairs 0.098061 Aug 10th, 2007 Minor modification in the documentation to describe change in version 0.09806 0.09806 Aug 10th, 2007 XML documents to be parsed may be encoded either in UTF-8 or in some other encoding provided this encoding is declared in the XML declaration ( ) in the beginning of the document 0.09805 Jul 27th, 2007 Slight improvements to the $obj->delete method and to garbage-colection throughout the module 0.098 Jul 26th, 2007 Added the $obj->delete method that will clear the memory of an object (needed because an object and its children refer to each other circularly) 0.09766 Apr 17th, 2007 All functions that parse XML strings will convert string to utf8 if a different encoding is declared in the XML declaration 0.09765 Apr 17th, 2007 Fixed dependencies so tests don't fail 0.09762 Apr 16th, 2007 Some functions now check whether the provided XML is valid utf-8, and produce an error if it's not (having 'soft' flag turned on will return undef in case of invalid utf-8) 0.09761 Apr 16th, 2007 Removed some debugging code 0.0976 Apr 16th, 2007 Fixed encoding issues completely. All strings output by this module are in bytes, unless the 'utf8' flag is used (see this module's documentation) 0.0975 Apr 16th, 2007 Fixed encoding issue 0.0974 Apr 16th, 2007 Fixed encoding issue 0.0973 Apr 15th, 2007 Fixed a critical bug where calling the 'value' method on an empty element would change its contents 0.0972 Apr 12th, 2007 Added myperl.eu mention in docs 0.0971 Apr 1st, 2007 Fixed bug where simple arrayref structures would get 'consumed' by &simple_to_xml 0.097 Mar 24th, 2007 &simple_to_xml can add xslt declarations in the beginning &xml_to_simple and ->simplify can create arrayrefs in addition to hashrefs (arrayrefs preserve order and duplicate elements) Fixed bug where &xml_to_object would choke with some symbols in utf8::upgrade'd XML strings 0.0969 Mar 17th, 2007 Fixed bug where simple_to_xml wouldn't accept attributes at the root element Fixed XML version in declaration from 1.1 to 1.0 0.0968 Mar 9th, 2007 Added the 'strip_ns' flag, that strips namespaces from tags, on &xml_to_simple and on ->simplify 0.0961 Mar 7th, 2007 Corrected bug where the indentstring flag on &simple_to_xml wouldn't do anything 0.096 Mar 6th, 2007 Added ability for the following functions/methods to save their XML output to a file: &tidy_xml, &object_to_xml, &simple_to_xml, ->to_xml, ->to_tidy_xml Added the 'soft' flag to &tidy_xml 0.0951 Mar 6th, 2007 Corrected bug where ->value would double-decode 0.095 Mar 6th, 2007 Added support for parsing the simplest and non-recursive form of markup Added optional 'tidy' flag to &object_to_xml, &simple_to_xml and ->to_xml Corrected bug where hex numerical entities couldn't contain capital letters ('A'..'F') 0.094 Mar 6th, 2007 Added a space before the '?>' mark in the XML declaration introduced in 0.093 Corrected small bits in documentation 0.093 Mar 5th, 2007 Parser will now ignore all special markup instead of dying on it (except for CDATA sections which it can handle since v0.061) XML documents produced with this module may now have an XML declaration in the beginning () Almost all functions and methods accept flags now Wrote features & limitations in the documentation Wrote a 'function flags' section in the documentation 0.092 Mar 5th, 2007 check_xml, which used to be able to check XML strings only, can now check XML files also Added an optional 'soft' mode to xml_to_simple and xml_to_object functions, which returns undef instead of dying in case of error Added the :all export tag - imports all exportable functions 0.091 Mar 4th, 2007 xml_to_simple and xml_to_object can now accept a filename for an argument Minor alterations in the documentation 0.09 Mar 3rd, 2007 simple_to_xml($simple_ref) has been changed to allow the argument to be a hashref, an arrayref or a mixed structure 0.083 Mar 3rd, 2007 Changed the way that flags are set. Instead of a string such as 'strip internal', it's with a hashref { strip => 1, internal => 1 }. Module stops execution and informs about the change, if programmer tries to set flags with the old way. 0.082 Mar 3rd, 2007 Added optional 'strip' mode for the &xml_to_simple function and the $obj->simplify method, that strips surrounding whitespace from texts Added optional 'internal' mode for the $obj->simplify method, that return a hashref only of the contents of the top element 0.081 Mar 3rd, 2007 Added an 'internal' mode for the &xml_to_simple function Added a 'strip' mode for the ->value method that strips surrounding whitespace 0.08 Mar 1st, 2007 XML-decodes the attribute values when parsing documents, and XML-encodes them when creating XML documents Added the ->tag method to XML objects, which retrieves the tag name of the top element Minor changes in the documentation 0.076 Feb 27th, 2007 $element->value returns empty string ('') if element is empty, instead of null 0.075 Feb 25th, 2007 Added the ->attr('attr_name') method to XML objects, which retrieves the value of an attribute 0.07 Feb 25th, 2007 Added a check_xml function that checks if the provided XML document is valid enough for use with this module 0.066 Feb 25th, 2007 Allows whitespace and comments to exist before the root element 0.065 Feb 25th, 2007 Handles attributes in tags better (attrs are allowed to contain spaces) 0.0641 Feb 25th, 2007 Now handles XML comments when parsing XML documents 0.061 Nov 27th, 2006 Added parsing of CDATA sections Added $object->to_xml and $object->to_tidy_xml methods 0.051 Nov 26th, 2006 Understands numerical (dec and hex) entities in XML (eg € and ¡) 0.05 Nov 26th, 2006 Added $obj->simplify method 0.04 Nov 25th, 2006 Added xml_to_simple function 0.03 May 12th, 2006 Applied some encoding/decoding commands in several functions 0.01 May 3rd, 2006 First version, released on an unsuspecting world.