> Sometimes a programmer must also think about the weight of the final program
> and then make choices, otherwise he would include all the libraries to
> prevent any eventuality or need or better performance. The library "XHB"
> includes some useful features and then, without prejudice to the previous
> point, add another library would unnecessarily swell the final program.
> Probably, hbmxml.lib is a better solution I don't know at this moment.
Or hbexpat. Both have much superior xml implementations
than xhb lib. If you have any choice, drop xhb lib and replace
it with tier-1, non-compatibility libs. xhb is a compatibility lib
which doesn't hold the quality/design constraints of Harbour,
in fact these functions are kept separately exactly because
of that.
> Very personal point of view (not strictly related to the subject): only
> those functions that are the heart of Harbour should be prefixed with "hb_"
> while all the functions of the contrib libraries should have their prefix, I
> mean, for example, hb_qwith is a "XHB" function but seems to be part of
> Harbour at the same time hb_crypt and so on.
There is no such rule that only core functions may get
the HB_ prefix. There are certain situations when HB_
is valid in contribs, f.e. for non 1-to-1 wrappers in a
wrapper lib, or extensions in a compatibility lib, or the
wrapped API doesn't have namespace. But, it should
be rather the exception than the rule.
You can also find examples where HB_ prefix is wrongly
used, but we have to keep it for compatibility:
XHB, HBMISC, HBZIPARC.
> I read and understand but I have another problem: how can I read a xml file
> from the beginning to the ending (add: without knowing a starting tag)?
I recommend the user's mailing list for this topic.
-- Viktor