libxml1 in gnome 1.4



  Confronted to the following facts:
    - we need a conformant XML parser in Gnome 1.X and can't wait for 2.0
    - a number of applications relies on the broken behaviour of the 1.8.11
      libxml release
    - there is clearly not enough time nor willingness to clean up those
      applications
    - it's not possble in practice to link apps willing a conformant
      XML parser with libxml2

 I was left with the only choice of providing both parsers in a libxml1
release. I have commited a new set of changes to LIB_XML_1_BRANCH CVS
branch of gnome-xml, they do the following:
    - keep the backport of 2.3.5 XML parser done last week
    - replugged the old 1.8.11 XML parser as a new module, changed
      all the function names, make them static except 3 entry points
    - provided an entry point int xmlUseNewParser(int val) allowing
      to switch on an application wide basis between the new and the
      old parser.
    - changed the inititialization code to make the old 1.8.11 XML
      parser being used by default, but allowing environment variables
      LIBXML_USE_NEW_PARSER and LIBXML_USE_OLD_PARSER to override the
      default value.

 I tried nautilus and galeon with it. Seems they both worked.
Galeon did show the title of my ISO-Latin-1 bookmarks title as usual, and 
the UTF-8 brokeness when launched from a shell with the environement
variable LIBXML_USE_NEW_PARSER set.

  I hope this will allow to go forward on this issue, basically by
not breaking apps using the old behaviour and allowing people to test
and port their apps easilly to the correct version. Programs which
have been fixed will require the new version of the library and turn
xmlUseNewParser(1) at initialization time.

  I have uploaded a new set of test versions at ftp://xmlsoft.org/test/
they are not considered released but there for allowing beta testing only.
I have a couple of concerns:
   - make distcheck doesn't work anymore I can't understand what changed
     to make this fail (it's not a configure nor a compilation/test error).
   - I may need to add a way to call the old parser even if for apps which
     switched to the new one in order to allow to load old config files
   - I need to double check the serialization code to try to fix the
     output (if possible, not sure it's doable) when having parsed with
     the 'legacy' parser.

  I honnestly think that this solution may allow a release of a new
libxml1 version even if done a posteriori after the final Gnome 1.4
release. It may not be part of the 1.4 platform but it should be part
of 1.4.1 and distributors should be allowed to ship it once it is
clear taht there is no side effects on legacy apps.

Daniel

-- 
Daniel Veillard      | Red Hat Network http://redhat.com/products/network/
veillard redhat com  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]