[xslt] libxml3



Hi Daniel,

I hope you are relaxed enough to speculate about libxml3!

If I remember right, there was already a statement of
intent, to not expose the xmlNode (et al) structure to
clients but let the former pointer be an opaque handle.

This inspires my question, whether you may want to
accept a mega-patch to make the structure opaque
to (nearly) all of libxml3 itself. So that about 2000 uses
of "node->next" (et al) would be replaced 
with "getnext(node)".

The default tree implementation can implement these
as macros, so that nothing changes in that case. But
we can have plugable tree implementations.

Whereas most of the 2000 changes would be rather
automatic, it would be useful to substitute some
occurences with more advanced accessors:

substitute
    if (cur->next != NULL)
        cur->next->prev = cur->prev;
    if (cur->prev != NULL)
        cur->prev->next = cur->next;
    cur->next = cur->prev = NULL;
with
  unlink (cur)

In effect tree.c would be split in a high level
and a low level part.

In addition to question "if", there's the
question "when would be a good point of time"
to do this.

Regards,
Peter Jacobi











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