Re: Replacing expat with libxml
| From: | Christian Stocker | Date: | Mon, 28 Apr 2003 07:35:37 +0000 |
| Subject: | Re: Replacing expat with libxml | ||
| References: | 1 | Groups: | php.internals php.xml.dev |
| Request: | Send a blank email to internals+get-1061@lists.php.net to get a copy of this message | ||
On Mon, 2003-04-28 at 00:32, Sterling Hughes wrote:
> Hi,
>
> After some discussions with various people at the PHP-Con, I decided it
> was important that we (at least) have libxml integrated with PHP by
> PHP5. When it comes to XML processing, expat is a legacy library and it
> doesn't support nearly what is required for processing XML by todays
> standards.
I'm still no big fan of bundling libxml2 with php, but if there's a
consensus that it should be bundled, so be it, _if_ anyone takes the job
of merging the constantly updated libxml2 sources into the php-tree. On
the other hand, wouldn't it be enough, if it's bundled in the
downloadable sources and not put into CVS?
> On the other hand libxml is a very robust xml processor, providing
> support for:
Just for your information: Rob Richards is currently working hard on the
new domxml extension, which follows the DOM Standard much better than
todadys domxml. Furthermore it will also have better memory management.
I think, it's soon in a state where we can put it into CVS.
We were also talking about a new name for this new extension as domxml
is quite missleading (as Sterling said, libxml2 can do a lot more than
just DOM processing). Any thoughts about that?
chregu
>
> - XML Schema
> - DOM
> - Validation (against a DTD or Schema)
> - SAX
> - XML Catalog
> - Docbook and HTML Parsers
> - XPath, XPointer, XInclude
> - Base XML datatypes (XML Schema Part 2)
> - FTP and HTTP transports (as well as an IO wrapper library like
> Streams)
>
> I've currently completed the first two steps of the integration. I've
> removed the expat library from ext/xml and replaced it with libxml.
> I've also ported the XML extension to use libxml as the underlying
> processing engine.
>
> The following incompatibilities exist:
>
> 1) some XML_ERROR_ * constants are irrelevant (they are stilled defined,
> but they have no meaning for libxml).
> 2) xml_error_get_string() just returns a blank string. This can be
> changed in the next couple of days, i just need to implement error
> strings ontop of libxml error codes.
>
> Having this library bundled internally will allow people to develop
> other extensions which use libxml features, and will allow for future
> extensions (for example, a fully compliant DOM extension) to easily be
> added, without requiring extra bundling.
>
> Thoughts?
>
> -Sterling
>
> --
> "The computer programmer is a creator of universes for which he
> alone is responsible. Universes of virtually unlimited complexity
> can be created in the form of computer programs."
> - Joseph Weizenbaum
--
christian stocker | bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich
phone +41 1 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71
http://www.bitflux.ch | chregu@bitflux.ch | gnupg-keyid
0x5CE1DECB