OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

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

Re: Place under sun (was: XPointer and Sun patent)


Mike.Champion@SoftwareAG-USA.com wrote:

> First, the DOM is *defined* in OMG IDL, not any specific language.
> The DOM supplies ECMAScript and Java bindings as a convenience, since
> the overwhelming majority of DOM applications were assumed to be in
> one of these two languages ...

Speaking of interoperability, OMG IDL definitions are useless without
explicitly specified language bindings. 

For example, an application which is implemented in Java and is using
DOM, can use any available Java package which implements DOM, given that
both the application and the package are based on DOM Java bindings
specified by W3C recommendation.

And quite opposite, various vendors providing C++ implementation of DOM
will likely implement very different C++ interfaces for the same IDL,
and there would not be possible to write an application in C++ which is
not dependent on any particular C++ library implementing DOM.

> As for why the W3C (or in this case the DOM WG) did not follow the
> "common practice" of defining Ada, COBOL, C++, etc. bindings ... the
> simple reasons are lack of resources, lack of demand, and difficulty.

It is not too difficult and it does not require that much resources to
provide binding, say, for C++ (see the next section of this document).
Speaking of demand, today there are about 117'000 sites on the Web that
mention "XML" and "C++" but not "Java" (try http://www.google.com). This
means that there is no lack of demand, at least among the Web community.

> And given C++'s lack of automatic memory management,
> it would have complicated the API for all bindings to have had to
> address it for C++. 

This is simply not right. The alleged superiority of Java in memory
management is a common myth. In C++ you can do with memory anything you
like, even provide the garbage collected memory management (see, for
example, http://reality.sgi.com/boehm_mti/gc.html).

Of course, garbage collection is not needed for implementing DOM. There
are some very simple methods, like pointers to reference-counted
objects, which work pretty well. With these methods, implementation of
DOM binding for C++ is a straightforward process, and resulting class
C++ declarations are as simple as those created for Java. All memory
management stuff is hidden behind class declarations; the application
programmer never cares about memory deallocation.

I know this exactly, since I had implemented DOM binding for C++ as part
of Unicorn XML Toolkit. The complete API documentation for this toolkit
will be published at Unicorn Web site next week, and you will see
yourself that there is nothing specifically complicated in C++ API for

> Finally, for better or worse the W3C is a consortium of
> competing/cooperating vendors, not a "standards body."  It devotes its
> resources in ways that most directly meet the needs of the
> membership.  Since "de facto standards" are what it produces ..., 
> I doubt if very many W3C members care very much
> that its Recommendations reference other quasi-standards such as
> Java ...

... in the other words, W3C is working for the benefit of its members.
Unfortunately, this simple statement is not included in preambles of W3C
recommendations, and some naive individuals still beleive that the
principal goal of W3C is creation of public, vendor-independent,
interoperable Web-based technologies ...

Kind regards,