[Home] [By Thread] [By Date] [Recent Entries]



>>However, there are problems anyway because a class that implements the DOM
>>Node interface in JDK 1.4 won't compile under JDK 1.5.

What's at issue here is the difficulty of modifying interfaces in 
general, but I don't think the problem is quite as insurmountable as Dr. 
Kay does.

Briefly we have two versions of the same interface, version 2 and 
version 3. Version 2 has methods A and B. Version 3 has methods A,B,C, 
and D. If we use version 3 in a system that expects version 2, then all 
the version 2 implementations will have methods A and B but not methods 
C and D, which are required to implement the interface. This is a 
compile-time or runtime error depending on various factors.

The saving grace is that there's usually nothing to prevent a version 2 
implementation from also providing the methods required by version 3, 
even though it isn't required to in a version 2 system. In this case, 
the Saxon classes could add the extra methods required by DOM Level 3 
because the DOM Level 2 methods are a minimal set, not a maximal set.

In other words a typical class that implements the DOM Node interface in 
JDK 1.4 won't compile under JDK 1.5 because it will be missing new 
methods added in DOM3. However, I think this could be repaired without 
breaking Java 1.4 compatibility.

Am I missing anything? Is there anything more incompatible than 
additional methods like a method signature change to worry about?

-- 
Elliotte Rusty Harold  elharo@m...
XML in a Nutshell 3rd Edition Just Published!
http://www.cafeconleche.org/books/xian3/
http://www.amazon.com/exec/obidos/ISBN%3D0596007647/cafeaulaitA/ref%3Dnosim

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member