NOTE: 
  - the head of this module is package libxml-2 . There is incompatibilities
    with the old libxml-1 headers. I posted on gnome-hackers a recipe to
    change your code to compile with both, check it out ! Also read
    http://xmlsoft.org/upgrade.html
  - in the meantime the old 1.x code has been tagged with LIB_XML_1_BRANCH
    extract this version and drop me a mail if you want me to take care of
    the update of your module to libxml-2 <daniel@veillard.com>
  - the 1.x branch has a separate commit policy, please check the HACKING
    file for this branch

     Rules for commits on the gnome-xml module
     =========================================

If what you are patching is a non-compilation issue either at compile
time or linking time on one of the main Linux platforms, then feel free
to patch first and send mail afterward as long as the change is limited.
Please keep in mind that a large part of my user base is on Windows, so
be careful with potential portability problems there.

Otherwise, send me (veillard@redhat.com) a mail and if it's a bug
issue, register it at bugzilla.gnome.org (module libxml). I check both
my mail and the bug database on a regular basis. If you don't get an
answer within a week (which is highly unprobable) then commit your changes.
This simply mean that I'm on holliday or on the road.

  thanks in advance for following the rule,

Daniel

P.S.: Bjorn Reese, William Brack and Thomas Broyer get an exception for
      the send before commit rule as well as John Fleck for the doc subdir

