I've just taken the last cvs version of OCC. I've seen that you insert some classes to handle XML ( LDOM ). These classes are independant ( just need TKernel ). But they are in the TKCDF toolkit.

Can you not move then into TKernel ?

BTW, a general comment on OpenCASCADE : who takes care on the package organisation ( what goes where ). I've seen the problem with other packages ( see )

Thanks in advance,


Alexander Grigoriev's picture

Dear Stephane,

The package LDOM (stands for Light DOM) was published in the developer version quite recently. It has some distinction from other DOM parsers and implementations:

1. DOM Level 1 is supported partially.

2. DOM implementation (as well as the parser & formatter) is designed to give the maximum performance - the maximum speed at minimal memory requirements with large amounts of data.

Currently LDOM is used for a sole purpose - as a component of the new XML OCAF persistence, so it will be normally used when an OCAF application reads/writes its documents in XML. That is why it was chosen to include LDOM in TKCDF.

On the other hand, TKernel is a little bit too heavy and in my opinion it is only worth to add there the packages which are of common usage. In other words, when there are applications using LDOM for direct reading/writing XML beside the XML persistence of OCAF documents, we shall reconsider the packaging. Here I take into account that the people can use other opensource implementations of DOM which may be more sutable - for example when a DTD validation is desired during XML parsing.

Let me assure you that the questions of packaging are always considered with any new sources. I am also pleased to know that you are interested in LDOM, not the least because I have some plans to improve it. So I am open for any ideas or contributions.

Best regards, Alexander

S. Routelous's picture

Hi Alexander,

Thank you for your answer. I understand the problem, but if I want to use the LDOM package, I need to link my app witk TKCDF, and the amount of libs used is very big.

So I will need to compile it alone in another lib, but I will not use the official distrib anymore, and that is not very good.