XML/TA library for glib2 and pcre

xmlg 0.7.18



old tarballs


xmlg sources
bin examples


unfinished documents:


pfe sources
pfe manpages
pfe docbook

2003-02-19 "0.7.18" <guidod@gmx.de>
	* taking over make-dbk.pl from zziplib, place pfe-intro.dbk
	    into doc/pfe, and generate pfe-forth.dbk and pfe-forth.html
	    from these sources. This makes for a perfect docbook master.
	* `make pfe` will now create doc/pfe/pfe-forth.html
2003-02-18 "0.7.17" <guidod@gmx.de>
	* making "$id" part of non-fcode entries to be just secondary
	  to the $forth_name: makes for single-digit serial numbers. :-)
	* s/xml_text_*/xml_strstr_*/
	* s/xml_node_append_new/xml_node_append_node_new/
	* s/xml_node_append_new_data/xml_node_append_node_new_data/
	* s/xml_node_append_text/xml_node_append/
	* enhance xml_node_append with <*%p/ = attribute_list_copy
	  support to make formatted tree_append more powerful - then go
	  to pdoc-pfe and replace these parts which should enhance the
	  readibility and maintainability of that code part considerably.

2003-02-17 "0.7.16" <guidod@gmx.de>
	* add warning_default_pkgconfig
	* defaulttext for synonyms
	* oops - where is the export_value to attribute detection...
	* introducing vararg append_text to appends nodes and text
	   snippets at the same time using a compact syntax.

2003-02-14 "0.7.15" <guidod@gmx.de>
	* change makefile for "doc" files - to make them all somewhat
	   look like html and bind them together with a common navbar
	   into a complete website
2003-02-13 "0.7.14" <guidod@gmx.de>
	* complete <link> detection - all "=>" parts are not detected
	   and largely resolved as well.
	* xml_pdoc_c_doc reimplemented - does now properly recognize
	   alternating multi-line sections of <para> and <screen>.
	* cleanup cblocks messing up doc section

2003-02-13 "0.7.13" <guidod@exgate.tek.com>
	* implement <link> detection and link-resolution
	* implement indexTerm generation - the microsoft htmlhelp compiler
	   can not stand it, it has a fixed maximum of 1500 entries.

2003-02-12 "0.7.12" <guidod@gmx.de>
	* implement the speedup-variant for the report generation using
	   an index-list for the cblocks we want to merge into the output
	   (... it happens to be too fast to implement sth even quicker)
	* fcodename gets to know again about number-to-name conversion
	* docbook generation - after lots and lots of trial and error,
	   I found a layout that gets rendered nice for both html and troff

2003-02-11 "0.7.11" <guidod@exgate.tek.com>
	* expand configure/make to allow binding of extra forth sources
	   from the mforth source tree
	* make-max will then build the complete words.xml / wordsets.xml
	   file and the words.docbook of course : 1179 refentry parts
2003-02-11 "0.7.10" <guidod@gmx.de>
	* merge tek tree with pub tree
	* output words.xml integrated

2003-02-10 "0.7.9" <guidod@gmx.de>
	* xml_pdoc_pfe_wordsets_2_words_reference
	* xml_node_remove needed
	* xml_node_foreach needs a fix: what if the "node" gets removed?

2003-02-09 "0.7.8" <guidod@gmx.de>
	* create doc/pfe/wordsets2words.pl
	* xmlto html-nochunks of the result

2003-01-11 "0.7.7" <guidod@gmx.de>
	* change every instance of GList* into using xml_GList* instead
	* make xml_GList union s/item/data/ and the enclosed gpointer
	  gets s/data/pointer/
	* bin/xml-c-pfe-doc to print the report format (wordset/exports/doc)
	* actual changes to support pfe report generation
	* try `make wordsets.html` to see

2003-01-10 "0.7.6" <guidod@gmx.de>
	* the readability got lost - let's change the naming scheme :-)
	* renaming header files (oops) basically inverting the naming scheme.

2003-01-02 "0.7.6" <guidod@gmx.de>
	* trigger also at "." since it occurs quite often as firstchar
	   in regex things - at the same time it is not used for a
	   key value in xpath syntax.

2002-12-31 "0.7.6" <guidod@gmx.de>
	* s/xml_g_strstr/xml_g_strstr_len/
	* introduce xml_g_strstr with 3 arguments - and make use of it.
	* regex only triggered if strchr("^(?+|\\", firstchar)
	    atleast now in xml_path_nodes_list/foreach functions
	* note that neither "+key" and "^key" must match up to the end.
	* xml_path_nodes_add: s/xml_tree_nodes_/xml_path_nodes_/

2002-12-30 "0.7.5" <guidod@gmx.de>
	* move aux files into use/ subdir
	* remove GNU/NOGNU fuzz about cd-and-build 
	  gmake does it right and notices the "cd" as if calling "-C"
	* s/xml_path_nodes_/xml_tree_nodes_/ and want to de-write it into 
	    routines that do not understand xpath separators - they
	    will only check for a single element of an xpath.
	* s/xml_pcre_nodes_/xml_path_nodes_/ and will make it the only
	    routine to understand xpath syntax - the pcre mode is
	    only triggered when asked for with "(" as described now.
	* s/xml_path_text_to_attribute/xml_tree_nodes_text_to_attr/
	* s/xml_path_attribute_to_text/xml_tree_nodes_text_restore/
	* s/xml_pcre_text_to_attribute/xml_path_nodes_text_to_attr/
	* s/xml_pcre_attribute_to_text/xml_path_nodes_text_restore/
	* hmmm, okay, need to decide it differently:
	    A = strcmp match
	    * = strstr match
	    ( = pcre match complete (makes extra match on complete)
	    ^ = pcre match (implicitly) anchored subportion 
	    ? = pcre match complete
	    + = pcre match subportion
	    | = pcre match complete also-empty
	... and need to change the `make check` tests as well, with
	this specifications however it can be turned into the new
	world by adding a "?" in front - so that "//K+" does simply
	become "//?K+" to trigger a pcre complete, and the current
	pcre "//*K" must be written now as "//+K" to match again.
	* for the current tarball however, we prepare it by just
	  adding (!!) "+" notification to all the pcre-routines
	  that do currently interpret "*" and then we move over the
	  current pcre calls and: (a) add "?" or (b) make "*" -> "+".
	* and last not least, add scrollkeeper registration.
2002-12-10 "...."
	* adding TEXTMINING doc to provide links to projects in a
	   nearby domain of text analysis, text retrievial and
	   text visualization.
2002-12-07 "...."
	* reading up with the xpath2 specification, I do derive a
	   behaviour change to be interesting. The current node_match
	   functions of strstr/strcmp style and prce/anchored are
	   collapsed. The strstr/strcmp style behaviour survives
	   largely, but pcre gets only enabled if the first character
	   of a match-part happens to be a "(" subpattern character.
	   The user is free to make that a "(?:" to not get listed
	   in the ovector pattern return table.
	* this will likely speedup operations as well: on an xpath
	   foreach/list detection, the usual parts will be matched
	   as strcmp/strstr style while only specific subportions
	   will be compiled as pcre and checked on a loop.
	* furthermore it makes maintainance easier since only one
	   group of foreach/list routines exist. However, lot's of
	   example code needs to be changed in consequence as well.
	* The "(" detection makes it also easier to derive the end
	   of a pcre pattern by looking for the matching close-")"
	   paren. That makes pattern detection more save and simply
	   intuitive to the user.
	* While being there, '".."' subportions of matches might need
	   to be checked as well - that's for @attrib="value" checks.
	   Shall we also mandate that @attrib=value means '=~' ?? hmm.
	* All these changes have to wait up until next thursday however.
	* Summary: check the first char of a node-match:
	     case "(": compile as /x pcre and match the node-name or
	               attrib-name - as anchored match (as default).
	     case '?': shorthand for not-anchored not-empty pcre
	     case '\\' shorthand starting an anchored pcre /x pcre
	     case "*": use strstr on the node-name/attrib-name
	     default:  use strcmp on the node-name/attrib-name

2002-12-05 "..." <guidod@gmx.de>
	* expanded XPATHDEF with comparisons on xpath selections and
	   it postfix/prefix expressions.

2002-12-04 "xmlg 0.7.4" <guidod@gmx.de>
	* nodeattr.h - remove usage of xml_node_attribute_foreach from
	   any of the lib files.
	* pdoc-cpp - put "-J" as "J text='saved'" markups, that's better
	   visually in highlighted text. It still removes the "*"-star
	   but leaves whitespace thanks to xml_node_save_text_to_attribute
	* nodeattr.c - remove all xml_node_attribute_foreach* functions
	* insterestingly the markup scripts do now run *faster*, it seems
	    the overhead for the indirect-call in the foreach functions
	    was not liked on pentium. And the grep_attributes does now
	    have the chance to "break" on the first hit, another speedup. 

2002-12-03 "xmlg 0.7.3" <guidod@gmx.de>
	* nodeattr.h missing in xml/Makefile.am, so it got not tarred.
	* cleanups w.r.t. pre-C99 compilers
	* some ln -s needs to be cleaned up
	* a number of build cleanups
	* adding doc/pfe - and have special handling for the in-project
	* pdoc-pfe gets expanded with export-name as a prerequisite for
	   making a pfe wordset report
	* doc/pfe/pfe.xml via bin/xml-c-pfe-cat to combine all sources
	   into one big master file.
	* printing the master file does not work - is that an OOM ?
	* printing the pfe.xml does work now - it was a bug in the dump
	    routine where the case of an null.text root node was not 
	    handled correctly, it is now. btw, the pfe master xml from
	    1MB sources will be 5MB in full xml, and converting it to
	    css html makes it 10MB. However, those conversions range
	    in 1..10 seconds - the xm-tool.sf.net did require about
	    30..50 minutes - about 100 times longer!!

2002-12-01 "xmlg 0.7.2" <guidod@gmx.de>
	* xml_node_attributes_copy(node) -> xml_attr_list_copy(node->attribs)
	* GNode->attributes becomes an xml_AttrList
	* severely shorten nodeattr.* by reusing attrlist.* functions
	  and get rid of its _G/_L casts which are not needed anymore
	* it seems to be working, hooray! err, as different to 7.0 excercise

2002-12-01 "xmlg 0.7.1" <guidod@gmx.de>
	* attrlist.h added - that's more special than glist.h
	* attrdata.h takes the common part of attrlist.c and nodeattr.c
	* nodeattr.c does now include attrdata.h and gets converted
	     atleast for using xml_attr_data_new/free

2002-12-01 "xmlg 0.7.0" <guidod@gmx.de>
	* glist.h added - not very useful up to here.
	* rename xml_g_node_attribute_* into xml_node_attribute_*
	* changing over to xml_GList* attributes did not work however,
	      I am too tired of the day obviously... switched back
	      and tarred what has been there so far.
2002-11-30 "xmlg 0.6.9" <guidod@gmx.de>
	* doc added: NODEMODEL and XPATHDEF
	* doc dir added: doc/bin to highlit bin examples
	* fix various packaging problems
2002-11-29 "xmlg 0.6.7/8" <guidod@gmx.de>
	* xml_pcss-scanning did not work on missing ";" at end of proplist
	* nodenext gets helper routines xml_test_name_ and friends that
	  shall replace ALL instances of strcmp/strstr currently around.
	* rename-tree goes through helper functions to differentiate 
	  between html and xml output.
	* doc/xml subdirectory to take html'ized sourcecode - actually
	  a realworld test for the current css-to scripts. And an
	  example of what a simple hypercss transformation can look like.
	  NOTE: the current order of SUBDIR evaluation is wrong, the
	  toplevel executables should be moved into their own subdir but
	  that is left for the next release.
	* xml_node_group_outer_alias for nodeaddds.*, as we want it for
	* html-func to intelligently set the "mark" and also add outer
	  markup to nodes, both depending on the "display" attribute.
	* sereious bug in _cblock-markup routine - obviously the following
	  C construct does not (!!) loop - it might be a bug, but, well..
	   do { gchar* p = memchar(...); if (p) continue; } while (0);
2002-11-27 "xmlg 0.6.6" <guidod@gmx.de>
	* xml-css-tree test-program to show the result from
	* xml_pcss_prop_list_from which makes a SELECT copy of
	   prop_head and its prop_value's into its own xml list.
	* nodecopy has now a test routine (however, not the new
	   shadow_copy routines, just the append_copy routines).
	* xml_pcss_rename_proc does actually work now
	* xml-css-to does actually work now in consequence, too,
	   that is that it does rename elements according to a css
	* ee.css as an example and `make check-rename` to show you
	   to use it. It's not included in an automatic check however.
	   Note how "C" elements are transformed but the latest "C"
	   is different for being in an when-inside rule.
	* ... do we need to sort by "specificity" of css rules?

2002-11-27 "xmlg 0.6.5" <guidod@gmx.de>
	* nodeattr - oops, sorting was in wrong order, I did change
	    that during debugging last time, and did not reverse it.
	* check - routines need to be adapted to new order, of course
	* have.a.look at `./xml-css-read e.css`, the sorting of
	    attributes makes things look better.
2002-11-27 "xmlg 0.6.4" <guidod@gmx.de>
	* xml_attr becomes its own type - and gets its own header file
	    basically, we change the implementation type from a
	    g_hash_table<str,str> into g_list<attr> and attr is 
	    a struct mostly not to be used outside.
	* to.clarify - most nodes do not even have a single attribute
	    and then just one and so on. we just keep a sorted GList
	    for these - and it make it rightly easier to walk and
	    join these.
	* check-routines should only be dependent of the binaries
	    they are about to use in their test - that is possible
	    since we have each of it with the .la dependency and
	    a rule that can recures into xml/. for make those.
	* oops - since we have alphabetic order, the .out mgiht
	    sometimes just be different

2002-11-27 "xmlg 0.6.3" <guidod@gmx.de>
	* _hard_life_ - work interrupted by the death of my father,
	     he died unexpected from an silent heart attack. Stupid
	     laws do not allow to pull the plug from the breathing
	     machine to let him die the way that humans die. That's
	     because most of YOU have not yet been thinking about
	     the possilibility that it might be YOU to be in his
	     place and being held back on earth for hours instead of
	     being allowed to enter the light. Give it a minute!

	* index.html - generated automatically with content of README
	* README - wording slightly corrected but still not up to date.
	* xml/nodecopy.* added to own functions for copying/renaming
	* xml/node*.h - fix once-def which is still XML_G_* someplace
	* xml/nodeadd - add "=attrib" syntax to add9 - needed for the
	                css selector scanning. Furthermore, we add
			multi attribute insertion on "=" separator.
	* xml/pcss-src - scan selector syntax to prop_head attributes
	      ... here you can already see the class<->mark relation.
	* e.css - for testing ./xml-css-read and see what I mean...

2002-11-23 "xmlg 0.6.3" <guidod@gmx.de>
	* HYPERCSS document added
	* xml-css-to wrapper added
	* xml/pcss-proc.* added to own the work functions for hCSS
	* xml/pcss-src needs to skip "<!--" at the start of a css spec

2002-11-21 "xmlg 0.6.2" <guidod@gmx.de>
	* create pcss-src.* files and routines along with a test prog
	    named xml-css-read.
	* pcresave needs the ability to specify the fillchar
	* pdoc-cpp use another fillchar and correct _cblocks routine
	* css scanning is brought to a state of having nodes with
	     <prop_value prop="name" media="media">..</prop_value>

2002-11-21 "xmlg 0.6.1" <guidod@gmx.de>
	* create libxmlglib.pc and libxmlpcre.pc files for lib/pkgconfig
	* install also xml/xmlglib.h and xml/xmlpcre.h header files
	  autogenerated from library header information for automake
	* rename pcresrcs pcrecdoc and pcrecpfe into 
	         pdoc-src pdoc-cpp and pdoc-pfe and adapt the function
	         names from xml_pcre_ into xml_pdoc_ - however leave
	         these sources as part of libxmlpcre as they do not
	         fatten that lib all too heavily
	* update xmlg.spec file accordingly (forgot includes there)
2002-11-20 "xmlg 0.6.0" <guidod@gmx.de>
	* rename xml/xmlg* into xml/node* which clarifies things and
	  makes it more readable.
	* rename a lot of routines named directly as "xml_g_<method>_"
	  into "xml_tree_" for clarification. Everything that is 
	  not particularly a helper routine for node-handling gets
	  renamed from xml_g_node to xml_node. The xml_g_node_*'s are
	  now only for juggling node fields at the toplevel.


	* rename and modify node_parse routines - they expect a gstring
	  as an argument, and only if that is left null then a new one
	  is allocated - otherwise the parsed text will be added to the
	  end of that gstring and alls offs of nodes made related to
	  that gstring.

          xml_g_node_parse                xml_g_markup_parse_text
          xml_g_node_parse_file           xml_g_markup_parse_file
          xml_pcre_node_parse             xml_g_parse_text
          xml_pcre_node_parse_file        xml_g_parse_file
          xml_g_node_text_file            xml_tree_node_from_file

	* gerror - in the process, add gerror helpers to the main
	  programs where noticing they are not used yet.

	* nodenext - add macros that are renames of the str-check funcs
	      as    xml_node_match_eq_ == !strcmp
	      and   xml_node_match_as_ ==  strstr
	   and go through some files placing these quick ones where
	   possible to speed up things even more than the lib itself
	   does by design.  ... and do a similar thing for the two
	   xml_node_hasnextnode_as_ and xml_node_hasnextnode_eq_.
	* nodenext
	   add the two xml_node_not_match_eq_ and not_match_as_
	   which are capabable of checking arg node for null. And
	   some quick ones for xml_node_notnextnode_...
	* ...next ... arg, shut up, and just rename all those calls
	   from xml_node_match* to xml_node_hasname* and of course
	   node_not_match being node_notname ... and node_next_match
	   as node_next_with_name
	* and now make xml_node_text_empty/match into what it should
	  have been in the first place: xml_text_empty and 
	  xml_text_match and do not forget xml_pcre_match..
	* corrige <br>'s in commentblocks - and make item_bloc the
	  default for pfe-read routine in order to get at nice
	  line-info in the item markups
2002-11-19 "xmlg 0.5.9" <guidod@gmx.de>
	* did work a a lot on actual markup routines examing the text
	  and markup tree - folded into pcrecdoc and a newer cousin
	  pcrecpfe. In the course some helper routines were added.

2002-11-18 "xmlg 0.5.7" <guidod@gmx.de>
	* pcreadds - rename xml_pcre_add_ functions to be named
  	  xml_pcre_nodes_add_ since they actually make a path
	  selection on nodes instead of handing over a specific
	* xmlgnext - remake xml_g_name_match0 (RE, text, off, end)
	  into xml_g_text_match0 (text, off, end, RE). The same for
	  pcrenext. That shall be the rule - instead of g_node with
	  one leading arg it is now g_text with three args being in
	  up front on the call stack.
	* stroustrup - walk through all library texts and add an
	  emacs footer for c-file-style: "stroustrup".
	* pcrenext - add xml_pcre_text_match_add9 which does hand
	  over the match-vector to xml_g_add9 for markups.

2002-11-12 "xmlg 0.5.6" <guidod@gmx.de>
	* pcrecdoc - adding more routines - the C text is now even
	  separated into itemcdoc/itemcdef sections which are the
	  ones we want to scan later for information.

2002-11-12 "xmlg 0.5.5" <guidod@gmx.de>
	* xmlgdump.*/pcredump.* - need to spit out entities for xml
	  reserved chars. Use helper called xml_g_string_append in 
	  the place of g_string_append_len (g, node->text->str...)
	* pcredump.*...etc - rename xml_g_to_xxml into a word named
	  xml_g_dump_to_xml since it can also handle xml_g_dump as
	  an output. And it reads better. Likewise we rename the old
	  xml_g_to_xml into xml_g_node_to_xml to clarify things.
	* xml/gerror.* - make printf-format for xml_g_show_error
	* fix.exmaple.programs using the new techniques

2002-11-12 "xmlg 0.5.4" <guidod@gmx.de>
	* rename some API entries, do not call it xml_g_xpath but now
	    xml_path_, actually kill the use of _xpath_* completly in
	    the sources, and try to make it path_nodes or pcre_nodes
	  xml_g_xpath_* -> xml_path_nodes_*
	  xml_pcre_xpath_* -> xml_pcre_nodes_*
	  xml_g_xpath_attribute_to_text -> xml_path_attribute_to_text
	  xml_g_xpath_text_to_attribute -> xml_path_text_to_attribute
	  xml_g_xpath_inside -> xml_path_node_inside
	  xml_g_xpath_node -> xml_path_node
	  xml_g_strdup_xpath -> xml_path_strdup // xml_path_flags_t

2002-11-11 "xmlg 0.5.3" <guidod@gmx.de>
	* xml/xmlgsave.* rename to xml_g_node_move_attribute_to_text
	* xml/pcresave.* derive an xml_g_node_save_attribute_to_text
	  function that does leave the control characters in the text
	  array and make these places chars in the attribute. This 
	  looks a lot nicer in an xml dump and makes it slightly
	  better suited for pcre matching. However, this save routine
	  is a lot slower than just doing memcpy in xmlgsave.*
	* make-check-attribute-saved added	
	* xml/pcrecdoc.* adding xml_pcre_c_blocks to markup <block>s.
	  also an example to use pcresave.

2002-11-11 "xmlg 0.5.2" <guidod@gmx.de>
	* xml/gerror.* fixing overwritten message
	* xml-test-error to test error handling
	* Makefile.am adding `make -C` generation rule for libxmlglib.la
	* xml/gerror.* use g_critical: g_error is always fatal *sigh*
	* xml/xmlgsave.* save a text area to some attribute - and of course
	  its restore function to paste it back. That's best if some string
	  literals would interfere with a pcre match on a text area.
	* xml/pcresave.* their pcre-path variants used for the two new
	  test functions ./xml-attribute-saved-and-bank and its cousin

2002-11-10 "xmlg 0.5.1" <guidod@gmx.de>
	* xml/gerror.* and adjust all files to use xml_g_error calls.
	* xml/gstrfuncs.* to hold helper functions around charstrings.
	* ChangeLog added - needs to be maintained now
2002-11-09 "xmlg 0.5.0" <guidod@gmx.de>
	* moved lib sources to subdirectory "xml"
	* install lib headers to subdirectory "xml"
	* xml/gnode.* as renamed from xmlgnode.*
	* xml/gmarkup.* as renamed from pcremark.*
	* xml/gconfig.h instead of pkg-config.h - and install it along.
	* adjust everything to the new subdir "xml"
	* create rpm files - fixing relink error from libtool

2002-11-09 "xmlg prior" <guidod@gmx.de>
            253333 Nov  9 21:17 xmlg-0.5.0.tar.gz
            248334 Nov  9 03:00 xmlg-0.4.9.tar.gz
            243637 Nov  8 15:28 xmlg-0.4.8.tar.gz
            242032 Nov  8 14:16 xmlg-0.4.7.tar.gz
            241065 Nov  8 03:27 xmlg-0.4.6.tar.gz
            239921 Nov  8 00:11 xmlg-0.4.5.tar.gz
            226668 Nov  7 06:08 xmlg-0.4.4.tar.gz
            225742 Nov  7 02:00 xmlg-0.4.3.tar.gz
            221376 Nov  6 20:20 xmlg-0.4.2.tar.gz
            219541 Nov  6 20:20 xmlg-0.4.1.tar.gz
            215318 Nov  6 05:21 xmlg-0.4.0.tar.gz
            213173 Nov  6 01:13 xmlg-0.3.9.tar.gz
            212311 Nov  5 04:16 xmlg-0.3.8.tar.gz
            210538 Nov  5 00:35 xmlg-0.3.7.tar.gz
            210337 Nov  4 22:02 xmlg-0.3.6.tar.gz
            208557 Nov  3 18:46 xmlg-0.3.5.tar.gz
            206990 Nov  3 05:10 xmlg-0.3.4.tar.gz
            203711 Nov  3 01:17 xmlg-0.3.3.tar.gz
            202563 Nov  1 20:44 xmlg-0.3.2.tar.gz
            202501 Nov  1 18:01 xmlg-0.3.1.tar.gz
            201531 Nov  1 06:13 xmlg-0.3.0.tar.gz
            200830 Nov  1 04:58 xmlg-0.2.9.tar.gz
            199799 Nov  1 03:08 xmlg-0.2.5.tar.gz
            199160 Nov  1 02:06 xmlg-0.2.4.tar.gz
            197821 Okt 31 22:01 xmlg-0.2.3.tar.gz
            196847 Okt 31 18:06 xmlg-0.2.2.tar.gz
            194934 Okt 31 04:12 xmlg-0.2.1.tar.gz
            193136 Okt 30 22:56 xmlg-0.2.0.tar.gz
            192639 Okt 30 21:40 xmlg-0.1.9.tar.gz
            192536 Okt 30 20:18 xmlg-0.1.8.tar.gz
            191336 Okt 30 17:21 xmlg-0.1.7.tar.gz
            189904 Okt 30 03:25 xmlg-0.1.6.tar.gz
            187762 Okt 29 23:17 xmlg-0.1.5.tar.gz
            188522 Okt 29 18:18 xmlg-0.1.4.tar.gz
            186896 Okt 29 10:51 xmlg-0.1.2.tar.gz
            176765 Okt 21 03:02 xmlg-0.1.1.tar.gz